Статьи
|
Если Вы хотите сохранить текстовые данные, которые содержатся в буфере обмена (Clipboard) в файл на диске, то Вы можете использовать следующий код:
uses Clipbrd;
function ClipboardTxtToFile
(sFileTXT : string) : boolean;
var
ps1, ps2 : PChar;
dwLen : DWord;
tf : TextFile;
hData : THandle;
begin
Result := False;
with Clipboard do begin
try
Open;
if(HasFormat(CF_TEXT)) then begin
hData := GetClipboardData(CF_TEXT) ;
ps1 := GlobalLock(hData) ;
dwLen := GlobalSize(hData) ;
ps2 := StrAlloc(1 + dwLen) ;
StrLCopy( ps2, ps1, dwLen ) ;
GlobalUnlock( hData ) ;
AssignFile(tf, sFileTXT) ;
ReWrite(tf) ;
Write(tf, ps2) ;
CloseFile(tf) ;
StrDispose( ps2 ) ;
Result := True;
end;
finally
Close;
end;
end;
end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
begin
ClipboardTxtToFile('D:\text.txt')
end;
|