Mega Code Archive

 
Categories / Delphi / Examples
 

How to save clipboard data to a file

Looking for a way to save the data in the clipboard to a file in a hurry? All you have to do is call the following SaveClipboardTextDataToFile() function with the file name: SaveClipboardTextDataToFile( 'c:\temp.txt' ); Please note that the following code is written to handle only text data in the clipboard. You can easily change this by modifying the clipboard data format specified -- CF_TEXT -- and changing the file handling methods. function SaveClipboardTextDataToFile( sFileTo : 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, sFileTo ); ReWrite( tf ); Write( tf, ps2 ); CloseFile( tf ); StrDispose( ps2 ); Result := True; end; finally Close; end; end; end; Don't forget to include Clipbrd unit in your uses section.