Variablen aus Datei erstellen

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von =BT=Viper.

    Variablen aus Datei erstellen

    Ich möchte ein Programm schreiben das aus einer Datei Werte liest und daraus Variablen generiert.

    In der Datei steht könnte dann z.B. so aussehen:

    AP18 = Pfad1
    AP19 = Pfad2
    ...
    ...

    Da ich vorher nicht weiss wie viele AP[Nummer] darin stehen, kann ich vorher im Programm keine Variablen vordefinieren bzw. dimensionieren. (OK, ich könnte eine xbelibige anzahl reinhaun um sicher zu gehen, könnte dann aber in die 1000 gehen.)

    Gibt es also eine Möglichkeit Variablen im VB selber erstellen zu lassen?

    Ich hab mal VB2005 installiert und stelle fest das sich die Syntax schon um einiges geändert hat.
    Ich möchte mit dem Programm Dateinamen lesen und sie in einen bestimmten Ordner kopieren, der in der oben beschriebenen Datei definiert wird. Wieviele Ordner es gibt sollte also auch in der Datei definiert werden können.

    Würdet ihr dafür VB2005 oder normales VB verwenden?
    Habe früher QBasic und zuletzt nur Excel Makros programmiert.

    Vielen Dank vorab für die Hilfe.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „=BT=Viper“ ()

    Hi,

    Würdet ihr dafür VB2005 oder normales VB verwenden?


    Ich persönlich bevorzuge prinzipiell VB6.

    Über die Vor- und Nachteile der einzelnen Sprachen gibt es hier schon diverse Threads.

    Da ich vorher nicht weiss wie viele AP[Nummer] darin stehen,...

    Verwende ein dynamisches Array:

    Quellcode

    1. Dim AP() as string


    Die Größe wird (neu) dimensioniert mit:

    Quellcode

    1. ReDim Preserve AP(x)


    Wenn Du also Deine Datei Zeileweise durchgehst, veränderst Du mit jeder Zeile die Größe Deines Arrays.

    Abfragen kannst Du das Ganze dann mit:

    Quellcode

    1. MsgBox = AP(x)



    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Öffne die Datei und geh diese Zeile für Zeile durch unf erweiter Stück für Stück dein Array:

    Visual Basic-Quellcode

    1. Dim AP() as string, l as string, i as integer
    2. redim AP(0)
    3. open "datei.txt" for input as #1
    4. while not eof(1)
    5. line input #1, l
    6. i = instr(1,l,"=") 'Position des = suchen
    7. ReDim Preserve AP(ubound(AP)+1)
    8. AP(ubound(AP)) = Right$(l,len(l)-i)
    9. wend
    10. close #1
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()

    Ich versuche nun die Grenze des Arrays mit einer Variable zu definieren.

    Die Zeile in meiner Textdatei sieht ja so aus:

    17=c:\temp

    Visual Basic-Quellcode

    1. Dim AP() As String
    2. Dim zeile As String
    3. Dim i As Integer
    4. Dim nummer
    5. Dim x
    6. Dim y
    7. 'AP zeile aus Datei lesen
    8. '*********************************
    9. ReDim AP(0)
    10. Open "c:\temp\test.ini" For Input As #1
    11. While Not EOF(1)
    12. Line Input #1, zeile
    13. i = InStr(1, zeile, "=")
    14. nummer = Left$(zeile, 2)
    15. ReDim Preserve AP(nummer)
    16. AP(nummer) = Right$(zeile, Len(zeile) - i)
    17. Wend
    18. Close #1
    19. x = AP(17)


    Klappt auf die Art natürlich nicht.
    Geht das überhaupt?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „=BT=Viper“ ()