STRUCT in eine Datei schreiben (ST)

demon2000

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wie kann ich den Inhalt einer STRUCT in eine Datei schreiben (ST)?
Ich habe mit FileWrite und mit Pointer ausbrobiert die Daten werden geschrieben, aber auch viel anderes Mist.
Hat jemand vieleicht eine Lösung?
 
Wieviele Elemente hast du denn in deiner Struct?
Hilft es wenn du die Elemente einzeln via Pointer in die Datei schreibst?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Hab dies folgendermassen gelöst.
1. In einer Schrittkette das File zuerst öffen mit FB_FileOpen (Filehandle merken für den nächsten Schritt)

2. Abfüllen des Struct mit FB_FileWrite. Wobei bei mir "ProduktDaten" vom Typ des selbst definierten Structs ist (hoffe du verstehst was ich meine...).
Code:
fbFileWrite_Inst(
    sNetId:= '',
    hFile:= Filehandle,
    pWriteBuff:= ADR(ProduktDaten),
    cbWriteLen:= SIZEOF(ProduktDaten),
    bExecute:= TRUE,
    tTimeout:= T#5s,
    bBusy=> ,
    bError=> ,
    nErrId=> udiFileWriteErrorId,
    cbWrite=> udicbWrite);
3. Das geöffnete File über FB_FileClose schliessen.


Das ist so in etwa das Prozedere.
Beim FB_FileOpen musst du dich mal durchlesen. Dort gibt es verschiedene Modes, jenachdem was du so brauchst..... Ich hab es mit dem Mode
Code:
   nMode:= FOPEN_MODEWRITE OR FOPEN_MODEBINARY,
gelöst.

Gruss
Itus
 
Hallo,
was möchtest du denn mit dem file machen?
Ich habe mit FileWrite und mit Pointer ausbrobiert die Daten werden geschrieben, aber auch viel anderes Mist.
Wenn du dir daten in einem text file anschauen willst, musst du diese natürlich auch z.Bsp. in ASCII da rein schreiben. Du sagst du schreibst aus einem Struct, das klingt nach einem Datentyp der verschiedene Typen beinhaltet (also INT,TIME,BOOL ect.). Vorzugsweise schreibt man von einem String in die Datei. Doch wenn du spezielle Daten hast oder dein file für den import in eine excel Tabelle oder ähnliches aufbauen willst, musst du ja unter Umständen Trennzeichen und Zeilenumbrüche einfügen. Ich löse das immer über ein ARRAY [0..x,0..x] OF BYTE. In dieses Array schreibe ich alle daten konvertiert in ASCII Zeichen.
Wenn du die ganze Sache noch etwas konkretisierst kann man dir vielleicht besser helfen. Das Schreiben funktioniert ja, laut deiner Aussage.
 
Was für ein Zielsystem hast du denn?

z.B. von Beckhoff gibts für kleines Geld den XML Data Server. Da kannst komplette Strukturen in eine XML-Datei schreiben und auch wieder lesen. Hab ich schon oft eingesetzt und war sehr zufrieden! (vorallem wenn sich mal was in der Struktur ändert)

Link zur Beckhoff Seite


Gruß Bernd
 
Zurück
Oben