Thema: Delphi Zwischenablage auslesen

Einzelnen Beitrag anzeigen

Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Zwischenablage auslesen

  Alt 26. Apr 2007, 10:23
Delphi-Quellcode:
 

unit Unit1;

interface

implementation
uses Windows, SysUtils, Clipbrd;

function ClipboardTxtToFile (sFileTXT : string) : boolean;
var
  ps1, ps2 : PChar;
  dwLen : LongWord;
  tf : TextFile;
  hData : THandle;

begin
  Result := False;

  with Clipboard do begin
  try
   Open;
   if(HasFormat(CF_TEXT)) then
     begin
       hData := GetComponent(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.
Du könntest auch einmal Deine Formatierung überdenken.

Wenn das eine Consolenapplikation werden soll, dann sollte der Programmkopf etwas so ausschauen.

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  { TODO -oUser -cConsole Main : Insert code here }
end.
Wenn es eine Windowsapplikation werden sollte, dann fehlt Dir die Deklaration der Widowsform:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
end.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat