Cze,
W programie mam takie dwie procedurki:
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(ListBox1.Handle, True);
end;
procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);
var
NumFiles : LongInt;
I : LongInt;
buffer : array[0..2048] of char;
begin
{$IFDEF D4}
NumFiles := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
{$ELSE}
NumFiles := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
{$ENDIF}
for I := 0 to (NumFiles - 1) do
begin
DragQueryFile(Message.Drop, i, @buffer, SizeOf(buffer));
ListBox1.Items.Add(buffer);
end;
DragFinish(Message.Drop);
end;
Gdy przeciągam plik do ListBoxa, to dodaje mi się pozycja z jego ścieżką. Czyli dobrze. A gdy przeciągam folder do ListBoxa to dodaje mi się jego ścieżka. A ja chcę, żeby zamiast tego wywoływała się inna procedura z szukaniem plików. Czyli ta:
procedure TMainForm.PenetrateDirectory(dir: String; list: TStrings; mask: String);
var
SRec: TSearchRec;
res: Integer;
ec: Char;
begin
ec := ':';
if dir <> '' then ec := dir[Length(dir)];
if (ec <> ) <b>and</b> (ec <> ':') <b>then</b> dir := dir +
;
res := FindFirst(dir + mask, faArchive, SRec);
while res = 0 do begin
list.Add(dir + SRec.Name);
res := FindNext(SRec);
end;
FindClose(SRec);
end;
I dodała do ListBoxa wszystkie pliki, które znajdzie w środku tego katalogu zamiast ścieżki dostępu. Czy ktoś może mi pomóc?
//wiesz co to sa tagi < delphi > ?? [glowa] - lofix