Datei in einen anderen Ordner kopieren

Alibaba258

Grünschnabel
Hallo Jungs und Mädels,

folgendes Problem.

Code:
procedure TBackground.ligafahigClick(Sender: TObject);
begin
MkDir ('Save\' + Edit1.Text);
begin
FilePathA := 'dont delete\ligafaehig.PLR'; // Pfad der zu kopierenden Datei
FilePathB := 'Save\Edit1.Text' + Edit1.Text + '.PLR'; // Zielpfad
mem := TMemoryStream.Create;
try
mem.LoadFromFile(FilePathA);
mem.SaveToFile(FilepathB);
finally
mem.Free;
end;
end;
end;

So wir ihr sicherlich sehen könnt soll mir das Programm einen Ordner erstellen, dessen Name im Edit1 Feld festgelegt wurde. So das klappt auch. Aber jeztzt das Prob. Desweiteren soll das Programm die Datei aus dem Verzeichnis "dont delete\ligafaehig.PLR" kopieren und in den eben erstellten Ordner unter dem Namen, der im Edit1 Feld eingegeben wurde einfügen.
Das Programm läuft auch so schon ganz gut mit dem kleinen Fehler, das mir die Datei nicht in den soeben erstellten Ordner kopiert wird, sondern in den Ordner Save.

So hoffe ihr wisst was ich meine, und könnt mir helfen.
Schöne Grüße
Alibaba258
 
Ich versuche mal, nachzuvollziehen, was da passiert:

Hallo Jungs und Mädels,
Code:
procedure TBackground.ligafahigClick(Sender: TObject);
begin
MkDir ('Save\' + Edit1.Text);

Annahme: Inhalt von Edit1: "abc"
Ordner: "Save\abc"

Hallo Jungs und Mädels,
Code:
begin
FilePathA := 'dont delete\ligafaehig.PLR'; // Pfad der zu kopierenden Datei
FilePathB := 'Save\Edit1.Text' + Edit1.Text + '.PLR'; // Zielpfad
FilePathA: "dont delete\ligafaehig.PLR"
FilePathB: "Save\Edit1.Textabc.PLR"

Hallo Jungs und Mädels,
Code:
mem := TMemoryStream.Create;
try
mem.LoadFromFile(FilePathA);
mem.SaveToFile(FilepathB);
mem.LoadFromFile("dont delete\ligafaehig.PLR");
mem.SaveToFile("Save\Edit1.Textabc.PLR");

Also ich als Compiler würde dir die Datei als Edit1.Textabc.PLR in Save\ ablegen und es würde mich auch nicht jucken, was für ein Verzeichnis du vorher angelegt hast. :)
 
Code:
Also ich als Compiler würde dir die Datei als Edit1.Textabc.PLR in Save\ ablegen und es würde mich auch nicht jucken, was für ein Verzeichnis du vorher angelegt hast.

Hehe,
genau das ist das Problem ;)

die Datei soll ja in den zuvor erstellten ordner unter dem namen des edit.1 feldes kopiert werden

Schöne Grüße
Ali
 
Dann versuche es doch mal mit

Code:
FilePathB := 'Save\' + Edit1.Text + 'ligafaehig.PLR'; // Zielpfad

Nur sollte dann in Edit1.Text ein abschließendes \ vorhanden sein.
 
Oke Super, das klappt jetzt schon mal.
Vielen Dank

Jetzt muss ich nur noch das abschließende "\" wegbekommen, da es so ein bischen sie Aufgabe zerstört ;)

Aber schon mal Danke deine Hilfe hast mich echt weitergebracht.

Schöne Grüße
Alibaba258
 
Zurück