Seite 1 von 1

Solved: WriteString / WritestringN

Verfasst: 01.11.2013 17:19
von christophe
Hallo Zusammen,

Ich will in einem File einen String am Anfang einfügen.
Mit WriteString oder mit WritestringN wird der String immer am Ende angesetzt.
Gibt es eine Möglichkeit das zuändern?

Danke

Christophe

Re: WriteString / WritestringN

Verfasst: 01.11.2013 17:46
von ts-soft
Nein, Du kannst den Text in einer Datei nicht einfach verschieben :wink:
Lese die ganze Datei und schreibe dann eine neue unter demselben namen,
wobei Du zuerst Deine Zeile schreibst. Dies sollte das einfachste sein.

Gruß
Thomas

//edit
Beispiel:

Code: Alles auswählen

Procedure InsertFirstLine(File.s, Line.s)
  Protected FF, Format, size, *mem
  
  FF = ReadFile(#PB_Any, File)
  If FF
    Format = ReadStringFormat(FF)
    size = Lof(FF)
    *mem = AllocateMemory(size, #PB_Memory_NoClear)
    If *mem
      ReadData(FF, *mem, size)
    EndIf
    CloseFile(FF)
    
    If *mem
      FF = CreateFile(#PB_Any, File)
      If FF
        WriteStringFormat(FF, Format)
        WriteStringN(FF, Line, Format)
        WriteData(FF, *mem, size)
        CloseFile(FF)
      EndIf
      FreeMemory(*mem)
    EndIf
  EndIf
EndProcedure

Re: WriteString / WritestringN

Verfasst: 01.11.2013 20:46
von christophe
Hallo Thomas

Vielen Dank, Deine Antwort und das Bespiel helfen mir schon viel weiter, auch an anderer Stelle.

Gruss

Christoph

P.S.
Wo ist der Danke Knopf?

Re: WriteString / WritestringN

Verfasst: 01.11.2013 21:06
von ts-soft
christophe hat geschrieben:Wo ist der Danke Knopf?
In meiner Signatur :D