Lazarus/Dateien: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Peterdauscher
Keine Bearbeitungszusammenfassung
main>Peterdauscher
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:


== Manipulation von Dateien und Ordnern als Ganzes ==
== Manipulation von Dateien und Ordnern als Ganzes ==
Für alle folgenden Befehle muss die Unit <tt>sysutils</tt> in der<tt> uses ...</tt>-Klasel eingebunden werden, was standardmäßig auch der Fall ist. Näheres zu dieser Unit, die noch sehr viele andere nützliche Befehle enthält, findet sich auf den Dokumentationsseiten zu [http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/ systutils] des Lazarus-Projekts.





Version vom 23. Januar 2013, 21:55 Uhr

Allgemeines zu Dateien

Während ein Programm läuft, kann man die notwendigen Daten in Variablen des Programms speichern -- wenn es allzu viele sind. Was aber wird aus den Daten, wenn man das Programm beendet. In der Regel sind diese Daten danach verloren, wenn man nicht dafür sorgt, dass sie erhalten bleiben. Eine Möglichkeiten zum dauerhaften Speichern von Daten (über die Laufzeit des Programms hinaus) sind Dateien. Jeder von uns kennt etwa Dateien aus der Textverarbeitung. Und natürlich auch vom Programmieren selbst.

Lesen von Schreiben von Daten in Dateien

Manipulation von Dateien und Ordnern als Ganzes

Für alle folgenden Befehle muss die Unit sysutils in der uses ...-Klasel eingebunden werden, was standardmäßig auch der Fall ist. Näheres zu dieser Unit, die noch sehr viele andere nützliche Befehle enthält, findet sich auf den Dokumentationsseiten zu systutils des Lazarus-Projekts.


Löschen, Umbenennen und Erzeugen von Dateien

Ist erst einmal eine Datei erstellt, so kann es sein, dass sie irgendwann nicht mehr gebraucht wird und daher gelöscht werden soll. Oder aber der Name der Datei soll geändert werden. Hierzu kann man die folgenden beiden Befehle verwenden:

Befehl Bedeutung
DeleteFile(Dateiname : String) : Boolean Löscht die Datei mit dem gegebenen Dateiname.
Liefert "false" zurück, wenn die Datei nicht gelöscht werden kann.
RenameFile(AlterName, NeuerName : String) : Boolean Benennt eine Datei um.
Liefert "false" zurück, wenn die Datei nicht umbenannt werden kann.

Löschen, Umbenennen und Erzeugen von Ordnern

Befehl Bedeutung
RemoveDir(Ordnername : String) : Boolean Löscht den angegebenen Ordner.
Liefert "false" zurück, wenn der Ordner nicht gelöscht werden kann.
RenameFile(Ordnername : String) : Boolean Benennt den angegebenen Ordner um.
Liefert "false" zurück, wenn der Ordner nicht umbenannt werden kann.
ForceDirectories(Pfadname : String) : Boolean Erzeugt den gesamten angegebenen Pfad.
Liefert "false" zurück, wenn das nicht möglich ist.

Überprüfen der Existenz von Dateien und Ordnern

Befehl Bedeutung
FileExists(Dateiname : String) : Boolean Liefert "true" zurück, wenn die Datei mit dem angegebenen Namen existiert.
DirectoryExists(Ordnername: String) : Boolean Liefert "true" zurück, wenn der Ordner mit dem angegebenen Namen existiert.


Dateinamen und Pfade

In Microsoft-Windows besteht ein (vollständiger) Dateiname wie C:\Programme\lazarus\bin\lazarus.exe aus verschiedenen Bestandteilen:

  • Dem Laufwerk (C)
  • Dem Dateipfad (C:\Programme\lazarus\bin\)
    bzw. dem Dateiordner (C:\Programme\lazarus\bin)
  • Dem eigentlichen Dateimnamen (lazarus.exe)
  • Der Dateiendung (exe)


Befehl Bedeutung
ExtractFileDrive(vollst_Dateiname : String) : String Liefert das Laufwerk zurück
ExtractFilePath(vollst_Dateiname : String) : String Liefert den Dateipfad zurück
ExtractFileDir(vollst_Dateiname : String) : String Liefert den Dateiordner zurück
ExtractFileName(vollst_Dateiname : String) : String Liefert den eigentlichen Dateinamen zurück
ExtractFileExt(vollst_Dateiname : String) : String Liefert die Endung zurück