@init
PROCEDURE init
  OPENW #2,180,0,404,10,786432,2+4096
  titel$="Q-Menu  C:"+STR$(AvailMem(2))+"  F:"+STR$(AvailMem(4))+"  "+DATE$+"  "+TIME$+" "
  TITLEW #2,titel$
  DIM m$(300),exec$(300)
  FOR p%=0 TO 11
    READ m$(p%)
  NEXT p%
  IF EXIST("S:Q-MENU.CFG") THEN
    OPEN "I",#1,"S:Q-MENU.CFG"
    WHILE NOT EOF(#1)
      INPUT #1,m$(p%)
      INPUT #1,exec$(p%)
      exec$(p%)="run "+exec$(p%)
      INC p%
    WEND
    CLOSE #1
  ENDIF
  m$(p%)=""
  MENU m$()
  ON MENU GOSUB zweig
  DO
    adr%=WaitPort(LPEEK(WINDOW(2)+86))
    GOSUB mem
    SLEEP
  LOOP
RETURN
PROCEDURE zweig
  p%=MENU(0)
  SELECT p%
    REM ----------------------   1. Menu, braucht das Programm selber   -----
  CASE 9
    OPENW #1,0,11,640,188,0,4098
    TITLEW #1,"»»»»»»»»   Kurzanleitung zum Q-Menu-CFG   FD-Soft 1991  Werner Ammann   ««««««««"
    PRINT
    PRINT "   -->   Mit Vorteil wird dieses Programm aus dem CLI gestartet !!   <--"
    PRINT
    PRINT "   Q-Menu mit Konfigurationsfile,  auf vielfachen Wunsch hin verwirklicht."
    PRINT "   Dieses Programm entspricht beinahe vollständig dem  Q-Menu von mir, nur"
    PRINT "   wird hier ein Konfigurationsfile dazu benötigt, das sich im S: befinden"
    PRINT "   muss und Q-MENU.CFG heisst."
    PRINT "   Gegenüber der anderen Q-Menu Version wird hier der GFA-Compiler nicht"
    PRINT "   gebraucht, das Konfigurationsfile kann mit einem Editor erstellt werden."
    PRINT "   Hier sind die Eingabeanweisungen:"
    PRINT "   Links der Menüpunkt, rechts das EXEC-File."
    PRINT "   Untermenüs beginnen mit einem Ausrufezeichen."
    PRINT "   Um ein neues Menu zu beginnen, wird eine Zeile mit einem Komma eingefügt."
    PRINT "   Die dann folgende Zeile ist der Menütitel, wird mit Komma abgeschlossen!"
    PRINT "   Beachte auch die Grenzen des WB-Screens bei vielen Menüs !"
    PRINT
    PRINT "                                                   Werner, im Januar 1991"
    PRINT
    PRINT "                            Mausklick !";
    REPEAT
    UNTIL MOUSEK
    CLOSEW #1
  CASE 10
    CLOSEW #2
    EDIT
    REM -------------------    Ab hier geht's los mit den BenutzerEXEC's   ---
  CASE p%
    EXEC exec$(p%),-1,-1
  ENDSELECT
RETURN
PROCEDURE mem
  INC q%
  IF q%=10 THEN
    titel$="Q-Menu  C:"+STR$(AvailMem(2))+"  F:"+STR$(AvailMem(4))+"  "+DATE$+"  "+TIME$+" "
    q%=0
    VSYNC
    TITLEW #2,titel$
  ENDIF
RETURN
REM
REM -------------------- Ab hier sind die DATA's
REM -------------------- ACHTUNG! Folgende Anzahl Zeilen nicht verändern,
REM --------------------          Sonst stimmt die Menuberechnung nicht mehr !
REM
DATA Info ,Information
DATA !       Q-Menu  in GFABASIC
DATA !        von Werner Ammann
DATA !    Hasliblock  8554 Hasli TG
DATA !         054 / 63 22 37
DATA !      Versionsnummer: 1.0c
DATA ! Besten Dank für die Mithilfe an
DATA !          Beat Lütolf
DATA Anleitung,ENDE,
