![]() |
mehrere Dateien Copieren mit Copy
Hallo
Ich versuche mehrere Dateien in ein Verzeichnis zu Copieren, dabei befinden Sie sich in einer TStringList
Delphi-Quellcode:
[Fehler] Unit1.pas(66): Anweisung erforderlich, aber Ausdruck vom Typ 'LongBool' gefunden{ sl = C:\Verzeichnis\Test.txt = C:\Test\Delphi.txt = C:\Tool\Tool.txt usw. } var i: Integer; sl: TStringList; begin sl := TStringList.Create; for i := 0 to sl.count - 1 do begin CopyFile(PChar(sl.Strings[i]), (PChar('C:\Projekte\'+ (ExtractFileName(sl.Strings[i])))), True); end; finally sl.Free; end; [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden |
Moin Tino,
zwischen dem Erzeugen der StringListe und der for-Schleife fehlt noch ein try. Da Du bei fehlendem try allerdings eine andere Fehlermeldung bekommen müsstest, wäre es ganz hilfreich, wenn Du mal den Codeabschnitt in dem der Fehler angezeigt wird, aus der Unit herauskopierst und hier einfügst, und dann mal die Zeile markierst, die angemeckert wird. Woher soll hier jemand wissen, was in Deiner Unit Zeile 66 ist? |
Moin Christian,
Zitat:
Delphi-Quellcode:
Das LongBool kommt von dem True im dritten Parameter von CopyFile.
CopyFile(PChar(sl.Strings[i]), (PChar('C:\Projekte\'+ (ExtractFileName(sl.Strings[i])))), True);
Grüsse, Daniel :hi: |
Bei mir ist kein Fehler. Deine Zeile wird anstandslos compiliert (Delphi 5 Pro).
|
bei mir gehts nur, wie Christian gesagt hat. Man muss ein Try einfügen, dann macht das ganze keine Probleme.
|
Danke euch ,das ihr mir helfen wollt ,aber mein Problem ist immer noch der selbe. *seufz*
Delphi-Quellcode:
[Fehler] Unit1.pas(59): Anweisung erforderlich, aber Ausdruck vom Typ 'LongBool' gefunden
implementation
{$R *.dfm} procedure GetFileList(const Path: string; const Extensions: string; FileList: TStrings); var SR: TSearchRec; begin if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then try repeat if (SR.Attr and faDirectory) > 0 then begin if SR.Name[1] <> '.' then GetFileList(Path + SR.Name + '\', Extensions, FileList); end else if Pos(UpperCase(ExtractFileExt(SR.Name)), Extensions) > 0 then FileList.Append(Path + SR.Name); until FindNext(SR) <> 0; finally FindClose(SR); end; end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; sl: TStringList; begin sl := TStringList.Create; try GetFileList('c:\', '.DPR .PAS .DFM .DCU', sl); for i := 0 to sl.count - 1 do begin CopyFile(PChar(sl.Strings[i]), (PChar('C:\Projekte\'+ (ExtractFileName(sl.Strings[i])))), True); // hier kommt der Fehler (59) end; finally sl.Free; end; end; end. [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden |
Konnte es jetzt Compilieren *entlich* nach dem Ich in der Projetkt Option unter Compiler die Einstellung Erweiterte Syntax eingeschaltet habe.*puh* menno :roteyes:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz