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/)
-   -   *.exe datei aus Delphi heraus umbenennen (https://www.delphipraxis.net/166767-%2A-exe-datei-aus-delphi-heraus-umbenennen.html)

Vukloc 28. Feb 2012 15:37

Delphi-Version: 7

*.exe datei aus Delphi heraus umbenennen
 
Hallo hänge da an einem kleinen Problem und zwar möchste ich nach einer Art Update diverse Dateien umbenennen(damit sie besser zum Projektnamen passen) darunter auch eine *.exe.
Die Textdateien etc sind kein Problem, jedoch versagt die "Routine" bei allen Arten von *.exe Dateien, jetzt ist meine Frage kann man das irgendwie umgehen ?

Hier mal der Codeschnipsel zum umbenennen der Datei
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Dir: String;
  myExePath : String;
  myApplication : String;
begin
  myExePath := ExtractFilePath(Application.ExeName);
  myApplication := myExePath + 'Projekt.exe';

  if SelectDirectory('Bitte das Projekt XXXXXX Verzeichnis auswählen', '', Dir)
  then
  begin
    RenameFile(dir+'\Daten\log.txt', dir+'\Daten\log.old');
    RenameFile(dir+'\projekt.exe', dir+'\projektV1.exe');
  end;
 
end;
Vielen Dank für eure Hilfe

DeddyH 28. Feb 2012 15:45

AW: *.exe datei aus Delphi heraus umbenennen
 
Und wenn Du statt RenameFile einmal so etwas benutzt, was kommt dabei als Rückgabewert?
Delphi-Quellcode:
function MyRenameFile(const OldName, NewName: string): DWORD;
begin
  if MoveFile(PChar(OldName), PChar(NewName)) then
    Result := 0
  else
    Result := GetLastError;
end;

Luckie 28. Feb 2012 15:59

AW: *.exe datei aus Delphi heraus umbenennen
 
Zitat:

Zitat von Vukloc (Beitrag 1153461)
jedoch versagt die "Routine" bei allen Arten von *.exe Dateien

Und wie manifestiert sich das "Versagen"?

jaenicke 28. Feb 2012 16:43

AW: *.exe datei aus Delphi heraus umbenennen
 
Hast du denn vorher Adminrechte angefordert? Ohne wirst du kaum in dem Verzeichnis eines Programms etwas ändern können. (Eine sachgerechte PC-Konfiguration vorausgesetzt.)

p80286 28. Feb 2012 17:16

AW: *.exe datei aus Delphi heraus umbenennen
 
@Jaenicke
Ich geh mal davon aus, daß das hier nicht notwendig ist,
es scheint sich nicht um das Programme-Verzeichnis zu handeln:
Zitat:

Delphi-Quellcode:
 if SelectDirectory('Bitte das Projekt XXXXXX Verzeichnis auswählen', '', Dir)
  then
  begin
    RenameFile(dir+'\Daten\log.txt', dir+'\Daten\log.old');
    RenameFile(dir+'\projekt.exe', dir+'\projektV1.exe');
  end;

Gruß
K-H

Vukloc 28. Feb 2012 19:27

AW: *.exe datei aus Delphi heraus umbenennen
 
@DeddyH
Vielen Dank, werde das morgen mal antesten und dann bescheid geben.

@ Luckie
Es manifestiert sich so das alle Dateien mit außnahme der Exedatei umbenannt werden.

@jaenicke
Darf ich fragen wie du das expliziet meinst ?
Aber vielleicht hilft dir das weiter, also unter Windows war ich zwecks Testzwecken diesbezüglich als Admin angemeldet.
Aber da es sich nicht um einen geschützten Ordner handelt sollte es doch auch ohne gehen ?

@p80286
also der Ordner war/ist d:\Programme\Stanze
OS liegt auf c:

Luckie 28. Feb 2012 19:54

AW: *.exe datei aus Delphi heraus umbenennen
 
Es fehlt mal wieder eine gescheite Fehlerbehandlung. Was sagt GetLastError, wen Rename False zurückgibt?

DeddyH 29. Feb 2012 07:06

AW: *.exe datei aus Delphi heraus umbenennen
 
Zitat:

Zitat von Luckie (Beitrag 1153526)
Es fehlt mal wieder eine gescheite Fehlerbehandlung. Was sagt GetLastError, wen Rename False zurückgibt?

Was wollte ich mit meinem Code in #2 wohl bezwecken? :roll:

Luckie 29. Feb 2012 07:39

AW: *.exe datei aus Delphi heraus umbenennen
 
Ja du, aber wenn er es schon gemacht hätte, dann hätte er schon entscheidenden Hinweise bekommen können und uns diese auch gleich mitteilen können in seinem ersten Beitrag.

DeddyH 29. Feb 2012 07:43

AW: *.exe datei aus Delphi heraus umbenennen
 
Zitat:

Zitat von Vukloc (Beitrag 1153519)
@DeddyH
Vielen Dank, werde das morgen mal antesten und dann bescheid geben.

Warte doch erst einmal ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 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