Wenn kein Trennzeichen als Parameter angegeben wird, wird solange gelesen, bis ein Zeilenende oder die maximale Anzahl an Zeichen erreicht ist. Ich hab mittlerweile aber schon beides ausprobiert, also sowohl mit, als auch ohne Trennzeichen. Das Ergebnis ist leider immer wieder dasselbe.
Beiträge von MarcR3yyII
-
-
Danke für die schnelle Antwort. Habe alles wie beschrieben umgesetzt. Habe auch das Code-Beispiel einmal als Vorlage genutzt. Trotzdem ist nach der Ausführung der String eingelesener_text[] leer. Die Stat.MSG_NO enthält nach wie vor die Fehlernummer -11.
-
Hallo zusammen,
ich möchte gerne aus einer Textdatei test.txt, die unter C:\KRC\ROBOTER\UserFiles liegt einen Text auslesen; eine Zeile, unbestimmte Anzahl, aber nicht mehr als ~50 Zeichen. Der CWRITE Befehl wird ausgeführt, jedoch mit einer Fehlermeldung. Die Stat.MSG_NO enthält nach Ausführung des Befehls den Wert -11; laut der Doku: "Mindestens ein Funktionsparameter besitzt einen ungültigen Wert.".
Die einzelnen Variablen werden nach der Deklaration initialisiert:
Code; --------------- ; INITIALISIERUNG ; --------------- RET_VAL = STRCLEAR(krd_file_name[]) RET_VAL = STRCLEAR(eingelesener_text[]) int_zeichen_gelesen = 0 file_handle = 0 Mode = #SYNC; krd_file_name[]="test.txt"; unter C:\KRC\ROBOTER\UserFiles\
Das öffnen der Datei und das Auslesen selbst sehen so aus:
Code
Alles anzeigen; -------------------------- ; TEXT AUS DATEI LESEN ; -------------------------- ; DATEI OEFFNEN im schreibenden und lesenden Zugriff (a+) CWRITE($FCT_CALL, Stat, Mode, "krl_fopen", krd_file_name[], "a+", file_handle) IF Stat.RET1 == #CMD_ABORT THEN ; DATEI OEFFNEN FEHLGESCHLAGEN ELSE ; PFAD AUS DATEI LESEN CWRITE($FCT_CALL, Stat, Mode, "krl_fgets", file_handle, eingelesener_text[], 256, int_zeichen_gelesen) RET_VAL_MSG_NO = Stat.MSG_NO
Das Öffnen funtioniert, das Auslesen jedoch nicht.
Es handelt sich um eine KRC4 Steuerung mit der Version 8.3.42
Ich komme nicht dahinter, wo das Problem liegt. Könnte mir da jemand helfen?
PS: Ist meiner erster Post. Ich weiß nicht, ob ich in der richtigen Kategorie, etc. gelandet bin