Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listen&Umbenennen von Dateien (https://www.delphipraxis.net/112321-listen-umbenennen-von-dateien.html)

nEmai 18. Apr 2008 17:47


Listen&Umbenennen von Dateien
 
Hallo,

ich möchte ein Programm schreiben, das zuerst die Namen von Dateien in einem Verzeichnis in einer Textdatei mit fortlaufender Nummer listet und dann den Dateien diese Nummer gibt.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MySearchFile: TSearchRec;
  MyTextFile: TextFile;
  sDir: String;
  iTrue,
  iCounter: Integer;
begin
  sDir:= Edit1.Text;
  iCounter:= 1;
  AssignFile(MyTextFile, sDir+'neu.txt');
  ReWrite(MyTextFile);

  FindFirst(sDir+'*.*', faAnyFile-faDirectory, MySearchFile);
  repeat
    Memo1.Lines.Add(MySearchFile.Name);
    WriteLn(MyTextFile, FormatFloat('00#', iCounter)+' - '+MySearchFile.Name);
    RenameFile(sDir+MySearchFile.Name, sDir+FormatFloat('00#', iCounter)+'.'+//was?
    Inc(iCounter);
  until FindNext(MySearchFile)<>0;

  CloseFile(MyTextFile);
  FindClose(MySearchFile);
end;
So weit so gut, die Liste wird erstellt.
Allerdings häng ich am Umbenennen, gibt es eine Funktion um an die Endung der Datei zu kommen?
Bzw davor, stimmen meine Parameter an RenameFile überhaupt? Also vollständige Pfadangabe alt+neu.

Der Fragen noch nicht genug,
1. Muss ich MyTextFile wieder freigeben?
2. Was genau macht eigentlich ReWrite(..)? Die Delphi Hilfe kennt es nicht, aber ohne geht es nicht.

MfG. ^^

Fussball-Robby 18. Apr 2008 17:58

Re: Listen&Umbenennen von Dateien
 
Die Endung bekommst du mit Delphi-Referenz durchsuchenExtractFileExt(), ändern kannst du diese mit Delphi-Referenz durchsuchenChangeFileExt()

dominikkv 18. Apr 2008 18:20

Re: Listen&Umbenennen von Dateien
 
1. Nein
2. Mit AssignFile weist du deiner Variable einfach nur ein File zu. Darin kannst du aber noch nicht lesen/schreiben, du musst sie zuerst öffnen.
Es gibt 3 Möglichkeiten eine Datei zu öffnen:
  • Reset: Öffnet eine bereits bestehende Datei. Du kannst lesen und schreiben.
  • Rewrite: Legt eine neue Datei an und öffnet sie. Bereits existierende Dateien werden überschrieben! Du kannst lesen und schreiben
  • Append: Öffnet eine existierende Datei und springt ans ENDE, du kannst also ganz einfach hinten drann weiterschreiben. Kann nur in Verbindung mit Textdateien verwendet werden

nEmai 18. Apr 2008 23:24

Re: Listen&Umbenennen von Dateien
 
Danke für die Antworten, funktioniert. ^^ (Solang der Deteiname nicht mit ner Zahl beginnt, aber das korrigier ich irgendwann, wenn ichs brauch..)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

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