:: |
Autor |
Poruka |
himzo Banovan! Odomaćeni član
|
Godine: 42
Datum registracije: 24 Okt 2005 Poruke: 1390 Mesto: Vojvoda Stepa
|
|
Ovde ću vam prikazati kako se fajlovi kopiraju u Windows Clipboard odakle ih je kasnije moguće poslati opcijom Paste ili prečicom Ctrl+V na bilo koje mesto na nosaču podataka. Procedura radi isto što i klasično Edit\Copy ili Ctrl+C.
Dodajte prvo u uses klauzulu module ShlObj i ClipBrd:
Code: |
uses
ShlObj, ClipBrd;
|
Procedura koja kopira fajlove u Clipboard treba da izgleda ovako:
Code: |
procedure CopyFilesToClipboard(FileList: string);
var
DropFiles: PDropFiles;
hGlobal: THandle;
iLen: Integer;
begin
iLen := Length(FileList) + 2;
FileList := FileList + #0#0;
hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT,
SizeOf(TDropFiles) + iLen);
if (hGlobal = 0) then raise Exception.Create('Greška: Ne može se izvršiti deljenje memorije.');
begin
DropFiles := GlobalLock(hGlobal);
DropFiles^.pFiles := SizeOf(TDropFiles);
Move(FileList[1], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen);
GlobalUnlock(hGlobal);
Clipboard.SetAsHandle(CF_HDROP, hGlobal);
end;
end;
|
Parametar FileList sadrži listu fajlova koje je potrebno smestiti u Clipboard. Fajlovi se medjusobno razdvajaju znakom #0 (prazan string ili nula-string), npr:
Code: |
CopyFilesToClipboard('c:\slika.bmp'#0'c:\tabela.txt'#0'c:\film.avi');
|
|
|
|
|
|
|
|
|
Vi ne možete otvarati nove teme u ovom forumu Vi ne možete odgovarati na teme u ovom forumu Vi ne možete menjati Vaše poruke u ovom forumu Vi ne možete brisati Vaše poruke u ovom forumu Vi ne možete glasati u anketama u ovom forumu Vi ne možete postavljati fajlove u ovom forumu Vi ne možete preuzeti fajlove sa ovog foruma
|
|