Если Вам нужно сохранить текст, который содержится в Буфере обмена Windows, то можно выполнить следующую функцию TxtClipbrdToFile:
uses
{ ... }, Clipbrd;
function TxtClipbrdToFile(sFileName: 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, sFileName) ;
ReWrite(tf) ;
Write(tf, ps2) ;
CloseFile(tf) ;
StrDispose( ps2 ) ;
Result := True;
end;
finally
Close;
end;
end;
end;
Использование:
procedure TForm1.Button1Click(Sender: TObject);
begin
TxtClipbrdToFile('C:\Temp\TextFromClipboard.txt')
end;
Комментарии