Hier der Quelltextauszug klarer;
procedure CopyFile(const FileName, DestName: TFileName);
var
CopyBuffer: Pointer; { buffer for copying }
TimeStamp, BytesCopied: Longint;
Source, Dest: Integer; { handles }
Destination: TFileName; { holder for expanded destination name }
const
ChunkSize: Longint = 8192; { copy in 8K chunks }
begin
Destination := ExpandFileName(DestName); { expand the destination path }
if HasAttr(Destination, faDirectory) then { if destination is a directory... }
Destination := Destination + '\' + ExtractFileName(FileName); { ...clone file name }
TimeStamp := FileAge(FileName); { get source's time stamp }
GetMem(CopyBuffer, ChunkSize); { allocate the buffer }
try
Source := FileOpen(FileName, fmShareDenyWrite); { open source file }
if Source < 0 then raise EFOpenError.Create(FmtLoadStr(SFOpenError, [FileName]));
try Undelarierter Bezeichner>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >^^^^
Dest := FileCreate(Destination); { create output file; overwrite existing }
if Dest < 0 then raise EFCreateError.Create(FmtLoadStr(SFCreateError, [Destination]));
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // undeklarierter Bezeichner SFCreateError
try
repeat
BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize); { read chunk }
if BytesCopied > 0 then { if we read anything... }
FileWrite(Dest, CopyBuffer^, BytesCopied); { ...write chunk }
until BytesCopied < ChunkSize; { until we run out of chunks }
finally
FileClose(Dest); { close the destination file }
end;
finally
FileClose(Source); { close the source file }
end;
finally
FreeMem(CopyBuffer, ChunkSize); { free the buffer }
end;
end;
PROCEDURE TMainForm.FormCreate(Sender: TObject);
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> E2009 ; erwartet aber . gefunden
var pw : file;
i, z : integer;
laenge : byte;
BEGIN
(* Variable mit Pfad der Anwendung initialisieren *)
MainIniPath := ExtractFilePath(ParamStr(0));
(* Variable mit der AnwendungsDatei initialisieren *)
IniPfad := MainForm.MainIniPath + '
MDI-Haupt.ini';
(* Instanz einer IniDatei erzeugen *)
MyIni := TIniFile.Create (IniPfad);
(* Hilfshinweise aktivieren *)
Application.OnHint := ShowHint;
(* Instanz einer HistList erzeugen *)
FileList := THistoryList.Create ;
(* HistList aus IniDatei lesen *)
FileList.LoadFromIni (IniPfad,'Files');
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>Operator oder Semikolon fehlt
(* HistList an Menü anhängen *)
FileList.MenuItem := Datei;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Operator oder Semikolon fehlt
(* CAN geschlossen *)
CanAktiv := FALSE;
(*** geändert 21.06.05 Stefan Wild ***)
(* Projektpfad vorgeben *)
MainIniPath := MainIniPath + 'Projekte\';
{ Standardpfad für Projektdaten wird nicht mehr mit gespeichert,
sondern ist immer der Unterordner Projekte
(* aus AnwendungsDatei letzten Projektpfad auslesen *)
hilf := MyIni.ReadString ('Projektdaten','pfad','Error');
(* wenn kein Projektpfad vorhanden ist ... *)
IF (hilf = '') or (hilf = 'Error') THEN
BEGIN
(* Projektpfad vorgeben *)
MainIniPath := MainIniPath + 'Projekte\';
MyIni.WriteString('Projektdaten','pfad',MainIniPat h);
END
ELSE
BEGIN
(* wenn Pfad vorhanden ... *)
(* Variable mit ProjektPfad initialisieren *)
MainIniPath := hilf;
END; }
projektOffen := false;
(*** eingefügt 22.6.05 Stefan Wild ***)
(* Speicherung der Passwörter in verschlüsselter Datei *)
professional := 1;
if FileExists(ExtractFilePath(Paramstr(0)) + 'iblCM2005.pwl') then begin
try
AssignFile(pw, ExtractFilePath(Paramstr(0)) + 'iblCM2005.pwl');
Reset(pw, 1);
for z := 2 to 4 do begin
(* verschlüsseltes Passwort lesen *)
BlockRead(pw, laenge, 1);
PASSWORT[z] := ' ';
SetLength(PASSWORT[z], laenge);
for i := 1 to laenge do begin
BlockRead(pw, PASSWORT[z][i], 1);
end;
end;
CloseFile(pw);
except
on
Exception do begin
try CloseFile(pw);
except on
Exception do
// wenn die Datei nicht offen war, schließen wir sie halt auch nicht
end;
PasswForm.neuepw;
end; // except
end; // try
end // if fileExists
else
PasswForm.neuepw;
(*** eingefügt 7.7.05 Stefan Wild ***)
(* weiter Menüpunkt falls Digitalausgänge getestet werden können *)
if FileExists(ExtractFilePath(ParamStr(0)) + '\DigOutTest\Project1.exe')
then Digitalout.Visible := true;
// else ist es nach Voreinstellung false
END;
Danke für den Hinweis
Jürgen