txt datei auslesen

Anfängerfragen zum Programmieren mit PureBasic.
mx03
Beiträge: 47
Registriert: 29.09.2006 22:44

txt datei auslesen

Beitrag von mx03 »

ich habe ein programm geschrieben was zeile für zeile überprüft ob 123 vorkommt jedoch wenn er 123 findet macht der mir kein debug ------- rein
was stimmt an dem code nicht?

Code: Alles auswählen

test$ = "123"
OpenFile(0, "test.txt")
Repeat
Debug  text$+ReadString()
If text$ = test$
Debug "------"
EndIf 
Until Eof(0)<>0
CloseFile(0)
4
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

text$ ist hier die ganze Zeit ein Leerstring!
Sieh dir den Unterschied mal an, dann siehst du, was ich meine!

Code: Alles auswählen

test$ = "123" 
OpenFile(0, "test.txt") 
Repeat 
     text$=ReadString() 
     Debug text$
     If text$ = test$ 
          Debug "------" 
     EndIf 
Until Eof(0)<>0 
CloseFile(0) 
Jetzt wird in txet$ jedes Mal die aktuelle zeile gespeichert. Dann wird ausgewertet. Die zeile, die du da hast mit dem Debug, das wird so nichts.

Wenn ich dir einen Tipp geben darf: Schau dir mal den Befehl FindString() an, wenn es darum geht, Strings in Strings zu finden :wink:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
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 »

@AND51
Wie wäre es, wenn Du vorbildhaft ein If einfügen würdest. Wenn test.txt nicht
existiert oder schreibgeschützt ist, wird es wohl probleme geben :mrgreen:
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
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ich weiß, was du meinst. Aber soetwas lasse ich bei so Präsentationen wie gerade imemr extra weg, weil es sonst du unübersichtlich wird. Es kommt hier ja nur auf die Funktionalität an.

So'n If kann jeder selbst einfügen, wenn er will. Außerdem, ne? Was soll bei OpenFile() schiefgehen, hm? Wenn die Datei nicht existiert, wird sie neu angelegt :mrgreen:

Bätsch! Nur bei Create- / ReadFile-hättest du mir das Wasser reichen können. Ausnahme, wo ich dir gleich vorweg den Wind aus den Segeln nheme: Beispielsweise auf CD-ROMs würden Programme mit OpenFile abstürzen, weil auf CDs niemals Lese UND Schreib-Rechte vergeben werden können, hier hilft nur ReadFile wo man dann If-Abfragen einbauen müsste. :wink:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> hättest du mir das Wasser reichen können.

lalelu.. hei söhnchen, halde ma de ball flach, oki?
mach ma onkel ts nich an, das bringet nich, ey. ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Haaaaach, TS-Soft und ich sind doch noch immer gute Kollegen, nicht wahr? :D

Uns kann nichts so schnell erschüttern... 's war ja auch nicht so böse gemeint! :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
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 »

AND51 hat geschrieben:Was soll bei OpenFile() schiefgehen, hm? Wenn die Datei nicht existiert, wird sie neu angelegt :mrgreen:
Auf nem schreibgeschützten Datenträger auch?
Hier ist das Anfängerforum, da sollten solche Anfängerfehler nicht
auftauchen. Was Du es sonst so machst, ist es mir schnurz, solange Du Deine
Programme nicht auf meine Festplatte schieben kannst :mrgreen:
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
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Den Wind hab ich dir doch vorher schon aus den Segeln genommen, aber du hast vollkommen recht, :praise: TS-Soft.

Nur, mir gings, wie gesagt, hier nur um das Kernproblem. Auf solche Dinge, das man zur Sicherheit überall gesonderte IF-Abfragen einsetzen sollte, sollte jeder Einsteiger irgendwann auch kommen.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Auf solche Dinge, das man zur Sicherheit überall gesonderte IF-Abfragen
> einsetzen sollte, sollte jeder Einsteiger irgendwann auch kommen.

weisst Du AND51, in einem Anfängerforum sollte man Hilfesuchende nicht absichtlich in's offene Messer laufen lassen, nur weil man keine Lust hat,
einen vernünftigen Code zu posten.

Grüße ... Kiffi
Zuletzt geändert von Kiffi am 18.10.2006 20:09, insgesamt 1-mal geändert.
a²+b²=mc²
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Kiffi hat geschrieben:weisst Du AND51, in einem Anfängerforum sollte man Hilfesuchende nicht in's
offene Messer laufen lassen, nur weil man keine Lust hat, einen vernünftigen
Code zu posten.
yo, bro, that's right.
....der kleine wirds auch noch checken...
...vielleicht hat er ja mal später ne anfängerfrage, wie jeder von uns...
...keinem wächst code ausm arsch...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten