Seite 1 von 1

Absätze in einer *.txt datei entfernen? und ListIcon Prob!

Verfasst: 12.02.2006 12:51
von FISCHAUGE
Hi, ist es möglich, z.B. bei diesem Text:

Code: Alles auswählen

Das hier ist ein 

Absatz! 
denn text zu laden und den Absatz zu entfernen? Also so:

Code: Alles auswählen

Das hier ist ein
Absatz!
Vielen Dank schon mal!

Es würde auch ohne gehen! wenn ihr mir bei diesem Problem helfen könntet!

Code: Alles auswählen

ListIconGadget(220,560, 25, 230, 100, "A",50, #PB_ListIcon_GridLines)
    AddGadgetColumn(220, 1,"B", 50)
    AddGadgetColumn(220, 2,"C", 50)
    AddGadgetColumn(220, 3,"D", 50)
    AddGadgetColumn(220, 4,"E", 50)
    AddGadgetColumn(220, 5,"F", 50)
    AddGadgetColumn(220, 6,"G", 50)
  TextGadget(270,620,200,60,20,"",#PB_Text_Border)
TextGadget(280,560,200,50,20,"",#PB_Text_Border)
Wenn ich z.B. in Spalte A denn wert 50 als Text eintrage, und anschließend bei B denn wert 100, springt der Text bei A immer eine Position weiter nach unten. Wie kann ich das lösen?

Verfasst: 12.02.2006 13:03
von ts-soft
Zur ersten Frage:

Code: Alles auswählen

Define.s Tmp, Text
If ReadFile(0, "meintext.txt")
  While Not Eof(0)
    Tmp = ReadString(0)
    If Trim(Tmp) <> ""
      Text + Tmp + #CRLF$
    EndIf
  Wend
  CloseFile(0)
  MessageRequester("Mein Text", Text) 
EndIf

Danke!

Verfasst: 12.02.2006 13:21
von FISCHAUGE
Danke! TS-Soft, weiss jemmand vielleicht noch eine Lösung zu dem Problem mit dem ListIconGadget??

Vielen Dank

Verfasst: 12.02.2006 13:37
von Icke
Nöö, gib mal lauffähiges Codebeispiel...

Verfasst: 12.02.2006 13:51
von FISCHAUGE

Code: Alles auswählen

ReadFile(107,"test\res\"+GetGadgetText(80)+"_A.txt")
For a=0 To 10
text$=ReadString()
AddGadgetItem(220,a,text$)
Next
CloseFile(107)
Wenn ich nun das Programm starte, liest er mit diese Datei aus und schreibt in das ListIconGadget von Zeile 1-10 das ist ok.
Wenn ich aber noch eine Weitere Datei auslese, und diese in die Zweite Colum schreibe, schiebt er mir die einträge aus der ersten Colum um 10 Zeilen weiter nach unten!

Code: Alles auswählen

ReadFile(108,"test\res\"+GetGadgetText(80)+"_B.sms")
For b=0 To 10
text$=ReadString()
AddGadgetItem(220,b,Chr(10)+ text$)
Next
CloseFile(108)
Wie kann ich das lösen, so das er bei einträgen, in die nächste colum, nicht die einträge aus der vorherigen Spalte nach unten drückt??

Verfasst: 12.02.2006 14:31
von Icke
Ist klar, du musst die Daten in "einem" Stück ins Gadget schreiben. Also 2 möglichkeiten, entweder du liest (wenn du kannst) alle Dateien pararlell aus :

Code: Alles auswählen

ReadFile(107,"test\res\"+GetGadgetText(80)+"_A.txt")
ReadFile(108,"test\res\"+GetGadgetText(80)+"_B.txt")

For a=0 To 10
  UseFile(107)
  text1$=ReadString()
  UseFile(108)
  text2$=ReadString()
  AddGadgetItem(220,a,text1$+Chr(10)+text2$)
Next

CloseFile(107)
CloseFile(108)
oder du liest vor dem schreiben nachfolgender Spalten die davorliegenden aus, löscht den Eintrag und schreibst das gleich wieder mit rein:

Code: Alles auswählen

ReadFile(107,"test\res\"+GetGadgetText(80)+"_A.txt")

For a=0 To 10
  text1$=ReadString()
  merk$=GetGadgetItemText(220, a, 1)
  RemoveGadgetItem(220, a)
  AddGadgetItem(220,a,merk$+Chr(10)+text$)
Next

CloseFile(107)
So mal ganz grob überlegt ...

Edit :

Grad gesehen, SetGadgetItemText(#Gadget, Eintrag, Text$, Spalte) geht noch viel eleganter :oops:

Perfekt!!!

Verfasst: 12.02.2006 15:12
von FISCHAUGE
:allright:

Vielen Dank! Icke!

Verfasst: 12.02.2006 15:57
von Batze
Oder du benutzt SetGadgetItemtext().
Dann guckst du erst einmal ob die Spalte schon existiert und erstellst sie wenn sie es noch nicht ist.