AGB  ·  Datenschutz  ·  Impressum  







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

RenameFile(oldFile, newFile)

Ein Thema von qb-tim · begonnen am 26. Mai 2006 · letzter Beitrag vom 27. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: RenameFile(oldFile, newFile)

  Alt 26. Mai 2006, 18:20
Zitat von qb-tim:
Das Programm das ich schreibe speichert alle Ordner und Dateien in 'C:\Program Files\Vokabeltrainer XXL\...'. Es erstellt diese Ordner wenn sie nicht vorhanden sind.
Diesen Ordner gibt es bei mir nicht und ich würde sehr allergisch reagieren, wenn du diesen erstellen würdest, da dein Programm in das Progammsystemverzeichnis gehört und das ist unter einem deutschen Windows: C:\Programme.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#12

Re: RenameFile(oldFile, newFile)

  Alt 26. Mai 2006, 19:44
Was ist nun bei meiner "Umbenennungs"-Prozedur falsch?
Wieso funktioniert sie nicht?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: RenameFile(oldFile, newFile)

  Alt 26. Mai 2006, 20:56
Hallo Tim,

bist Du Dir sicher, das keine Datei in dem Ordner geöffnet ist?

meine TestMethode funktioniert bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  renameFile('e:\ren Test','e:\ren Test2');
end;
oder so

Delphi-Quellcode:
procedure FileRename(oldFileName,newFileName:String);
var
  anyFile : File;
begin
  AssignFile(anyFile,oldFileName);
  rename(anyFile,newFileName);
end;
Kannst Du mal zu Kontrolle ausgeben welche Verzeichnisse du umbennen möchtest.
Ich denke da liegt Dein Fehler begraben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#14

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 10:00
Der Ordner war am Zeitpunkt der Umbenennung völlig leer.

Ich habe die komplette Unit3 angehängt, damit du (wenn du Lust dazu hast) darin rumstöbern kannst.
Angehängte Dateien
Dateityp: pas unit3_158.pas (6,3 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 11:57
Hallo Tim,

Delphi-Quellcode:
procedure TForm3.EditBuchClick(Sender: TObject);
var f, g, s, t : String;
begin
  s := ListBox1.Items[ListBox1.ItemIndex];
  t := InputBox('Buch ändern', s, '');
  if t <> 'then
    if MessageDlg(s + ' zu ' + t + ' ändern?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin // <-- hier Breakpoint setzen
      f := 'C:\Program Files\Vokabeltrainer XXL\' + t;
      g := 'C:\Program Files\Vokabeltrainer XXL\' + s;
      RenameFile(g, f);
      Form3.FormActivate(Form3);
    end;
end;
setze doch mal einen Breakpoint an der markierten Stelle
und lass Dir die Variablen f und g einmal ausgeben.
Variablen anschauen geht wenn Du die Variable markierst und dann crtl-F5
drückst. Die Variable wird dann der Watchlist hinzugefügt.
In der Watchlist werden die Werte der Variablen ausgegeben.

Ich bin mal gespannt ob f und g die Werte haben, die Du Dir so vorstellst.

Was vielleicht auch nicht schlecht wäre, Deinen Sourcecode ein wenig mehr zu kommentieren
und den ganzen Listboxen und Buttons Namen zu geben unter den man sich auch was vorstellen kann.
So ist es so ziehmlich unmöglich Dein Programm zu verstehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#16

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 14:30
Danke. Ich probier's gleich aus.
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#17

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 14:47
Etwas sehr merkwürdiges ist passiert:

Ich habe zuerst, ohne mein Programm zu ändern (nicht einmal Kommentare zu schreiben), mein Program getestet und es funktionierte NICHT.

Dann habe ich auf den Vorschlag von Klaus Kommentare geschreiben und den Breakpoint gesetzt.
Das Programm hielt nicht an.

Ich habe dann den Breakpoint entfernt und das Programm noch einmal laufen lassen.

Die Umbenennung hat funktioniert! Sowie bei einem leeren als auch bei einem Ordner mit mehreren Dateien!

  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#18

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 14:55
Hier ist die funktionierende Version.

Ich habe mehr Kommententare hinzugefügt. - Ist das jetzt verständlicher?

Danke für eure Hilfe!

Angehängte Dateien
Dateityp: pas unit3_832.pas (7,8 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#19

Re: RenameFile(oldFile, newFile)

  Alt 27. Mai 2006, 16:27
ich würde das ganze projekt oder zumindest die *.dfm-Datei mit zur *.pas-Datei posten beim nächsten Mal. Dann kann man auch sehen wie du das Formular aufgebaut hast.

Beim Überfliegen ist mir aufgefallen, dass du den Pfad 'C:\Program Files\Vokabeltrainer XXL\...' immer wieder aufrufst. Du solltets entweder eine Konstante per const definieren und diese aufrufen oder den Pfad deines Programms zur Laufzeit auslesen (zum Beispiel im FormCreate) und dieses in einer Variable festhalten, auf deren Inhalt du dann nach belieben zugreifen kannst.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:44 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