TextoutputStream ohne Überschreiben in RB200

  1. KonBon

    KonBon Thread Starter MacUser Mitglied

    Mitglied seit:
    11.02.2003
    Beiträge:
    4.686
    Zustimmungen:
    20
    Ich habe folgenden Code:

    Code:
    Dim file As FolderItem 
    Dim fileStream As TextOutputStream 
    
    file= GetFolderItem("Datenbank.txt") 
    fileStream = file.CreateTextFile 
    
    If file.Exists then 
    fileStream.Writeline txtVorschau.text 
    fileStream.Close 
    end if

    Er (der böse Code) überschreibt die Datei "Datenbank.txt" jedes mal, er soll aber einfach nur eine neue Zeile mit dem Wert aus "txtVorschau.text" in das vorhanden File schreiben.
    Alte Einträge dürfen auf keinen Fall gelöscht bzw. überschrieben werden.
     
    KonBon, 02.10.2005
    #1
  2. eloso

    eloso MacUser Mitglied

    Mitglied seit:
    30.11.2003
    Beiträge:
    154
    Zustimmungen:
    3
    Also ich habe zwar absolut 0 Ahnung von RB200, aber da noch niemand geantwortet hat, versuch ich mal den Schuss ins Blaue ;-). Vielleicht solltest Du statt "fileStream = file.CreateTextFile" lieber soetwas wie "fileStream = file.AppendTextFile" oder "fileStream = file.OpenTextFile" benutzen. Oder vielleicht kannst Du CreateTextFile noch einen Parameter mit übergeben.

    Nur mal so geraten. Vielleicht hilft's Dir ja ;-)
     
    eloso, 03.10.2005
    #2
  3. KonBon

    KonBon Thread Starter MacUser Mitglied

    Mitglied seit:
    11.02.2003
    Beiträge:
    4.686
    Zustimmungen:
    20
    Tag, habe das Problem kurz vor deinem Post gelöst bekommen. Etwa so wie du es sagtes, sieht nun so aus und funktioniert:

    Code:
      Dim file As FolderItem
      Dim fileStream As TextOutputStream
      Dim TextInput As TextInputStream
      Dim s As String
      
      file= GetFolderItem("Datenbank.txt")
      
      If file.Exists then
        TextInput = file.openAsTextFile
        s=TextInput.readAll(encodings.UTF8)
        TextInput.Close
        fileStream = file.CreateTextFile
        fileStream.write DefineEncoding(s, encodings.UTF8)
        fileStream.Writeline DefineEncoding(txtVorschau.text, Encodings.UTF8)
        fileStream.Close
      Else
        MsgBox("Die Datei existiert nicht!"+EndOfLine+EndOfLine+"Skandal, wer ist hier für diese Scheiße verantwortlich?")
      end if
      
     
    KonBon, 03.10.2005
    #3