Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pfad zu einer Datei Variabel!!?? (https://www.delphipraxis.net/98455-pfad-zu-einer-datei-variabel.html)

srx 27. Aug 2007 17:08


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:
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;
Das war jetzt die function, falls ihr es nochmal sehen wollt.

jetzt kommt der interessante part

Delphi-Quellcode:
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
So dort habe ich ja jetzt einfach ...\datei geschrieben, allerdings findet er dann nichts!

könnt ihr mir da weiterhelfen ?

s-off 27. Aug 2007 17:15

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?

srx 27. Aug 2007 17:32

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:

Muetze1 27. Aug 2007 17:35

Re: Pfad zu einer Datei Variabel!!??
 
1. Du bekommst den Pfad wo deine EXE liegt welche gerade ausgeführt wird mit
Delphi-Quellcode:
ExtractFilePath(Application.ExeName);
heraus.
2. Ist eine Angabe von . (aktuelles Verzeichnis) und .. (übergeordnetes Verzeichnis) möglich. Mehr als zwei Punkte: Was sollte dies bedeuten? Wenn dann so: ..\..\ usw.

srx 27. Aug 2007 17:42

Re: Pfad zu einer Datei Variabel!!??
 
Zitat:

Zitat von Muetze1
1. Du bekommst den Pfad wo deine EXE liegt welche gerade ausgeführt wird mit
Delphi-Quellcode:
ExtractFilePath(Application.ExeName);
heraus.
2. Ist eine Angabe von . (aktuelles Verzeichnis) und .. (übergeordnetes Verzeichnis) möglich. Mehr als zwei Punkte: Was sollte dies bedeuten? Wenn dann so: ..\..\ usw.

Wie müsste es dann in meinem Fall aussehen, wenn der Name der Exe 'Chat' ist ?





:wiejetzt:

DeddyH 27. Aug 2007 17:46

Re: Pfad zu einer Datei Variabel!!??
 
Moment: Du möchtest ein Programm schreiben, das sich selber "backupped"?

srx 27. Aug 2007 17:54

Re: Pfad zu einer Datei Variabel!!??
 
Zitat:

Zitat von DeddyH
Moment: Du möchtest ein Programm schreiben, das sich selber "backupped"?


Ja,
da das Programm sich Backupped kann sich evtl. selbst wiedererstellen, falls es gelöscht oder beendet wird.

:thumb:

DeddyH 27. Aug 2007 17:57

Re: Pfad zu einer Datei Variabel!!??
 
Delphi-Quellcode:
if CopyFileEx(ParamStr(0),neuer_Dateiname) then...

srx 27. Aug 2007 18:05

Re: Pfad zu einer Datei Variabel!!??
 
Zitat:

Zitat von DeddyH
Delphi-Quellcode:
if CopyFileEx(ParamStr(0),neuer_Dateiname) then...

funktioniert nicht..

Delphi-Quellcode:

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;
da sagt er, dass der ParamStr (0) falsch ist ..

:duck:

s-off 27. Aug 2007 18:10

Re: Pfad zu einer Datei Variabel!!??
 
Was macht das 'Chat' dort?
Delphi-Quellcode:
opyFile(ParamStr(0),Chat, PChar('B:\Backup.exe'), False)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz