txt datei ausgeben
txt datei ausgeben
Hi,
ich probier gerade eine komplette Textdatei in einem Fenster(Textgadget) anzeigen zulassen.
Allerdings funktioniert das nicht. Ich hab die komplette Datei eingelesen (also mit while eof, wie in der PB Hilfe) und wollte sie jetzt mit ReadString() ausgeben.
Aber es wird nichts angezeigt. Hat da jemand einen Tipp für mich?
ich probier gerade eine komplette Textdatei in einem Fenster(Textgadget) anzeigen zulassen.
Allerdings funktioniert das nicht. Ich hab die komplette Datei eingelesen (also mit while eof, wie in der PB Hilfe) und wollte sie jetzt mit ReadString() ausgeben.
Aber es wird nichts angezeigt. Hat da jemand einen Tipp für mich?
PB 4.20 Demo
- 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
Mit ReadString() kann man nichts ausgeben, sondern nur einlesen.
Am besten kann Dir geholfen werden, wenn Du Deinen bisherigen Code
hier postest
Am besten kann Dir geholfen werden, wenn Du Deinen bisherigen Code
hier postest

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Mit Readstring ausgeben? Am besten wär du Zeigst den Code mal...
Im Prinzip müsste es so gehen:
Im Prinzip müsste es so gehen:
Code: Alles auswählen
While Not Eof(fileid)
text$+ReadString(fileid)+Chr(10)
Wend
SetGadgetText(textgadgetid,text$)
(\/) (°,,,°) (\/)
Also ich hatte es in etwas so:
Habs nocheinmal umgeschrieben, entweder es funzt gar nicht oder aber es wird nur eine Zeile ausgegeben (was ReadString ja eigentlich auch machen soll...) aber ich möchte die komplette Datei anzeigen lassen.
Code: Alles auswählen
If ReadFile(0, "C:\text.txt")
While Eof(0) = 0
TextGadget(1, 10, 10, 250, 20, ""+ReadString(0) )
Wend
CloseFile(0)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
PB 4.20 Demo
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nochmal a code:
Du darfst nicht bei jedem Durchlauf ein 'neues' Textgadget erstellen, sondern
das musst du vorher im Window erstellen und dann nur mit SetGadgetText()
den Text setzen. Und das auch nur dann, wenn die Schleife beeendet ist.
In der schleife wird ja schon stext gesetzt.
Code: Alles auswählen
If OpenFile(#file,"C:\Text.txt")
While Eof(#file) = 0
stext.s + ReadString(#file) + Chr(10)
Wend
SetGadgetText(#textgadget,stext)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
das musst du vorher im Window erstellen und dann nur mit SetGadgetText()
den Text setzen. Und das auch nur dann, wenn die Schleife beeendet ist.
In der schleife wird ja schon stext gesetzt.
Win11 x64 | PB 6.20
nochmal a Hinweis: Wenn man eine existierende Datei lesend öffnen will,Andesdaf hat geschrieben:nochmal a code:Code: Alles auswählen
If OpenFile(#file,"C:\Text.txt")
nimmt man ReadFile() und nicht OpenFile(). OpenFile() erstellt die Datei,
wenn sie noch nicht vorhanden ist und das kann grade für Einsteiger wie
JanWellem sehr verwirrend sein.
(ausserdem fehlt ein CloseFile())
nochmal a code (ohne While-Wend-Schleife):
Code: Alles auswählen
FF = ReadFile(#PB_Any,"C:\Text.txt")
If FF
FileContent.s = Space(Lof(FF))
ReadData(FF, @FileContent, Len(FileContent))
CloseFile(FF)
SetGadgetText(#textgadget,FileContent)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
a²+b²=mc²
- 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
So sei verwirrtAndesdaf hat geschrieben:so nehme ich eigentlich immer OpenFile, aber für Anfänger ist es wirklich verwirrend.
(er will doch wohl nicht sagen, er sei kein Anfänger mehr

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
