![]() |
Pfad zu einer Datei Variabel!!??
Hi,
mein Problem ist folgendes: ich versuche, dass eine Datei aus einem variablen Pfad in einen bestimmten Pfad kopiert wird.
Delphi-Quellcode:
Das war jetzt die function, falls ihr es nochmal sehen wollt.
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_Silent or fof_MultiDestFiles; if ARenameCheck then sh.fFlags := sh.fFlags or fof_RenameOnCollision; Result:=ShFileOperation(sh)=0; end; jetzt kommt der interessante part
Delphi-Quellcode:
So dort habe ich ja jetzt einfach ...\datei geschrieben, allerdings findet er dann nichts!
procedure TForm1.CheckBox1Click(Sender: TObject);
begin if CheckBox1.Checked then begin if CopyFile(PChar('...\Datei.txt'), PChar('C:\user\xxx\Desktop\Datei.neu.txt'), False) then könnt ihr mir da weiterhelfen ? |
Re: Pfad zu einer Datei Variabel!!??
Hallo,
1. der Name Deiner eigenen Funktion lautet CopyFileEx 2. was soll er auch bei ... finden? Du musst ihm schon sagen, wo die Datei liegt. Wenn DU da variabel sein willst, dann musst Du den Aufruf Deiner Funktion variabel gestalten, aber einfach ... als Quelle übergeben... das kann ja nichts werden :wink: Um Dir jetzt aber dabei helfen zu können, wie Du den Aufruf variabel gestaltest, wären noch ein bissel mehr Infos nicht schlecht - was willst Du erreichen? |
Re: Pfad zu einer Datei Variabel!!??
JO,
Also Ziel ist es, dass sich mein Programm eine Backup erstellt. Da ich aber nicht weiß, wo das programm eingesetzt wird, muss es ja so programmiert sein, dass es einfach sich selbst findet und dann in einen festgelegten zb. (C:\programme\Chat\backup\) kopiert. :coder: ich hoffe ihr könnt meinen gedankengang nachvollziehen! :bounce2: |
Re: Pfad zu einer Datei Variabel!!??
1. Du bekommst den Pfad wo deine EXE liegt welche gerade ausgeführt wird mit
Delphi-Quellcode:
heraus.
ExtractFilePath(Application.ExeName);
2. Ist eine Angabe von . (aktuelles Verzeichnis) und .. (übergeordnetes Verzeichnis) möglich. Mehr als zwei Punkte: Was sollte dies bedeuten? Wenn dann so: ..\..\ usw. |
Re: Pfad zu einer Datei Variabel!!??
Zitat:
:wiejetzt: |
Re: Pfad zu einer Datei Variabel!!??
Moment: Du möchtest ein Programm schreiben, das sich selber "backupped"?
|
Re: Pfad zu einer Datei Variabel!!??
Zitat:
Ja, da das Programm sich Backupped kann sich evtl. selbst wiedererstellen, falls es gelöscht oder beendet wird. :thumb: |
Re: Pfad zu einer Datei Variabel!!??
Delphi-Quellcode:
if CopyFileEx(ParamStr(0),neuer_Dateiname) then...
|
Re: Pfad zu einer Datei Variabel!!??
Zitat:
Delphi-Quellcode:
da sagt er, dass der ParamStr (0) falsch ist ..if CheckBox1.Checked then begin if CopyFile(ParamStr(0),Chat, PChar('B:\Backup.exe'), False) then Memo1.Lines.Add('Backup create') else RaiselastOSError; end else begin if DeleteFileToRecycleBin('B:\Backup.exe') then begin EmptyRecycleBin; Memo1.Lines.Add('Backup delete') end else Memo1.Lines.Add('Backup delete :ERR') end; :duck: |
Re: Pfad zu einer Datei Variabel!!??
Was macht das 'Chat' dort?
Delphi-Quellcode:
opyFile(ParamStr(0),Chat, PChar('B:\Backup.exe'), False)
|
Re: Pfad zu einer Datei Variabel!!??
Ich denke, Du willst die Funktion CopyFileEx verwenden :gruebel:
|
Re: Pfad zu einer Datei Variabel!!??
Zitat:
Chat so heiß die .exe die kopiert werden soll :roteyes: |
Re: Pfad zu einer Datei Variabel!!??
Wenn die Chat.exe die Funktion aufruft, enthält ParamStr(0) den kompletten Pfad samt Dateinamen, Du musst ihn nicht extra angeben ;)
|
Re: Pfad zu einer Datei Variabel!!??
Die hat dort aber nix zu suchen, Du bedienst Dich doch ParamStr(0).
Edit: DeddyH. war schneller. Die roter-Kasten-Sache ist ja ätzend. Ich bin dafür, dass Beiträge ausgecheckt werden müssen, wenn man sie bearbeitet :mrgreen: |
Re: Pfad zu einer Datei Variabel!!??
er sagt:
Inkompatible Typen 'string' und 'PAnsiChar' und verweist auf die Stelle:
Delphi-Quellcode:
if CopyFile(ParamStr(0), PChar('B:\Backup.exe'), False) then
|
Re: Pfad zu einer Datei Variabel!!??
Delphi-Quellcode:
if CopyFile(PChar(ParamStr(0)), PChar('B:\Backup.exe'), False) then
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 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 by Thomas Breitkreuz