Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Txt dosyası bulunamadı
#1
Merhaba, db yolunu "DBAdres.txt" alacağım fakat,
First chance exception at $74B41812. Exception class EFOpenError with message 'Cannot open file "C:\Users\Ahmet\Desktop\Projeler\Sistem Sqlite VCL\Win32\Debug\DBAdres.txt". Sistem belirtilen dosyayı bulamıyor'. hatası alıyorum bu sorunu nasıl çözerim???

procedure TForm3.DBAdresTxt(Sender: TObject);
var
  SList: TStrings;
begin
  SList := TStringList.Create;
  try
    SList.LoadFromFile(ExtractFilePath(Application.Exename) + '\DBAdres.txt');
    if fileexists(SList.Text) then // Klasör var mı?
    begin
      showmessage('Var');
    end
    else
    begin
      showmessage('Yok');
    end;
  finally
    SList.Free;
  end;
end;
Cevapla
#2
   SList.LoadFromFile(ExtractFilePath(Application.Exename) + 'DBAdres.txt');

olarak dene
Cevapla
#3
(28-12-2018, Saat: 20:56)meko Adlı Kullanıcıdan Alıntı:
   SList.LoadFromFile(ExtractFilePath(Application.Exename) + 'DBAdres.txt');

olarak dene

Durumu fark ettim fakat siz benden önce cevap yazmışsınız  Big Grin 
Sorun txt dosyası yoksa, Sistem belirtilen dosyayı bulamıyor'. hatası alıyorum

procedure TForm3.DBAdresTxt(Sender: TObject);
var
  SList: TStrings;
begin
  SList := TStringList.Create;
  try
    SList.LoadFromFile(ExtractFilePath(Application.Exename) + 'DBAdres.txt');
    if Not fileexists(SList.Text) then // Klasör var mı?
    begin
      showmessage('Var');
    end
    else
    begin
      showmessage('Yok');
    end;
  finally
    SList.Free;
  end;
end;
Cevapla
#4
sıralama hatalı gibi, dosya var/yok kontrolünden önce slist'e load yapıyorsun
önce dosyanın varlığını kontrol et
varsa slist'e load yap
yoksa dosya yok mesajı ver
Cevapla
#5
Teşekkürler
Cevapla
#6
(29-12-2018, Saat: 01:10)okoca Adlı Kullanıcıdan Alıntı:
procedure TForm3.DBAdresTxt(Sender: TObject);
var
 SList: TStrings;
begin
 SList := TStringList.Create;
 try
   SList.LoadFromFile(ExtractFilePath(Application.Exename) + 'DBAdres.txt');

  if Not DirectoryExists(ExtractFilePath(Application.Exename)) Then 
 Begin
    // bu klasörünün varlığını kontrol eder, FileExists dosya varlığını kontrol eder 2 si farklı şeyler, 
    // sizin aşağıda klasör varmı yazısına istinaden yazıyorum.
 End;


   if Not fileexists(SList.Text) then // Klasör var mı?
   begin
     showmessage('Var');  // eğer if den sonra not tanımlarsan, yoksa olur, yani eğer dosya yoksa, sen burada var demişsin
   end
   else
   begin
     showmessage('Yok');
   end;


 finally
   SList.Free;
 end;
end;

ilginize teşekkür ederim sorunu çözmüştüm.


procedure TForm1.DBTxtAdres(Sender: TObject);
var
  dbYol: String;
  SList: TStrings;
begin
  SList := TStringList.Create;
  try
    if FileExists(ExtractFilePath(Application.Exename) + 'DBAdres.txt') then
    begin
      dbYol := ExtractFilePath(Application.Exename) + 'DBAdres.txt';
      SList.LoadFromFile(dbYol);
         databasebul := SList.Text;
    end
    else
    begin
      MessageLabel.Font.Color := clRed;
      MessageLabel.Caption := 'Databaseye bağlantı kurulamadı';
    end;
  finally
    SList.Free;
  end;
end;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Ses Dosyası Çalma OmerAsaf 2 254 14-01-2021, Saat: 17:48
Son Yorum: mrmarman
  ini dosyası okuma problemim. onurakman 14 3.019 20-05-2020, Saat: 00:26
Son Yorum: onurakman
  Exe dosyası web yayınlamak ismailt35 17 7.478 09-03-2020, Saat: 08:50
Son Yorum: vkamadan
  webbrowser nesnesi sayfa bulunamadı hatası klavye 2 1.970 01-06-2018, Saat: 16:55
Son Yorum: klavye
  Component Bulunamadı Mericx 2 1.894 16-06-2017, Saat: 11:55
Son Yorum: Mericx



Konuyu Okuyanlar: 1 Ziyaretçi