Datei auf String überprüfen

Anfängerfragen zum Programmieren mit PureBasic.
Jume

Datei auf String überprüfen

Beitrag von Jume »

Code: Alles auswählen

If ReadFile(0, "admin.txt")
      While Eof(0) = 0
      admins$ = ReadString(0)
      Wend 
      CloseFile(0)
    EndIf 

Tag Leute,

wie mach ich es das der die Datei ausliest und admins$ = alle zeilen bedeutet. Soll heißen, ich will überprüfen ob ein bestimmter Name in der Datei zu finden ist und wenn ja dann soll er eine bestimmte Sache machen.
Ich habe alles ausprobiert, von countstring() bis findstring() usw. und so fort.

Denn nun liest er immer NUR die letzte Zeile aus, bzw. teilt der Variable "admins$" nur die letzte Zeile zu.

Bekomme es nur hin das er "admins$" entweder der ersten Zeile oder eben der letzten zuteilt.

lg :lurk:
Sirius-2337
Beiträge: 71
Registriert: 29.05.2010 20:55

Re: Datei auf String überprüfen

Beitrag von Sirius-2337 »

Wenn ich dich richtig verstehe willst du die ganze Datei in eine String-Variable speichern, richtig?
Das sähe dann z.B. so aus.

Code: Alles auswählen

If ReadFile(0, "admin.txt")
  admins$ = ""
  While Eof(0) = 0
    admins$ + ReadString(0)
  Wend
  CloseFile(0)
EndIf 
Jume

Re: Datei auf String überprüfen

Beitrag von Jume »

Das ist ja spitzenmäßig, so einfach hehe ... dankeschöööön =)


nun ist es jedoch so, das er den gesamten inhalt der textdatei in einer zeile als admins$ speichert. kann man das so machen das er jede einzelne zeile in der textdatei überprüft ob das bestimmte wort was gesucht wird.. vorhanden ist ?
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Datei auf String überprüfen

Beitrag von Bisonte »

nur die prüfung ob das wort admin irgendwann im File vorkommt ?
Da warst Du mit Findstring() schon richtig...

Code: Alles auswählen

If ReadFile(0, "admin.txt")
  While Eof(0) = 0
    admins$ = ReadString(0)
    If FindString(admins$,"admin",1)
      Debug "Admin gefunden... nun irgendwas tun..."
    EndIf
  Wend
  CloseFile(0)
EndIf 
Edit: Ups zu spät aber trotzdem noch passend zur 2. Frage ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Jume

Re: Datei auf String überprüfen

Beitrag von Jume »

habe das dann jetzt nochmal genauso ausprobiert wie beschrieben mit findstring() aber da liest er wieder nur die letzte zeile aus der textdatei und weißt der letzten zeile die variable admins$ zu.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Datei auf String überprüfen

Beitrag von Bisonte »

es geht nur darum (in meinem Beispiel) um festzustellen ob IRGENDWO im File das Wort "admin" vorkommt...
War in der Eröffnung nicht wirklich ersichtlich.

Jetzt liegt es an Dir, beide Varianten zu kombinieren ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei auf String überprüfen

Beitrag von Kiffi »

kann mir schon vorstellen, wo Dein Fehler liegt. Hier Bisontes Code ein wenig abgewandelt:

Code: Alles auswählen

If ReadFile(0, "admin.txt")
  While Eof(0) = 0
    EingelesenerString$ = ReadString(0)
    If FindString(EingelesenerString$,"admin",1)
      admin$ = EingelesenerString$
      Break
    EndIf
  Wend
  CloseFile(0)
EndIf
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Datei auf String überprüfen

Beitrag von Bisonte »

Bisonte hat geschrieben:Jetzt liegt es an Dir, beide Varianten zu kombinieren ;)
Naja... oder auch nicht...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Jume

Re: Datei auf String überprüfen

Beitrag von Jume »

ich habs nun hinbekommen. habe eine es tatsächlich die ganze zeit schon richtig gemacht aber nicht durchblickt das ich ja auch "admins$" durchsuchen kann mit findstring wenn das alles in einer zeile sthet :allright:

nun hab ich es durchblickt und es klappt prima, dankesehr leute ! :bounce:
Antworten