Microsoft Small Basic

Program Listing: LSQ570
' SmallBasic Version 1.0
' Funktion:
' Autor: Pappa Lapub
' Herkunft: http://social.msdn.microsoft.com/Forums/en-US/bc86767d-323c-4920-8118-16436fb3af02/
' ImportURL: http://smallbasic.com/program/?
' Extension:
' Kommentar: In TextBox eine Zeit in Sekunden eingeben.
' Die eingegebene Zeit soll dann im Programm ein bestimmtes Ereignis auslösen
' Variablen:
'
' --------------------------------------------------------------------------------
CRLF = Text.GetCharacter(13) + Text.GetCharacter(10)
Zeit = Controls.AddTextBox(10,10)
Start = Controls.AddButton("Start",180, 8)

Controls.ButtonClicked = OnButtonClick

Sub OnButtonClick
If Controls.LastClickedButton = Start Then
If Controls.GetTextBoxText(Zeit) <> "" Then
Sekunden = Controls.GetTextBoxText(Zeit)
CheckZahl()
If IsZahl Then
Aktion()
Else
GraphicsWindow.ShowMessage("Eingabe ist KEINE reine Zahl", "Eingabefehler")
EndIf
Else
GraphicsWindow.ShowMessage("Gib erst mal die Zeit [sec] ein.", "Keine Eingabe")
EndIf
EndIf
EndSub

Sub CheckZahl
IsZahl = "True"
For I = 1 To Text.GetLength(Sekunden)
Ascii = Text.GetCharacterCode(Text.GetSubText(Sekunden, I, 1))
If Ascii < 48 Or Ascii > 57 Then
IsZahl = "False"
EndIf
EndFor
EndSub

Sub Aktion
' hier weitere Verarbeitung von Sekunden, zB.
GraphicsWindow.ShowMessage(Sekunden + " [sec]", "Aktion (Korrekte Eingabe)")
Timer() ' eventuell ein Timer zum Aktonsstart nach Sekunden Wartezeit
EndSub

Sub Timer
Timer.Interval = 1000 * Sekunden
Timer.Tick = Zeitablauf
EndSub

Sub Zeitablauf
GraphicsWindow.ShowMessage("Deine Zeit ist nun abgelaufen!" + CRLF + Sekunden + " [sec]", "Zeitablauf")
EndSub