![]() |
Dateien kopieren mit Platzhalter??
Hallo,
Ich suche nach einer einfachen Metode Dateien von der Festplatte auf eine Diskette zu kopieren. Ich möchte alle Dateien eines Verzeichnisses mit der Endung ( DB ) und ( PX ) kopieren. Im Moment mache ich das so wie im Beispiel unten:
Delphi-Quellcode:
FARGE:
CopyFile(Pchar('C:\ABC\Kunden.db'),Pchar('A:\Ablage\Kunden.DB'),false) ;
CopyFile(Pchar('C:\ABC\Rechnungen.db'),Pchar('A:\Ablage\Rechnungen.DB'),false); CopyFile(Pchar('C:\ABC\Nummer.db'),Pchar('A:\Ablage\Nummer.DB'),false); CopyFile(Pchar('C:\ABC\Nummer.px'),Pchar('A:\Ablage\Nummer.px'),false); Gibt es nicht auch eine Möglichkeit das in ein zwei zeilen zu bringen da es sich bei mit um ca.45 Dateien handelt, ich Dachte da an so was wie.
Delphi-Quellcode:
Geht bei mir aber nicht!!
CopyFile(Pchar('C:\ABC\*.db'),Pchar('A:\Ablage\'),false) ;
CopyFile(Pchar('C:\ABC\*.px'),Pchar('A:\Ablage\'),false) ; WIESO??? Und gibt es eine Möglichkeit die Dateien in A:\Ablage vor dem Kopieren zu löschen, wenn das Verzeichnis den schön angelegt ist? [edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit] |
Re: Dateien kopieren mit Platzhalter??
Such mal im Forum bach
![]() |
Re: Dateien kopieren mit Platzhalter??
Zitat:
![]() |
Re: Dateien kopieren mit Platzhalter??
OK, Danke
habe jetzt die richtige function gefunden!! so geht es!
Delphi-Quellcode:
function CopyFileEx(const ASource, ADest: String;
ARenameCheck: boolean = false): boolean; var sh: TSHFileOpStruct; begin sh.Wnd := Application.Handle; sh.wFunc := FO_COPY; // String muss mit #0#0 Terminiert werden, um das Listenende zu setzen sh.pFrom := PChar(ASource + #0); sh.pTo := PChar(ADest + #0); sh.fFlags := FOF_ALLOWUNDO or fof_MultiDestFiles; if ARenameCheck then sh.fFlags := sh.fFlags or fof_RenameOnCollision; Result:=ShFileOperation(sh)=0; end; procedure TForm1.FlatSpeedButton7Click(Sender: TObject); begin CopyFileEx(''+Ver+''+'\*.DB',''+dira+''); CopyFileEx(''+Ver+''+'\*.PX',''+dira+''); CopyFileEx(''+Ver+''+'\*.val',''+dira+''); end; bis dann [edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit] |
Re: Dateien kopieren mit Platzhalter??
Warum eigentlich immer +''+ ?
Das ergibt doch keinen Sinn, einfach einen leeren String dazwischen machen :gruebel: So sollte es genügen:
Delphi-Quellcode:
procedure TForm1.FlatSpeedButton7Click(Sender: TObject);
begin CopyFileEx(Ver+'\*.DB', dira); CopyFileEx(Ver+'\*.PX', dira); CopyFileEx(Ver+'\*.val',dira); end; |
Re: Dateien kopieren mit Platzhalter??
Hoppla, das hab'n wir ganz vergessen:
Herzlich Willkommen in der DP! :cheers: Nicht vergessen: :dp: :zwinker: |
Re: Dateien kopieren mit Platzhalter??
Zitat:
Code:
CopyFileEx(QuotedStr(Ver+'\*.DB', dira));
|
Re: Dateien kopieren mit Platzhalter??
Zitat:
1. Es ist ein Leerstring, welcher wegfällt. Wenn es in Hochkomma's stehen soll, dann muss es ein String mit einem Hochkomma sein. Dieser würde dann aber auf 4 Hochkomma's bestehen: '''' (Anfang, Ende und dazwischen der doppelte für ein Hochkomma im String) 2. Zusätzlich würde QuotedStr() Hochkommas im String auch noch entsprechend escapen. 3. QuotedStr() hat nur einen Parameter - du hast falsch geklammert... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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