Dosya yolunu bulmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Dosya yolunu bulmak
Hayırlı Ramazan'lar
Konu başlığında belirttiğim gibi;
Dosyanın adını ve/veya uzantısını edit nesnesine girerek o dosyanın(klasör değil) yolunu klasör ve alt klasörleriyle birlikde getirebilirmiyiz?
Bunu Delphinin dosya ve dosyalama fonksiyonları adı altında internetde arattım ancak sonuca ulaşamadım. Delphi de böyle bir fonksiyonun varlığını
bilen dostum varmı? Yardımlarınız için teşekkür ederim dostlarım.
Konu başlığında belirttiğim gibi;
Dosyanın adını ve/veya uzantısını edit nesnesine girerek o dosyanın(klasör değil) yolunu klasör ve alt klasörleriyle birlikde getirebilirmiyiz?
Bunu Delphinin dosya ve dosyalama fonksiyonları adı altında internetde arattım ancak sonuca ulaşamadım. Delphi de böyle bir fonksiyonun varlığını
bilen dostum varmı? Yardımlarınız için teşekkür ederim dostlarım.
Re: Dosya yolunu bulmak
Merhaba,
Yapmak istediğinizi bir dosya aramak gibi anlıyorum ancak emin olamadım.
Sorunuzu daha net şekilde ve mümkün ise bir örnek vererek sorabilir misiniz?
Yapmak istediğinizi bir dosya aramak gibi anlıyorum ancak emin olamadım.
Sorunuzu daha net şekilde ve mümkün ise bir örnek vererek sorabilir misiniz?
Re: Dosya yolunu bulmak
slm ayni dosyadan baska baska klasorlerde birden fazla varsa hangisini alacaksiniz tumunu mu bu da onemli tabi
İzlen
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Dosya yolunu bulmak
ertank dostum iyi akşamlar.
örnek vereck olursam:
dosyanın adı: izmirlikemal.mp3
bu dosya PC de sadece bir yerde kayıtlı ve 1 adet var.
izmirlikemal.mp3 dosyası diyelimki bu dosyanın adresi: c:\programfiles\site_teknik\muzik\izmirlikemal.mp3
şeklinde, benim ulaşmak istediğim 'c:\programfiles\site_teknik\muzik'
sanırım açıklamam yeterlidir.
örnek vereck olursam:
dosyanın adı: izmirlikemal.mp3
bu dosya PC de sadece bir yerde kayıtlı ve 1 adet var.
izmirlikemal.mp3 dosyası diyelimki bu dosyanın adresi: c:\programfiles\site_teknik\muzik\izmirlikemal.mp3
şeklinde, benim ulaşmak istediğim 'c:\programfiles\site_teknik\muzik'
sanırım açıklamam yeterlidir.
Re: Dosya yolunu bulmak
Eğer "c:\programfiles\site_teknik\muzik\izmirlikemal.mp3" bilgisi bir değişken içinde ise aşağıdaki fonksiyon ile istediğinizi gerçekleştirebilirsiniz:
Kod: Tümünü seç
const
Dosya = 'c:\programfiles\site_teknik\muzik\izmirlikemal.mp3';
var
DosyaYolu: string;
begin
DosyaYolu := ExtractFilePath(Dosya); // Bu satırdan sonra DosyaYolu = 'c:\programfiles\site_teknik\muzik' olacak
DosyaYolu := IncludeTrailingPathDelimiter(DosyaYolu); // Bu satırdan sonra DosyaYolu = 'c:\programfiles\site_teknik\muzik\' olacak
end;
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Dosya yolunu bulmak
Değerli dostum ertank;
Dosya yolunu örneklemek amacıyla verdim.
Sorun:
-------
Form1 e 2 adet edit, 1 adet Button1 eklediğimizi düşünelim,
Örneğin edit1 hücresine izmirlikemal.mp3 yazdım diyelim,
Button1 e tıkladığım zaman, edit2 hücresine 'c:\programfiles\site_teknik\muzik' yazılmasını istiyorum.
İyi akşamlar, İlginize teşekkür ederim.
Dosya yolunu örneklemek amacıyla verdim.
Sorun:
-------
Form1 e 2 adet edit, 1 adet Button1 eklediğimizi düşünelim,
Örneğin edit1 hücresine izmirlikemal.mp3 yazdım diyelim,
Button1 e tıkladığım zaman, edit2 hücresine 'c:\programfiles\site_teknik\muzik' yazılmasını istiyorum.
İyi akşamlar, İlginize teşekkür ederim.
Re: Dosya yolunu bulmak
Yapmak istediğiniz disk üzerinde dosya arayıp bulmak. Dosyayı bulduğunuz zaman dizin bilgisi de elinize geçmiş olacaktır.
Bunun için aşağıdaki gibi bir kod kullanmanız mümkün olabilir:
TDirectory.GetFiles() fonksiyonu disk üzerinde bulabildiği tüm dosyaları geri çevirecektir. Birden fazla dosya diskin farklı dizinlerinde olabilir. Ancak örnek fonksiyon ilk dosya adını geriye çevirecektir. Çoğu zaman bu dosya disk üzerine ilk kaydedilmiş dosya olacaktır. Ancak bunun bir garantisi yok.
Kullanımı aşağıdaki gibi olacaktır:
Bunun için aşağıdaki gibi bir kod kullanmanız mümkün olabilir:
Kod: Tümünü seç
uses
System.IOUtils,
System.Types;
function FindFile(const FileName: string; out FoundFile: string): Boolean;
var
SearchOption: TSearchOption;
FilesFound: TStringDynArray;
begin
Result := False;
if Trim(FileName) = EmptyStr then Exit();
Screen.Cursor := crHourGlass;
try
SearchOption := TSearchOption.soAllDirectories;
FilesFound := TDirectory.GetFiles('C:\', Trim(FileName), SearchOption);
if Length(FilesFound) > 0 then
begin
Result := True;
FoundFile := FilesFound[0];
end;
finally
Screen.Cursor := crDefault;
end;
end;
Kullanımı aşağıdaki gibi olacaktır:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
Directory: string;
begin
if FindFile(Edit1.Text, Directory) then
begin
Directory := TPath.GetDirectoryName(Directory);
Edit2.Text := Directory;
end
else
begin
Edit2.Text := 'Dosya bilgisayar üzerinde bulunamadı!';
end;
end;
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Dosya yolunu bulmak
Değerli dostum ertank
Örnekleme yaptığınız kodlardan çok yararlandım.Tekrarlamakda bir sakınca görmüyorum size ilginizden dolayı çok teşekkür ederim. İlginizin tüm site üyelerine veya üye olmayan arkadaşlara faydalı olması en büyük arzum.
Örnekleme yaptığınız kodlardan çok yararlandım.Tekrarlamakda bir sakınca görmüyorum size ilginizden dolayı çok teşekkür ederim. İlginizin tüm site üyelerine veya üye olmayan arkadaşlara faydalı olması en büyük arzum.