Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Fmx Dosya ve dizin fonksiyonları
#1
Fmx te dosya dizin fonksiyonlarını tam anlamıyla anlamış değilim. Hem telefon hafızasında hemde harici kartta, uzantıya göre dosya aratıp bulunanı silmek istiyorum. Gördüğüm kadarıyla dosya arama fonksiyonları fmx te biraz farklı çalışıyor. Anlamak adına , aşağıdaki gibi bir çok çeşitte denedim GetSharedCameraPath, gethomepath gibi.. Gelen sonuçlar garip ( /data/app/com.embarcadero.project1 vs gibi ) Harici ve dahili hafızada uzantısını verdiğim dosyayı aratıp bulunanı nasıl silicez anlamadım gitti Smile

procedure TForm1.Button1Click(Sender: TObject);
var
dosya_listesi: TStringDynArray;
yolu: string;
s: string;
begin
Memo1.Lines.Clear;
yolu := TPath.GetDocumentsPath;
dosya_listesi := TDirectory.GetFiles(yolu);
for s in dosya_listesi do
Memo1.Lines.Add(s);
end;
Cevapla
#2
Bulmayı bilmiyorum.. fakat silmek için Delphi standart fonk olan deletefile kullanabilirsiniz..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Teşekkürler fakat bulmadan olmuyor ama yinede aklımda olsun Smile
Cevapla
#4
(31-01-2019, Saat: 16:24)CesuR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Fmx te dosya dizin fonksiyonlarını tam anlamıyla anlamış değilim. Hem telefon hafızasında hemde harici kartta, uzantıya göre dosya aratıp bulunanı silmek istiyorum. Gördüğüm kadarıyla dosya arama fonksiyonları fmx te biraz farklı çalışıyor. Anlamak adına , aşağıdaki gibi bir çok çeşitte denedim GetSharedCameraPath, gethomepath gibi.. Gelen sonuçlar garip ( /data/app/com.embarcadero.project1 vs gibi ) Harici ve dahili hafızada uzantısını verdiğim dosyayı aratıp bulunanı nasıl silicez anlamadım gitti Smile

procedure TForm1.Button1Click(Sender: TObject);
var
dosya_listesi: TStringDynArray;
yolu: string;
s: string;
begin
Memo1.Lines.Clear;
yolu := TPath.GetDocumentsPath;
dosya_listesi := TDirectory.GetFiles(yolu);
for s in dosya_listesi do
Memo1.Lines.Add(s);
end;

Merhaba,
Herhangi bir dosyayı aramak için doğrudan File.Exist metodunu kullanabilirsiniz. 
Örn.
if TFile.Exists(TPath.Combine(TPath.GetSharedDocumentsPath, 'oku.txt')) then
yada bir dizine filtre uygulayarak aşağıdaki gibi bir dosya arayabilirsiniz.
var
  DosyaListesi: TStringDynArray;
 I: Integer;
begin
 DosyaListesi := TDirectory.GetFiles(TPath.GetSharedDocumentsPath, '*.txt',
   TSearchOption.soAllDirectories);
 Memo1.Lines.BeginUpdate;
 try
   for I := Low(DosyaListesi) to High(DosyaListesi) do
   begin
     if TFile.Exists(TPath.Combine(TPath.GetSharedDocumentsPath, 'oku.txt'))
     then
       Memo1.Lines.Add('Buldum! ' + TPath.Combine(TPath.GetSharedDocumentsPath,
         'oku.txt'))
     else
       Memo1.Lines.Add(i.ToString + ' - ' + DosyaListesi[i]);
   end;
 finally
   Memo1.Lines.EndUpdate;
 end;
end;

Multi Platform path'ler hakkında daha detaylı bilgi için aşağıdaki linkleri inceleyebilirsiniz.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
Alıntı:GetArsHedef fonksiyonu yalnızca Dahili Hafıza Müzik Klasörünün altında yer alan mp3 dosyalarını listeler.
Bu klasörünüzde herhangi bir mp3 dosyası yoksa, listelememesi normaldir.
SDCard veya Telefonun kendi Storage'ı üzerindeki tüm mp3' leri listelemek isterseniz, Konum değişkenine doğrudan ana directory'yi atayarak arama yaptırın.
 
Tamda sizin bir konuda yazdığınız cevaba bakıyordum. Burada ana directroy atayın demişsiniz . Ana directory nasıl atarız ? Hemen bakıyorum.
Cevapla
#6
(01-02-2019, Saat: 10:40)CesuR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Alıntı:GetArsHedef fonksiyonu yalnızca Dahili Hafıza Müzik Klasörünün altında yer alan mp3 dosyalarını listeler.
Bu klasörünüzde herhangi bir mp3 dosyası yoksa, listelememesi normaldir.
SDCard veya Telefonun kendi Storage'ı üzerindeki tüm mp3' leri listelemek isterseniz, Konum değişkenine doğrudan ana directory'yi atayarak arama yaptırın.
 
Tamda sizin bir konuda yazdığınız cevaba bakıyordum. Burada ana directroy atayın demişsiniz . Ana directory nasıl atarız ? Hemen bakıyorum.

  Memo1.Lines.Add(TPath.Combine(TPath.GetSharedDocumentsPath, 'oku.txt'));
 Memo1.Lines.Add(TPath.GetPathRoot(TPath.GetSharedDocumentsPath));

   
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
Sanırım bir yerde hata yapıyorum veya yanlış anlatıyorum. Sizin verdiğiniz örnek LenovoReaper veya others klasöründeki txt dosyasını bulmuyor ?  Tüm dizinleri dahil etmeye çalışıyorum. Sanırım sorun GetSharedDocumentsPath dememde .. Her iki hafıza bölümündeki tüm klasörlerde diyebilmem için GetSharedDocumentsPath değilde sadece GetDirectory mi demeliyim .. GetPathRoot ana dizini diğeriylede hafıza kartını alıyoruz anladığım kadarıyla . Sanırım buradaki nöyans bu  Smile




6aNnP0.png
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firemonkey WebBrowser Dosya Seçimi narkotik 0 37 Dün, Saat: 00:17
Son Yorum: narkotik
  Android ile PC Arasında dosya okumak bsogulcan 3 269 22-08-2019, Saat: 16:03
Son Yorum: bsogulcan
  Delphi 10.3 FMX Android Sdk Dosya Yolu Belirtme Hatası xenginyigit 3 480 19-05-2019, Saat: 05:20
Son Yorum: xenginyigit
  virtualbox dosya paylaşımı sorunu Fahrettin 7 721 02-04-2019, Saat: 22:18
Son Yorum: barox
  Tethering:Projeleriniz arasında ağ ile ilişki/ortaklık,haberleşme,dosya transferi yap mrmarman 5 764 07-01-2019, Saat: 09:01
Son Yorum: 3ddark



Konuyu Okuyanlar: 1 Ziyaretçi