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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

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

Beitrag 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?
Na alles Senkrecht?
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

Beitrag 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
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
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Danke!

Beitrag von FISCHAUGE »

Danke! TS-Soft, weiss jemmand vielleicht noch eine Lösung zu dem Problem mit dem ListIconGadget??

Vielen Dank
Na alles Senkrecht?
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Nöö, gib mal lauffähiges Codebeispiel...
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag 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??
Na alles Senkrecht?
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag 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:
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Perfekt!!!

Beitrag von FISCHAUGE »

:allright:

Vielen Dank! Icke!
Na alles Senkrecht?
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Antworten