C++ Builder Snippets  

Lesen und Schreiben von Textdateien (VCL-Methoden):
 
Den einfachsten Weg Textdateien einzulesen oder zu speichern bieten Methoden LoadFromFile und SaveToFile der Basisklasse TStrings, die nahezu alle visuelle Komponenten, die mit Strings arbeiten, bieten. (TMemo, TRichEdit, TListBox, TComboBox usw.) Allerdings ist es selten sinnvoll, die Daten unmittelbar in eine visuelle Komponente einzulesen, denn in der Regel werden in einer ASCII-Datei viele oft unterschiedlich zu handhabende Informationen abgelegt, die zunächst im Speicher verarbeitet, ggf. zum Teil in andere Datentypen konvertiert und den entsprechenden Variablen zugewiesen werden müssen. Daher eignet sich zum Verwalten, Einlesen und Speichern von Strings die nichtvisuelle Komponente TStringList am besten.

Um eine Stringliste aus einer Datei zu laden, wird die Methode LoadFromFile aufgerufen, der Name der zu ladenden Textdatei wird dabei als Parameter übergeben Die Methode LoadFromFile liest die einzelnen Zeilen der Textdatei jeweils in einen eigenen String ein.

Um eine Stringliste in einer Textdatei zu speichern, rufen Sie die Methode SaveToFile auf und übergeben ihr den Namen der Textdatei, in der die Liste gespeichert werden soll. Falls diese Datei noch nicht vorhanden ist, wird sie bei SaveToFile angelegt. Andernfalls wird der aktuelle Inhalt der Datei mit den Strings der String-Liste überschrieben.

Die Stringlisten bieten ausserdem weitere Methoden und Eigenschaften, die das Verwalten von Strings erhblich erleichtern:
  • neue Strings können mit Hilfe der Methoden Add() oder Insert() am Ende oder einer beliebigen Position der Liste eingefügt werden
  • Inhalt der einzelnen Strings kann jederzeit gezielt ausgelesen oder überschrieben werden (Eigenschaft Strings[int index])
  • Positionen der Strings in der Liste können verändert werden (Methoden Move() und Exchange())
  • Mit IndexOf() oder Find() kann die Position eines Strings in der Liste ermittelt werden, Sort()-Methode sortiert die Strings in aufsteigender Reihenfolge
  • und viel mehr

Im folgenden Beispiel werden Datensäteze einer "Bücher-Datenbank" in ASCII-Dateien mit getrennten Feldern gespeichert. Die Routinen zum Speichern und Lesen der Daten SaveToAscii() und LoadFromAscii() befinden sich in der Datei BooksClass.cpp.


  Download BCB4
Projekt-Quellcode
Download
Demo-Exe

© '99-2000 by S. Kreutzmann