AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RenameFile funktioniert nicht !!!

Ein Thema von Metallicwar · begonnen am 25. Nov 2010 · letzter Beitrag vom 25. Nov 2010
Antwort Antwort
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 12:33
Hallo zusammen, habe zwar über die SuFu schon einige Threads zu "RenameFile" gefunden, aber keins, das mir bei meinem Problem wirklcih weiterhilft.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  iDatensätze: Integer;
  sNeueDatei: String;
  sAlteDatei: String;
begin
  qMensch.SQL.Text := 'SELECT Name, Vorname, Geburtsname FROM Mensch';

  qMensch.Open;

  qMensch.First;
  for iDatensätze := 0 to qMensch.RecordCount - 1 do
    begin
      sNeueDatei := qMensch.FieldByName('Name').AsString + '_' + qMensch.FieldByName('Vorname').AsString; // --> heißt dann z.B. Mark_Mustemann.txt
      sAlteDatei := qMensch.FieldByName('Geburtsname').AsString; --> z.B. MarC_Mustermann.txt
      //ShowMessage(sNeueDatei);
      SysUtils.RenameFile(sAlteDatei, sNeueDatei);//--> ändert den namen einfach nicht
      qMensch.Next;
    end;
end;

end.
Hab in einem anderen Beitrag gelesen, dass RenameFile nurfunktioniert, wenn die Datei im selben Verzeichnis liegt.
Kann mir jmd sagen, wieso, RenamFile bei mir nicht funktioniert?
mfg David
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 12:34
Erzeuge die Dateinamen mit kompletten Pfad
Markus Kinzler
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

AW: RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 12:40
Ganz allgemein kann man sich bei Systemfunktionen auch sagen lassen, warum es nicht funktioniert.

Also konkret nach RenameFile ein
ShowMessage(SysErrorMessage(GetLastError));
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#4

AW: RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 12:41
SysUtils.RenameFile('C:\DatabaseDir\Mensch\' + sAlteDatei, 'C:\DatabaseDir\Mensch\' + sNeueDatei); it works fine, thanks
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#5

AW: RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 12:43
Zitat:
Ganz allgemein kann man sich bei Systemfunktionen auch sagen lassen, warum es nicht funktioniert.

Also konkret nach RenameFile ein
ShowMessage(SysErrorMessage(GetLastError));
hab ich auch mal probiert. Bekam als Meldung: DAs System kann den angegebenen Pfad nicht finden.
Das Problem hat sich damit schön gelöst, danke für die schnelle Hilfe.
Einfach spitze! Daumen hoch
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: RenameFile funktioniert nicht !!!

  Alt 25. Nov 2010, 17:35
@Satty67: Vorsicht, es handelt sich nicht wirklich um eine Systemfunktion, siehe MSDN-Library durchsuchenRenameFile (was keinen Treffer für Win32 gibt ). Nur wenn man MSDN-Library durchsuchenMoveFile (oder MSDN-Library durchsuchenMoveFileEx) direkt benutzt kann man sich sicher sein, daß MSDN-Library durchsuchenGetLastError etwas sinnvolles ergibt. Denn die Implementation von RenameFile kann sich ggf. auch ändern und in diesem Falle könnten mehrere Win32-APIs aufgerufen werden, wobei dann nicht mehr klar ist welche den Fehlercode erzeugt hat. Das aber nur als Hinweis am Rande.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:26 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