home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 09 / anwendg / d_menu.prg < prev    next >
Encoding:
Text File  |  1989-06-21  |  4.0 KB  |  112 lines

  1. * -------------------------------------------------------- *
  2. *                    D_MENU.PRG                            *
  3. *    Demo der Möglichkeiten der Menütechnik in dBase IV    *
  4. *            (c) 1989 E.Schubert & TOOLBOX                 *
  5. * -------------------------------------------------------- *
  6. * Die erste Option des Zeilenmenüs "HAUPT" aktiviert sofort
  7. * POPUP-Menü "FIRST".                                                        
  8. * Dieses Menü listet alle verfügbaren *.dbf - Dateien auf 
  9. * und bietet die Möglichkeit, eine Datenbank auszuwählen. 
  10. * Wird die Wahl durch <RETURN> bestätigt, wird die gewählte 
  11. * Datenbank geöffnet, das POPUP-Menü "SECOND" listet die 
  12. * verfügbaren Felder der aktuellen Datenbank auf. Nach 
  13. * Auswahl eines Feldes listet das POPUP-Menü "THIRD" alle 
  14. * Werte des gewählten Feldes auf.                                                                       *
  15. * Die zweite Option des Hauptmenüs dient nur zur Kontrolle 
  16. * der gewählten Werte - an dieser Stelle sind der Phantasie 
  17. * keine Grenzen gesetzt, wie die Variablen 
  18. *            db_val   = gewählte Datenbank                                    
  19. *            feld_val = gewähltes Feld                                        
  20. *            wert_val = gewählter Wert                                        
  21. * in Anwendungsprogrammen sinnvoll eingebunden werden können                 
  22. * -------------------------------------------------------- *
  23.  
  24. SET SCOREBOARD OFF
  25. SET STATUS     OFF
  26. SET TALK       OFF
  27. SET MESSAGE    TO
  28. @ 0,0 CLEAR
  29.  
  30. * Variablen für Auswahl in den folgenden Menüs vorbelegen 
  31.   dbval   = 'NO_DBank'
  32.   feldval = 'NO_FIELD'
  33.   wertval = 'NO_WERT'
  34.  
  35. * Zeilenmenü definieren
  36.   DEFINE menu haupt
  37.   DEFINE pad haupt_1 OF haupt PROMPT ;
  38.          "Datenbank auswählen" at 4,2;
  39.          MESSAGE "Auswahl der Datenbank mit " + ;
  40.          "Pfeiltasten, bestätigen mit RETURN"
  41.   DEFINE pad haupt_2 OF haupt PROMPT ;
  42.          "Gewählte Werte anzeigen" at 4,32
  43.   DEFINE pad haupt_3 OF haupt PROMPT "ENDE" AT 4,62
  44.  
  45. * Cursor auf der Option "Datenbank auswählen" aktiviert 
  46. * sofort das erste POPUP-Menü
  47.   ON pad haupt_1 OF haupt ACTIVATE POPUP first
  48.  
  49. * im Unterschied dazu muß die Anwahl der zweiten Option 
  50. * mit RETURN bestätigt werden
  51.   ON SELECTION pad haupt_2 OF haupt DO zeigen
  52.  
  53. * geht sofort zur db-Punkt-Ebene zurück, in Anwendungs-
  54. * programmen sollte hier besser eine Prozedur stehen, die 
  55. * die SET-Befehle auf die Standardwerte zurücksetzt
  56.   ON SELECTION pad haupt_3 OF haupt RETURN
  57.  
  58. * erstes POPUP-Menü soll alle Datenbanken auflisten
  59.   DEFINE POPUP first from 6,3 PROMPT FILES LIKE *.dbf
  60.   ON SELECTION POPUP first DO anz
  61.  
  62. * Hauptmenü aktivieren
  63.   ACTIVATE menu haupt
  64.  
  65. * EOP d_menu.prg
  66.  
  67.  
  68. PROCEDURE anz
  69. * wird bei Auswahl einer Datenbank im 1. POPUP aufgerufen
  70.   dbval = prompt()
  71. * Funktion prompt() merkt gewählte Option, hier die 
  72. * ausgewählte Datenbank, die mit dem folgenden Befehl 
  73. * geöffnet wird
  74.   use &dbval.
  75. * das nächste Menü zeigt die Felder der Datenbank
  76.   DEFINE POPUP second FROM 8,20 PROMPT STRUCTURE
  77.   ON SELECTION POPUP second DO anz1
  78.   ACTIVATE POPUP second
  79.   DEACTIVATE POPUP
  80. RETURN
  81.  
  82. PROCEDURE anz1
  83. * wird bei Auswahl eines Feldes im 2. POPUP aufgerufen
  84.   feldval = prompt()
  85. * feldval nimmt das gewählte Feld auf
  86. * das nächste Menü listet den Inhalt des angewählten Feldes
  87.   DEFINE POPUP third FROM 10,30 PROMPT FIELD &feldval.
  88.   ON SELECTION POPUP third DO ende
  89.   ACTIVATE POPUP third
  90.   DEACTIVATE POPUP
  91. RETURN
  92.  
  93. PROCEDURE ende
  94. * wird bei Auswahl eines Feldinhaltes im dritten 
  95. * POPUP - Menü aufgerufen
  96.   wertval = prompt()
  97.   DEACTIVATE POPUP
  98. RETURN
  99.  
  100. PROCEDURE zeigen
  101. * wird bei Auswahl der Option " Gewählte Werte anzeigen" 
  102. * im Hauptmenü aktiviert dient hier nur zur Demonstration 
  103. * und zur Kontrolle der Auswahl
  104.   @ 5,0 clear
  105.   ? "Gewählte Datenbank : " + dbval
  106.   ? "Gewähltes Feld     : " + feldval
  107.   ? "Gewählter Wert     : " + wertval
  108. RETURN
  109.  
  110. * -------------------------------------------------------- *
  111. *                 Ende von D_MENU.PRG                      *                        
  112.