Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Stringfunktionen

String-Arrays mit Put/Get schreiben/lesen

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.Redakteurytwinky 21.01.2011

Das Schreiben und Lesen von String-Arrays ist nicht ganz so trivial, wie es den Anschein hat.
Die Strings werden aber 'binär' abgespeichtert, doch der Inhalt ist klar erkennbar(auf alle Fälle mit einem Hex-Editor), das war es, was ich mit folgendem Code rausfinden wollte:

'Ä=Ž , Ö=™ , Ü=š ; ä=„ , ö=”, ü= , ß=á ,§=õ , ©=¸
Const DateiName="wbusch.bin", MaxDim=5
Type ArrayTyp As ZString*35 'damit der Typ bei beiden Arrays identisch ist
Dim As Integer DNr=FreeFile 'DateiNummer vom System bestimmen lassen
Dim As ArrayTyp PutDatei(MaxDim) _ 'ZString muß 'groß' genug sein..
                  ={"Wenn einer, der mit Mhe kaum", _
                    "geklettert ist auf einen Baum,", _
                    "schon meint, daá er ein Vogel w„r,", _
                    "so irrt sich der..", !"\t\t(Wilhelm Busch)"}
Dim As ArrayTyp GetDatei(Maxdim) 'Kontroll-Array für die Eingabe
'Wer meint, daß 'String' ausreichend wäre, kann es ja probieren ;-))
'Es kann nichts passieren..

'Array zur Kontrolle ausgeben
Print !"Zu speichernde Daten\n"
For i As Integer=0 To MaxDim
    Print PutDatei(i)
Next

'Array speichern

Open DateiName For binary As #DNr
   Put #DNr,, PutDatei() 'Menge nicht angeben!
Close #DNr
Erase PutDatei 'jetzt ist das Original wirklich weg..

'Array wieder einlesen
Open DateiName For binary as #DNr
   Get #DNr,, GetDatei() 'Menge nicht angeben!
Close #DNr

'Array zur Kontrolle ausgeben
Print !"\nEingelesene Daten\n"
For i As Integer=0 To MaxDim
    Print GetDatei(i)
Next

Kill(DateiName) 'bei Bedarf auskommentieren, um die Datei anzusehen

Print "Eniki..";
GetKey 'ist besser als Sleep, denn es löscht den Tastaturpuffer^^

Wohlgemerkt: Hier geht es nicht um das Abspeichern/Einlesen einzelner Strings!
Das ist natürlich per Schleife auch möglich, es sollte nur darum gehen, ein String-Array mit
einer einzigen Anweisung zu schreiben bzw. zu lesen.
Fröhliches Putten und Getten
Gruß
ytwinky


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 20.01.2011 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 21.01.2011 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen