VB Speichern von Text

Hi

ich würde gerne Sachen in eine Txt Datei speichern und sie dann wieder laden. Das Problem ist, dass ich mehrer Sachen speichern will und sie nicht alle auf einmal wieder laden will. Wie kann ich also aus einer Datei nur einen Bestimmten Teil laden, den ich selbst bestimmen kann!

Vielen Dank im Voraus!

CU

SvenTrek

Hi Sven!

Da gibt’s verschiedene Möglichkeiten:

  1. die einzelnen Textteile auf eine fixe Länge bringen, ein CR/LF anhängen und das ganze „mehrsätzig“ in der Textdatei ablegen. Einlesen erfolgt dann über Zugriffsmodus „Random“ durch Angabe der gewünschten Satznummer
    Nachteil: alle (Teil-)Daten müssen auf Länge ausgerichtet werden; Probleme, falls die zu speichernden Daten länger werden
    Vorteil: direkter Zugriff durch Satznummer

  2. die einzelnen Textteile voneinander durch ein bestimmtes Zeichen trennen (z.B. Hex 01). Die Textdatei in eine einzige Textvariable mit Länge = Größe der Datei einlesen und über die MID$-Funktion den gewünschten Teil herausfiltern (Start- und Endeposition über INSTR-Suche nach dem soundsovielten Hex-01-Wert suchen).
    Nachteil: Herausfiltern muß programmiert werden; beim Zurückschreiben müssen alle (!) Informationen neu gespeichert werden, weil sonst andere Teilinformationen überschrieben werden
    Vorteil: Teilinformationen sind längenunabhängig

Wenn du noch Fragen hast, frag…

Grüße
Siegfried

  1. die einzelnen Textteile auf eine fixe Länge bringen, ein
    CR/LF anhängen und das ganze „mehrsätzig“ in der Textdatei
    ablegen. Einlesen erfolgt dann über Zugriffsmodus „Random“
    durch Angabe der gewünschten Satznummer
    Nachteil: alle (Teil-)Daten müssen auf Länge ausgerichtet
    werden; Probleme, falls die zu speichernden Daten länger
    werden
    Vorteil: direkter Zugriff durch Satznummer

absolut richtig

  1. die einzelnen Textteile voneinander durch ein bestimmtes
    Zeichen trennen (z.B. Hex 01). Die Textdatei in eine einzige
    Textvariable mit Länge = Größe der Datei einlesen und über die
    MID$-Funktion den gewünschten Teil herausfiltern (Start- und
    Endeposition über INSTR-Suche nach dem soundsovielten
    Hex-01-Wert suchen).
    Nachteil: Herausfiltern muß programmiert werden; beim
    Zurückschreiben müssen alle (!) Informationen neu gespeichert
    werden, weil sonst andere Teilinformationen überschrieben
    werden
    Vorteil: Teilinformationen sind längenunabhängig

auch richtig, aber zu umständlich. Am einfachsten ist es hier jeden „Satz“ in einer einzelnen Zeile zu schreiben und die Felder der Zeile mit eine Trenner zu versehen. Dann kann man einfach mit

while not eof (fnr)
 line input fnr, a
wend

durchlaufen bis man das richtige gefunden hat.

  1. Möglichkeit
    Windows bietet API-Funktionen für die Verwaltung von Ini-Dateien (nützlich bei Key/Value-Beziehungen)

Wenn du noch Fragen hast, frag…

genau.

holli

…einen TextStream via Scriptinghost einzulesen ist noch vieles bequemer!

lg, sf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

noch viel schöner und bequemer wäre doch ein XML File.

…einen TextStream via Scriptinghost einzulesen ist noch
vieles bequemer!

So was nennt man wohl mit Kanonen auf Spatzen schießen.

holli

So was nennt man wohl mit Kanonen auf Spatzen schießen.

Wieso? Ist doch sehr einfach zu implementieren und sehr einfach zu warten.

So was nennt man wohl mit Kanonen auf Spatzen schießen.

Wieso? Ist doch sehr einfach zu implementieren und sehr
einfach zu warten.

Und in deinem Setup-programm ist wieder eine dll mehr. Ganz zu schweigen von unnötigem Arbeitsspeicherverbrauch.

holli

Und in deinem Setup-programm ist wieder eine dll mehr.

Eine mehr oder eine weniger kommt doch auch nicht mehr draufan.
Ausserdem ist bei W2K msxml.dll dabei. Bei IE5 kommt es auch mit.
Sehr warscheinlich hat der Endkunde schon diese Voraussetzungen.

Ganz zu

schweigen von unnötigem Arbeitsspeicherverbrauch.

Ist doch kein Thema mehr! In diesem fall kann man ja den Speicher schnell wieder freigeben.

Gruss, Giuseppe

Und in deinem Setup-programm ist wieder eine dll mehr.

Eine mehr oder eine weniger kommt doch auch nicht mehr
draufan.
Ausserdem ist bei W2K msxml.dll dabei. Bei IE5 kommt es auch
mit.
Sehr warscheinlich hat der Endkunde schon diese
Voraussetzungen.

Da kannst du recht haben, aber du mußt es trotzdem mitliefern, da du nicht sicher sein kannst.
Für CDs ist das natürlich egal, aber wenn du die Software downloaden willst, kommts auf jedes KB an.

Ganz zu

schweigen von unnötigem Arbeitsspeicherverbrauch.

Ist doch kein Thema mehr! In diesem fall kann man ja den
Speicher schnell wieder freigeben.

So? Wie willst du den Speicher eines Controls wieder freigeben?

holli

So? Wie willst du den Speicher eines Controls wieder
freigeben?

Aber ich habe doch gar kein Control :wink:

Gruss, Giuseppe

Hallo!

Speicher freigeben müsste so gehen:

set control=nothing

Grüsse
Thomas