![]() |
Datei kopieren und umbenennen
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
bekomme hier eine Fehlermeldung! Siehe Anhang! Was muss geändert werden?
Delphi-Quellcode:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Filectrl, Vcl.ExtCtrls, Vcl.ComCtrls; type TForm1 = class(TForm) Panel1: TPanel; Edit1: TEdit; Label1: TLabel; Button2: TButton; Panel2: TPanel; Edit2: TEdit; Label2: TLabel; Panel3: TPanel; Button3: TButton; Button4: TButton; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; zaehler: integer =1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); var Dir: String; begin SelectDirectory('Verzeichnispfad wählen', '', Dir); ShowMessage(Dir); Edit1.Text := (Dir); end; procedure TForm1.Button3Click(Sender: TObject); var Dir: String; begin SelectDirectory('Verzeichnispfad wählen', '', Dir); ShowMessage(Dir); Edit2.Text := (Dir); end; procedure TForm1.Button4Click(Sender: TObject); var mem : TMemoryStream; FilePathA, FilePathB : string; i:integer; begin inc(zaehler); FilePathA := Edit1.Text + (ParamStr(i))+ '*.asc';; // Pfad der zu kopierenden Datei FilePathB := Edit2.Text + (ParamStr(i)) +(FormatDateTime('yymmdd',now))+(Format('%.4d',[zaehler]) + '.asc'); // Zielpfad mem := TMemoryStream.Create; try mem.LoadFromFile(filePathA); mem.SaveToFile(FilepathB); finally mem.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Clear; Edit2.Clear; end; end. |
AW: Datei kopieren und unbenennen
hallo,
ich gehe mal davon aus, dass die Datei die du kopieren möchtest nicht wirklich 'input*.asc' heisst. Ein '*' ist im Dateinamen gar nicht gültig. mfg |
AW: Datei kopieren und unbenennen
Hallo,
im Verzeichnis stehen zurzeit nur eine "Test.asc" Datei. Später möchte ich alle Dateien kopieren und mit fortlaufend (Nr.) und Datum beziffern. |
AW: Datei kopieren und unbenennen
hallo,
dann musst du im Moment die Zeile
Delphi-Quellcode:
FilePathA := Edit1.Text + (ParamStr(i))+ '*.asc';; // Pfad der zu kopierenden Datei
in
Delphi-Quellcode:
ändern.
FilePathA := Edit1.Text + (ParamStr(i))+ '\test.asc';; // Pfad der zu kopierenden Datei
Wie man über ein Verzeichnis iteriert und Dateien nach einem vorgegeben Muster sucht ('*.asc'), findest du bestimmt in diesem Forum (Stichwort: TSearchrec). mfg |
AW: Datei kopieren und unbenennen
Und was ändert das an der Tatsache, dass Du das * im Code stehen hast?
|
AW: Datei kopieren und unbenennen
Wie schon gesagt wurde. Wildcards sind in Dateinamen nicht erlaubt. LoadFromFile läd genau eine Datei. Woher soll LoadFromFile denn wissen, welche Datei gemeint ist?
|
AW: Datei kopieren und unbenennen
Hallo,
das * sollte als Joker fungieren? Möchte unterschiedliche ASCII Dateien aus einem Ordner umbenennen und kopieren. 1234567891.asc 1234567892.asc 1234567893.asc 1234567894.asc |
AW: Datei kopieren und unbenennen
Wenn es dir nur ums Kopieren geht, warum benutzt du dann nicht eine normale Kopierfunktion wie
![]() Und: Natürlich musst du mit irgendeiner Art Schleife über deine Dateien iterieren (üblicherweise mit FindFirst/FindNext/FindClose), um die Dateien nacheinander zu kopieren. Nur weil man die Wildcard-Syntax von diversen Programmen her kennt, bedeutet das nicht, dass die (LowLevel-)Funktionen ebenso damit umgehen können. MfG Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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