Werte in Datei speichern

  • Hallo,


    ich möchte gerne Werte aus einer Textdatei einlesen, manipulieren und dort wieder abspeichern.

    Dazu brauche ich das Expension Addon. Dieses habe ich schon.

    Ich weiß das es die Funktionen $fileopen $fileset etc. gibt jedoch nicht wie diese funktionieren.


    Gibt es hierzu wo eine Beschreibung (konnte dazu nichts finden)?

    Oder kann mir jemand erklären welche Funktionen ich benötige bzw. wie diese funktionieren?



    Folgende Fehlermeldung bekomme ich zurzeit:

    70: Invalid value for an instruction parameter. Consult VAL3 reference manual.


    Mein Code:

    Code
    l_nHandle=$fileOpen(sPath,"r")
    l_nRead=$fileGet(l_nHandle,sTime[0],1)
    $fileClose(l_nHandle)


    l_nHandle liefeert 0 zurück.

    Einmal editiert, zuletzt von ludr93 ()

  • ANZEIGE
  • Hallo,


    hier mal ein Beispielprogramm, das eine Datei einliest:



    Die Idee ist, dass so lange mit $fileGet Zeile für Zeile eingelesen wird, bis die eingelesenen Zeichen 0 (und damit leer) ist.


    Hier nochmals eine Beschreibung der Funktion $fileGet()


    num $fileGet(num nFileHandler, string& sLines[], num NbLines)

    Diese Anweisung liest nNbLines-Zeilen, speichert jede Zeile in einem Eintrag der Variablen nLines und gibt die Anzahl der effektiv gelesenen Zeilen zurück. Ein Zeilenende ist '\n' (0xa in binärer Form); die nachgestellten Zeichen \n und \r werden in der VAL3-Zeichenkette entfernt. Der nFileHandler ist der Dateibezeichner, der von der $fileOpen-Anweisung zurückgegeben wird.

    Beispiel: $fileGet(nFileHandler, sLines[10], 7) : liest und speichert 7 Zeilen in sLines[10], sLines[11], ... sLines [16].


    P.S.: Es ist auch möglich die Anzahl der einzulesenen Bytes anzugeben mit

    num $fileGet(num nFileHandler, num& nBytes[], num nNbBytes)



    Zum Schreiben von Dateien:


    num $fileSet(num nFileHandler, string sLine, num NbLines)

    Diese Anweisung schreibt nNbLines, die im Array sLines gefunden wurden, und gibt die Anzahl der effektiv geschriebenen Zeilen zurück. Nach jeder Zeichenfolge von sLines[] wird ein Zeilenende '\n' (0xa in binärer Form) geschrieben. Der nFileHandler ist der Dateibezeichner, der von der $fileOpen-Anweisung zurückgegeben wird. 5/7


    Beispiel: $fileSet(nFileHandler, sLines[10], 7) : schreibt sLines[10], sLines[11], ... sLines[16] in 7 verschiedene Zeilen.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden