In Vollständig... Viel Spaß.
Code: Alles auswählen
;{ Enumeration
Enumeration 42
;Allgemein
#MainWindow
#XML
#Main3DWindow
EndEnumeration
;}
;{ Weitere Konstanten
#Title = "Test"
;}
;{ Initialisierungen
InitEngine3D()
InitSprite()
InitNetwork()
InitKeyboard()
InitMouse()
;}
;{ Variablen
Global ServerPort.l
;}
;{ Prozeduren
Declare Work()
Declare ReadSettings()
Declare WriteSettings()
;}
OpenWindow(#MainWindow, 0, 0, 1024, 768, #Title, #PB_Window_MinimizeGadget)
OpenWindowedScreen(WindowID(#MainWindow), 0, 0, 1024, 768, 0, 0, 0)
ReadSettings()
Repeat
ClearScreen(0)
ExamineMouse()
ExamineKeyboard()
Work()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
WriteSettings()
End
Procedure Work()
StartDrawing(ScreenOutput())
LineXY(MouseX()-1, MouseY(), MouseX()+1, MouseY(), RGB(255,255,255))
LineXY(MouseX(), MouseY()-1, MouseX(), MouseY()+1, RGB(255,255,255))
StopDrawing()
EndProcedure
Procedure ReadSettings()
If LoadXML(#XML, "settings.xml", #PB_UTF8)
*root = RootXMLNode(#XML)
*main = ChildXMLNode(*root)
*current = ChildXMLNode(*root)
While *current
Select GetXMLAttribute(*current, "type")
Case "port"
ServerPort = Val(GetXMLAttribute(*current, "value"))
EndSelect
*current = NextXMLNode(*current)
Wend
FreeXML(#XML)
Else
ServerPort = 74656
EndIf
EndProcedure
Procedure WriteSettings()
CreateXML(#XML, #PB_UTF8)
*root = RootXMLNode(#XML)
*main = CreateXMLNode(*root)
SetXMLNodeName(*main, "settings")
*current = CreateXMLNode(*main)
SetXMLNodeName(*current, "setting")
SetXMLAttribute(*current, "type", "port")
SetXMLAttribute(*current, "value", Str(ServerPort))
SaveXML(#XML, "settings.xml")
FreeXML(#XML)
EndProcedure