ich habe folgendes Programm:
Code: Alles auswählen
unit main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ShellCtrls,
FileCtrl, EditBtn, Windows;
const
DirSeparator = {$ifdef linux}'/'{$else}'\'{$endif};
type
{ TRegistryTest }
TRegistryTest = class
private
FOutput: TStringList;
public
constructor Create;
destructor Destroy; override;
procedure CreateKeysAndOutputTo(aList: TStringList);
property Output: TStringList read FOutput write FOutput;
end;
{ TForm1 }
TForm1 = class(TForm)
btnCopy: TButton;
edSrcDirectory: TDirectoryEdit;
edDstDirectory: TDirectoryEdit;
FileListBox1: TFileListBox;
FileListBox2: TFileListBox;
edSrcFileName: TFileNameEdit;
FileNameEdit2: TFileNameEdit;
Output: TMemo;
procedure btnCopyClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
FTest: TRegistryTest;
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{$I strcast.inc}
function GetCurDir: AnsiString;
var
CurDir: AnsiString;
begin
CurDir := GetCurrentDir;
if CurDir[Length(CurDir)] <> DirSeparator then CurDir := CurDir + DirSeparator;
Result := CurDir;
end;
{ TRegistryTest }
constructor TRegistryTest.Create;
begin
inherited Create;
FOutput := TStringList.Create;
end;
destructor TRegistryTest.Destroy;
begin
FOutput.Free;
inherited Destroy;
end;
procedure TRegistryTest.CreateKeysAndOutputTo(aList: TStringList);
begin
FOutput.Assign(aList);
end;
{ TForm1 }
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
FTest.Free;
end;
procedure TForm1.btnCopyClick(Sender: TObject);
var
DstDir,SrcFile,Filename: AnsiString;
lpDstDir,lpSrcFile,lpFileName: LPCSTR;
lpwDstDir,lpwSrcFile,lpwFilename: LPCWSTR;
begin
end;
procedure TForm1.FormCreate(Sender: TObject);
var
CurDir: AnsiString;
DstDir,SrcFile,Filename: AnsiString;
lpDstDir,lpSrcFile,lpFileName: LPCSTR;
lpwDstDir,lpwSrcFile,lpwFilename: LPCWSTR;
begin
//FTest:= TRegistryTest.Create;
//FTest.CreateKeysAndOutputTo(TStringList(Output.Lines));
CurDir := GetCurrentDir;
if CurDir[Length(CurDir)] <> DirSeparator then CurDir := CurDir + DirSeparator;
edSrcDirectory.Directory := CurDir;
FileName := GetCurDir+'MeinTestFile.txt';
//ShowMessage(FileName);
AnsiToLpc(FileName,lpFileName);
CreateFileA(lpFileName,GENERIC_READ or GENERIC_WRITE,0,nil,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
end;
end.