batmenu V1.04 (1999-01-24)


Kostis Netzwerkberatung
Talstr. 25, D-63322 Rödermark
Tel. +49 6074 881056, FAX 881058
kosta@kostis.net (Kosta Kostis)
http://www.kostis.net/


Funktion

Auswahlmenü unter MS-DOS. Liefert Auswahlergebnis im ERRORLEVEL.

Typ

Extern

Format

batmenu zeile spalte Menüpunkt1 [Menüpunkt2 ...]

oder

batmenu datei

Zeilen und Spalten zählen ab 1. Wird für Zeile oder Spalte eine 0 angegeben, so wird die Auswahl automatisch zentriert. Wenn als Parameter eine Datei angegeben ist, so muß die Datei folgenden Inhalt haben:

Inhalt Beispiel
; Kommentare ; Menü für die Heavies
# Zeile Spalte Titel # 0 0 Menü für die Heavies
Menüpunkt1 1 MS-DOS Eingabeaufforderung
Menüpunkt2 2 Microsoft Windows 3.11
usw.  

Bemerkungen

Diese Programm ist die Neuauflage eines Turbo Pascal Programmes von Rolf Zinn (Rolf.Zinn@igmetall.de) aus dem Jahr 1994, welches durch Borlands unendliche Weisheit bei schnellen Prozessoren (z. B. Pentium II 233 MHz) einen Runtime 200 Fehler lieferte. Da das Programm nicht mehr in Quellform vorlag und sich auch nicht patchen ließ, habe ich das Programm nach erfolgtem Auftrag nachgeschrieben und mit Borland C++ 3.1 und unter Verwendung eigener Bibliotheken (masklib, menulib) übersetzt. Dadurch ist batmenu.exe leider um ca. 12000 Byte größer.

Mit den Cursor-Tasten kann ein Menüpunkt angewählt und mit der Enter-Taste ausgewählt werden. Alternativ kann das erste Zeichen eines jeden Menüpunktes direkt angewählt werden. Hier ist die Bestätigung mit der Enter-Taste nicht mehr notwendig. Das Ergebnis wird im ERRORLEVEL zurückgeliefert, wobei 1 für den ersten Menüpunkt steht.

batmenu löscht den Bildschirm absichtlich nicht. Wer ein Menü auf gelöschten Bildschirmhintergrund will, wird den MS-DOS Befehl CLS vorher bemühen müssen. Nach Beendigung von batmenu steht der Cursor direkt unter letzten Zeile der Auswahlmaske. Das Original-Programm wurde um folgende Tasten und Funktionen erweitert:

Taste Funktion
Pos1 Zum Anfang des Menüs springen
Ende Zum Endes Menüs springen
Esc Menü ohne Auswahl beenden (liefert ERRORLEVEL 0)

Bei Menüeinträgen wird grundsätzlich das Zeichen "_" durch ein Leerzeichen " " ersetzt um das Verhalten des Original-Programmes nachzuahmen.

Einen offensichtlichen Unterschied zum Original-Programm gibt es. Der normale Text-Cursor blinkt links neben dem aktuell angewählten Menü-Eintrag. Beim Original-Programm war der Cursor deaktiviert. Ich denke dieser Unterschied ist verschmerzbar. Es gibt drei zusätzliche Fehlerkodes:

Kode Bedeutung
253 interner Fehler (sollte wirklich nie auftauchen)
254 Fehler beim Öffnen der Menüdatei
255 Syntax Fehler

Beispiel

batmenu 0 0 1_MS-DOS_Eingabeaufforderung 2_Microsoft_Windows_3.11

Es erscheint zentiert auf dem Bildschirm eine Maske, die zwei Menüpunkte hat. Je nach gewählten Menüpunkt liefert batmenu den ERRORLEVEL 1 oder 2.

Autor/Copyright

Copyright © 1998-1999 by Kostis Netzwerkberatung
Talstr. 25, D-63322 Rödermark, Tel. +49 6074 881056, FAX 881058
kosta@kostis.net (Kosta Kostis), http://www.kostis.net/

Dieses Programm darf kostenfrei auf eigenes Risiko verwendet werden.