Dieser Tipp schließt sich eigentlich direkt an den
vorhergehenden an,
in dem es um benutzerdefinierte Typen ging.
Dort wurde auch darüber geschrieben, daß man diesen Typen vordefinierte Längen
übergeben kann.
Type MeinTyp
Name As String * 20
Vorname As String * 20
Telefon As String * 15
End Typ
Dim Adresse As MeinTyp
Als nächsten übergeben wir die Testwerte
Adresse.Name = "Adorf"
Adresse.Vorname = "Mario"
Adresse.Telefon = "(030) 456333"
Obwohl in keinem Datenwert die maximale Zeichenanzahl ausgeschöpft wurde, haben alle
Werte diese max. Länge, da der nicht genutzte Platz mit Leerzeichen gefüllt wird.
So wissen wir also genau wie lang ein Datensatz aus Name, Vorname und Telefon ist,
nämlich genau 55 Zeichen.
Mit diesem Wissen können wir jetzt eine Datendatei im Textformat ganz anders behandeln.
Den Open Befehl kennen Sie sicher.
Normal
Open "daten.txt" for Random As #1 'Random Lese und Schreibzugriffe Mit Angabe der Länge eines Datensatzes
Open "daten.txt" for Output As #1 Len = 55
Zuerst einmal kann ich nun an der Dateigröße schon erkennen, wieviele Datensätze
enthalten sind.
Dateigröße / Größe eines Datensatzes = Anzahl Datensätze
Anzahl = LOF(1) / 55
Wenn ich nun einen Datensatz einlesen möchte, kann ich den GET Befehl dazu nutzen.
Get #1, 1, Adresse
Was passiert ?
1. Aus der Datei wird der erste Datensatz gelesen. Genau so einfach können Sie auch
den 138 Datensatz einlesen.
Get #1, 138, Adresse
Sie müssen lediglich vorher klären, daß Ihre Datei auch soviel Datensätze hat.
2. Wir übergeben diesen Datensatz unserem benutzerdefinierten Typ und der macht
automatisch, ohne Trennzeichen oder ähnlichem, die einzelnen Werte draus, da die
Datenlängen ja schon vorgegeben wurden.
(20 Zeichen = Name , 20 Zeichen = Vorname , 15 Zeichen Telefon)
Ich möchte den sehen, der nicht ab sofort diese Variante für einfache Datendateien im
Textformat nutzt.
Kommen wir nun noch zum Eintragen der Werte in die Textdatei.
Nehmen wir an, Ihre Datendatei enthält schon drei Datensätze
(Anzahl = LOF(1) / 55)
und Sie möchten einen vierten eintragen.
Put #1, 4, Adresse
Kann es denn noch einfacher gehen?
Einzig wichtig ist immer, daß Sie die Anzahl Ihrer Datensätze im Auge behalten.
Viel Erfolg beim Testen. |