merhaba.
forma sürüklenip bırakılan dosyayı kod sayesinde algılayabiliyorum.
ancak ben forma sürüklenip bırakılan dizin içerisindeki tüm dosyalarında adreslerinin tabii dosya ismi dahil oalcak şekilde elde etmek istiyorum.
bunun için ne yapmam gerekir. biraz bişeyler denedimde olmadı. sürüklenip bırakılan dosyaları anlamak için ise şu kodu kullanıyorum.
procedure tfrmkayitlar.AcceptFiles( var msg : TMessage );
const
cnMaxFileNameLen = 255;
var
i,
nCount : integer;
acFileName : array [0..cnMaxFileNameLen] of char;
begin
nCount := DragQueryFile( msg.WParam,
$FFFFFFFF,
acFileName,
cnMaxFileNameLen );
for i := 0 to nCount-1 do
begin
DragQueryFile( msg.WParam, i,
acFileName, cnMaxFileNameLen );
// kayitekle(acfilename);
end;
DragFinish( msg.WParam );
end;
Sürüklenip Bırakılan Dizini Anlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Sürüklenip Bırakılan Dizini Anlama
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
sormak istedigin bir dizini formuna surkleyip bbıraktıgın zaman icindeki dosyalar uzerinde islem yapmaksa (altdizinler haric eger bunlarıda dahil etmek istersen saglam bir algoritma yazman gerek) dizinin ismini ogren;
bunu zaten surukle bırak deyince aldıgını varsayıyorum...
findfirst,findnext ve findclose fonksiyonlarını sıra ile kullanarak dizin icindeki dosyaları (*.* stringi ile) sırayla ogrenebilirsin. delphi helpte bu konuyla ilgili ornek bir kod da mevcut
bunu zaten surukle bırak deyince aldıgını varsayıyorum...
findfirst,findnext ve findclose fonksiyonlarını sıra ile kullanarak dizin icindeki dosyaları (*.* stringi ile) sırayla ogrenebilirsin. delphi helpte bu konuyla ilgili ornek bir kod da mevcut
ÜŞENME,ERTELEME,VAZGEÇME
Genelde klasör adlarında "." karakteri olmayacağını düşünürsek aşağıdaki bir kod belki işe yarayabilir.
Eğer gönderilen adda "." yoksa yani klasör ise fonksiyon true, eksi halde false değerini geri döndürür.
Kod: Tümünü seç
function Klasormu(ad: string): boolean;
begin
if Pos('.',ad)<>0 then Result:=False
else Result:=True;
end;
Selam.
- @Admin'in söylediklerini mutlaka dikkate almalısın. Önemli. Uzantısı olan klasör de mümkündür. Örneğini çok güzel bir şekilde kendileri vermiş zaten.
- Bir dizinin mevcut olup olmadığı kontrol eden fonksiyon olan DirectoryExists() fonksiyonundan faydalanabilirsin. Yani bulduğun her sürüklenmiş birimi bu fonksiyondan dönecek True veya False cevabı ile değerlendirebilirsin. FileExists() fonksiyonu ise dosya mevcut mu/değil mi sorgular.
- @Admin'in söylediklerini mutlaka dikkate almalısın. Önemli. Uzantısı olan klasör de mümkündür. Örneğini çok güzel bir şekilde kendileri vermiş zaten.
- Bir dizinin mevcut olup olmadığı kontrol eden fonksiyon olan DirectoryExists() fonksiyonundan faydalanabilirsin. Yani bulduğun her sürüklenmiş birimi bu fonksiyondan dönecek True veya False cevabı ile değerlendirebilirsin. FileExists() fonksiyonu ise dosya mevcut mu/değil mi sorgular.