Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Bildschirmschoner programmieren

von RedakteurMaoSeite 2 von 4

Parameter auswerten
Werden einem Programm beim Aufruf Parameter übergeben, so trennt das Betriebssystem diese vom eigentlichen Programmnamen ab und schreibt sie in einen extra für das Programm reservierten Speicherbereich. FB erleichtert uns das Ganze nocheinmal: Alle übergebenen Parameter werden in einem Array, Command, getrennt gespeichert. So wird zum Beispiel aus dem Aufruf "programm.exe -param1 -param2" das Array Command mit folgendem Inhalt:

IndexInhalt
0programm.exe
1-param1
2-param2

Um das jetzt wieder auf unseren Bildschirmschoner zu beziehen: Es muss nicht sein, dass Windows den Slash ( / ) verwendet, um Parameter anzuhängen. Es ist auch möglich, dass ein Bindestrich ( - ) verwendet wird. Zudem ist auch die Groß-/Kleinschreibung nicht fest definiert. (Hier helfen uns die Funktionen, die im Tutorial Stringmanipulation behandelt werden.)
Was machen wir also? Zuerst überprüfen wir, ob überhaupt ein Parameter angegeben wurde. Wenn nicht, beendet sich der (spätere) Bildschirmschoner / das (jetzige) Programm einfach.

If Command(1)="" Then
  End
End If

Wenn ein Parameter angegeben wurde, lösen wir uns das 2. Zeichen heraus (Merke: Das 1. Zeichen war entweder ein Slash oder ein Bindestrich.):

Param=Mid(Command(1), 2, 1)

Schlussendlich konvertieren wir ihn einfach in einen Kleinbuchstaben:

Param=LCase(Param)

Und jetzt können wir mittels Select-Case ganz einfach entscheiden, was bei welchem Parameter ausgeführt wird:

Select Case Param
  Case "s"
    ShowScreensaver
  Case "c"
    ConfigureScreensaver
  Case Else
    End
End Select

Klar ersichtlich: Mit "s" wird der Bildschirmschoner aufgerufen, mit "c" der Konfigurationsdialog. Was dir vielleicht aufgefallen ist, ist dass "p" für die Vorschau weggelassen wurde. Wie schon auf der letzten Seite erwähnt wird dies hier außer Acht gelassen, da wir hierzu auf die WinAPI und die Funktionen der GDI zugreifen müssen. (Und dies wäre der Stoff eines anderen Tutorials. ;)
Allgemein ist es ja ziemlich unschön, wenn sich ein Programm einfach so bei einer Falscheingabe oder aus sonstigen Gründen beendet. Bei einem Bildschirmschoner wäre es doch aber eher lästig, wenn eine Fehlermeldung "Falscher/kein Parameter!" angezeigt werden würde, wenn man versucht, ihn ohne Parameter (einfach so aus dem Explorer) mit Mausklick zu starten. ;)
Komplett lautet der Sourcecode unseres Grundgerüsts bisher also:

Dim As String Param
' Kein Parameter?
If Command(1)="" Then
  End
End If

' Gewünschtes Kommando isolieren
Param=Mid(Command(1), 2, 1)

Select Case Param
  Case "s"
    ShowScreensaver
  Case "c"
    ConfigureScreensaver
  Case Else
    End
End Select

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 09.06.2007 von RedakteurMao angelegt.
  • Die aktuellste Version wurde am 10.09.2009 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen