AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Laufendes Programm sich selbst verschieben/ kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Laufendes Programm sich selbst verschieben/ kopieren

Ein Thema von Elko · begonnen am 3. Feb 2008 · letzter Beitrag vom 4. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#1

Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 19:39
Hallo Leute,
ich habe ein Programm geschrieben, welches ich so ausstatten möchte, dass es sich selbst in einen anderen Ordner verschiebt. Ich habe schon viel gegooglet, aber dazu leider nix gefunden. Ich denke, das Problem liegt daran, dass es sich ja während es läuft verschieben soll.
Freue mich schon auf Eure Antworten!
Viele Grüße, Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
Strahlex

Registriert seit: 30. Jun 2007
87 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 19:44
Lass das Programm einfach eine Batch-Datei erstellen und ausführen
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#3

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 19:53
du könntest die I/O checks peer compilerdiriktive abstellen. Vllt gehts dann ohne fehlermeldung.

gruß snow
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#4

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 23:37
Soll ich dazu dann CopyFile benutzen? Wenn ja, was soll ich dann als Parameter angeben?
Gruß, Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 23:44
Er redet von einem LAUFENDEN Programm ! Sowas seltsames gabs doch letztens erst.
Gruß
Hansa
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#6

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 23:46
ja, ich rede vom selbstständigen Kopieren eines laufendes Proramms in ein anderes Verzeichnis
gibts danicht noch n andere Möglichkeit als mit einer Batch Datei? zB. CopyFile?
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#7

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 3. Feb 2008, 23:58
Delphi-Quellcode:
var filepathold : string;
filepathnew : string;
streamold : Tstream;
streamnew : Tstream;
begin
{$I-}
filepathnew:='I:\delphi\testContainer\Project1.exe';
filepathold:=ExtractFilePath(ParamStr(0))+'Project1.exe';
streamnew := TFilestream.Create(filepathnew,fmCreate);
streamold := TFilestream.Create(filepathold,fmShareDenyNone);
streamnew.CopyFrom(streamold,streamold.Size);
streamold.Free;
streamnew.Free;
{$I+}
so gehts... (wenn das projeckt Project1.exe heißt)

gruß snow
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 4. Feb 2008, 08:45
Zitat von snow:
filepathold:=ExtractFilePath(ParamStr(0))+'Project1.exe'; so gehts... (wenn das projeckt Project1.exe heißt)
Nein. So geht es nicht. ParamStr(0) enthält bereits den vollen Namen. Da muss "Project1.exe" nicht mehr angehängt werden!
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 4. Feb 2008, 09:16
Hi Elko,

natürlich geht es mit CopyFile. Ich hatte jedenfalls keine Probleme. Nur verschieben kannst du es nicht, dazu muss es vorher beendet werden.

Delphi-Quellcode:
var
  OldName, NewName: String;
  Overwrite: Boolean;
begin
  OldName := ParamStr(0);
  NewName := 'D:\' + ExtractFileName(OldName);
  Overwrite := false;

  CopyFile(PChar(OldName), PChar(NewName), Overwrite);
end;
Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#10

Re: Laufendes Programm sich selbst verschieben/ kopieren

  Alt 4. Feb 2008, 11:31
Zitat:
Nein. So geht es nicht. ParamStr(0) enthält bereits den vollen Namen. Da muss "Project1.exe" nicht mehr angehängt werden!
es funkioniert aber auch so...


Zitat aus Delphi-treff
Zitat:
Ordner, in dem sich die eigene Anwendung befindet ermitteln
Delphi-Quellcode:
function GetApplicationDirectory: String;
begin
  Result := ExtractFilePath(ParamStr(0));
end;
das was du meinst ist
Application.Exename das klappt aber nur wenn Forms eingebunden ist.

gruß snow
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.
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