mac.scanner

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

 

Macintosh

Betreff: mac.scanner

BeitragDi, Sep 28, 2010 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
CScanner
Weil ich dachte das man's manchmal gebrauchen kann und grade Lust am proggen hatte, habe ich ein kleines Modul geschrieben was einem das Parsen von Strings erleichtern soll.

Beschreibung
mac.Scanner soll das Parsen von einfacheren Strings für einen übernehmen.
Dazu bietet das Modul verschiedene methoden, informationen aus Strings auszulesen.
Die CScanner Klasse ist, was Funktionsweise angeht, an die NSScanner Klasse aus dem Cocoa Framework angelehnt

Beispiele
Ein einfaches beispiel, das Strings ausgibt die zwischen "<" und ">" stehen.

BlitzMax: [AUSKLAPPEN]

SuperStrict
Import mac.scanner

Local scanner:CScanner = CScanner.Create("<html><head> </head><body> </body></html>")
Local str:String '

While(Not scanner.isAtEnd())

If scanner.scanUpToString( "<" )
If scanner.scanUpToStringIntoString( ">", str )
Print "Tag: " + str
Else
Print "> fehlt"
End
EndIf
Else
Print "< fehlt"
End
EndIf

Wend


Ein kleines Besipiel das eine Rechnung in einem string in einzelne "Tokens" zerlegt
BlitzMax: [AUSKLAPPEN]

SuperStrict
Import mac.scanner

Local scanner:CScanner = CScanner.Create("3 + 4.5 - 6 / 9")

Local operator:String
Local number:Double

While(Not scanner.isAtEnd())

If (scanner.scanStringIntoString("+",operator) Or scanner.scanStringIntoString("-",operator) Or scanner.scanStringIntoString("*",operator) Or scanner.scanStringIntoString("/",operator))

Print "Operator: " + operator

EndIf

If (scanner.scanDouble(number))

Print "Zahl: " + String(number)

EndIf

Wend

End



CScanner - Methoden

+ create:cscanner( string )

- setString( string )
- getString:string()
- setPosition( int )
- getPosition:int()
- setSkippChars( string )
- getSkippChars:string()

- isAtEnd:byte()

- scanInt:byte( int var )
- scanFloat:byte( float var )
- scanDouble:byte( double var )
- scanString:byte( string )
- scanStringIntoString:byte( string )
- scanUpToString:byte( string )
- scanUpToStringIntoString:byte( string )

Download
Download

Viel spaß :)
freue mich auf antworten, Kritik und Verbesserungsvorschläge.
mfg Johannes

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group