VB-Homepage Tipp 286

Get und Put Anweisung, Daten einlesen und schreiben

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.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite