Code: Alles auswählen
Global line.w
Global a_a.w
Global b_b.w
Global file$
file$ = OpenFileRequester("Öffne...","C:\","Map-Datei (*.map)|*.map|Textdatei (*.txt)|*.txt",0)
ReadFile(0,file$)
Procedure SearchOnFile(text$)
ReadFile(1,file$)
If text$ = ""
MessageRequester("Error","An SearchOnFile() wurde ein leerer String überreicht. Das Programm muss daher beendet werden.",0)
End
EndIf
Repeat
zeile$ = ReadString()
aaa = FindString(zeile$,text$,0)
If aaa
gefunden = 1
EndIf
Until Eof(1)
CloseFile(1)
If gefunden
ProcedureReturn 1
Else
MessageRequester("Error",text$+" wurde in der aktuellen Datei nicht gefunden!",0)
ProcedureReturn 0
End
EndIf
EndProcedure
Procedure BeginEndCheck(a$,b$)
ReadFile(1,file$)
If a$ = "" Or b$ = ""
MessageRequester("Error","An BeginEndCheck() wurden ein oder mehrere leere Strings überreicht. Das Programm muss daher beendet werden.",0)
End
EndIf
a_a = 0
b_b = 0
Repeat
zeile$ = ReadString()
X = FindString(zeile$,a$,0)
If X
a_a + 1
EndIf
Until Eof(1)
CloseFile(1) : ReadFile(1,file$)
Repeat
zeile$ = ReadString()
X = FindString(zeile$,b$,0)
If X
b_b + 1
EndIf
Until Eof(1)
If b_b > a_a
MessageRequester("Error","Es existieren mehr "+b$+" Schließungen als geöffnet werden.",0)
ProcedureReturn 0
End
ElseIf a_a > b_b
MessageRequester("Error","Es existieren mehr "+a$+" Öffnungen als geschlossen werden.",0)
ProcedureReturn 0
End
Else
ProcedureReturn 1
EndIf
EndProcedure
SearchOnFile("<game>") : SearchOnFile("</game>")
BeginEndCheck("<data>","</data>")
Repeat
line + 1
zeile$ = ReadString()
X = FindString(zeile$,"<area",0)
If X
Y = FindString(zeile$,"<area",X+1)
Z = FindString(zeile$,">",X+1)
If Y < Z
MessageRequester("Error","Line "+Str(line)+": Im Area-Element wurde vor dessen Schließung ein "+search$+"-Element entdeckt. Möglicherweiße könnte es auch sein, dass das Area-Element nicht geschlossen wird.",0)
End
EndIf
EndIf
Until Eof(0) = 1
End
Wann ich rauskommen will? Natürlich wenn Eof(0) zutrifft (Die ganze Datei durchgegangen)