Solved: WriteString / WritestringN

Anfängerfragen zum Programmieren mit PureBasic.
christophe
Beiträge: 14
Registriert: 25.08.2011 11:14

Solved: WriteString / WritestringN

Beitrag 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
Zuletzt geändert von christophe am 01.11.2013 20:47, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: WriteString / WritestringN

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
christophe
Beiträge: 14
Registriert: 25.08.2011 11:14

Re: WriteString / WritestringN

Beitrag 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?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: WriteString / WritestringN

Beitrag von ts-soft »

christophe hat geschrieben:Wo ist der Danke Knopf?
In meiner Signatur :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten