CSV-Datei anlegen - neue Einträge am Dateianfang einfügen

SMark
2010-08-18
2010-08-24
  • SMark - 2010-08-18

    Hallo,

    es soll eine Datei erzeugt werden, in der neue Einträge am Dateianfang eingefügt werden.
    Gibt es die Möglichkeit mit SysFileOpen (Mode 'w') und SysFileSetPos Zeilen einzufügen?
    Wie verhält es sich dabei mit dem Zeilenumbruch?

    Danke!

     
  • gravieren - 2010-08-18

    Hi

    Zitat:
    es soll eine Datei erzeugt werden, in der neue Einträge am Dateianfang eingefügt werden.

    Nein, das geht nicht.

    Neuere "Datensätze" werden an das Ende der Datei gehängt.

    Du must halt eine Routine machen, die beim schliessen der Datei diese Datensätze in der gewünschten Reihenfolge umkopiert.

    Welche Hardware ?

     
  • SMark - 2010-08-20

    Ja, hab mich mittlerweile auch damit abgefunden.
    Zielsystem: Janz emCONTROL-A400

    Danke für die Antwort!

     
  • KlOis - 2010-08-24

    Hi,
    ich mach es mal kurz

    dwFile:=SysFileOpen(strFileName, 'rw');
    SysFileSetPos(dwFile, dwInternPos);
    SysFileWrite(dwFile, pbySource, dwSize);
    SysFileClose(dwFile);
    

    Bei mir hat es funktioniert, allerdings mit anderem Target als du.
    Viel Erfolg

    KlOis

    PS:
    mit ```

    SysFileGetPos(dwFile);

    ``` kannst du überprüfen ob das "Positionieren" im File geklappt hat.

     
  • gravieren - 2010-08-24

    Hi

    KlOis hat geschrieben:
    ich mach es mal kurz
    Bei mir hat es funktioniert, allerdings mit anderem Target als du.

    Gratuliere

    Eine Datei hat aktuell z.b. 100 Zeichen geschrieben.

    Nun positionierst du auf das 1.Zeichen und schreibst 20 Zeichen hinein.

    Das selbige macht du jetzt für alle neuen Zeichen die du schreiben willst.

    Sagen wir mal , daß du 10 x 20 Zeichen in diese Datei "hineinschreibst".

    O.K.

    Nun das grosse Wunder.

    Mit hilfe dieser Technik sparst du dir auch noch viel Speicherplatz

    Die neue Dateilänge hat nachwievor immer noch 100 Zeichen.

    Das sollte dir zu denken geben.

    Was läuft hier falsch

     
  • KlOis - 2010-08-24

    Ich spühre Sarkasmus oO

    Ist mir nach deinem hinweis aufgefallen:

    Ich habe die Datei als FiFo benutzt, wenn sie voll war von neuem Beschrieben...da ging es

    KlOis

     
  • gravieren - 2010-08-24

    Hi

    KlOis hat geschrieben:
    Ich spüre Sarkasmus oO
    Ist mir nach deinem hinweis aufgefallen:

    Ja, ist aber von mir NICHT böse gemeint.

    KlOis hat geschrieben:
    Ich habe die Datei als FiFo benutzt,
    wenn sie voll war von neuem Beschrieben...da ging es

    O.K. Das sollte damit klappen.

    Die Fragestellung war jedoch anders.

    Hätte ich beinahe vergessen:
    Hallo KlOis willkommen hier im Forum.

    Gruß Karl

     

Log in to post a comment.