home *** CD-ROM | disk | FTP | other *** search
- /* DEMO.C Demonstriert die Fähigkeiten der Toolbox "WINDOW.C"
- (Vollversion) und deren verschiedene Funktionen */
-
- #include "Window.c" /* Toolbox einbinden */
-
-
- /* globale Strukturen deklarieren (Windows, Menüs...) */
-
- WINDOW haupt = { 30, 3, 22, 9, 0, 0, 0, " Hauptmenü ", 35, 0, 0, 0 };
- WINDOW setup = { 0, 12, 29, 8, 0, 3, 0, "[ Farben-Setup ]", 6, 0, 0, 0 };
- WINDOW hilfe = { 10, 13, 60, 5, 0, 0, 0, "[ HILFE ]", 35, 0, 0, 0 };
- WINDOW texte = { 5, 1, 70, 23, 0, 1, 0, "< Bitte lesen: >", 32, 0, 0, 0 };
-
- MENU setup4 = { 2, 17, 0, " Hervorgehobene Farbe f3 ", 14, 0,
- 0, 0, NULL, 0, 0 };
- MENU setup3 = { 2, 16, 0, " Hervorgehobene Farbe f2 ", 13, 0,
- 0, 0, &setup4, 0, 0 };
- MENU setup2 = { 2, 15, 0, " Hervorgehobene Farbe f1 ", 12, 0,
- 0, 0, &setup3, 0, 0 };
- MENU setup1 = { 2, 14, 0, " Standard-Farbe f0 ", 11, 0,
- &setup, 0, &setup2, 0, 0 };
-
- MENU haupt5 = { 32, 9, 0, " Zurück zu DOS ", 05, 0,
- 0, 0, 0, 0, 0 };
- MENU haupt4 = { 32, 8, 0, " Farben-Setup... ", 04, 0,
- 0, &setup1, &haupt5, 0, 0 };
- MENU haupt3 = { 32, 7, 0, " Direktory ", 03, 0,
- 0, 0, &haupt4, 0, 0 };
- MENU haupt2 = { 32, 6, 2, " Registrierung ", 02, 0,
- 0, 0, &haupt3, 0, 0 };
- MENU haupt1 = { 32, 5, 0, " Kurzbeschreibung ", 01, 0,
- &haupt, 0, &haupt2, 0, 0 };
-
-
-
- /* Unterprogramme (Funktionen) */
-
-
- void gebe_farben_aus( void )
- {
- fastprint( 28, 15, f0, " Standard-Farbe f0 " );
- fastprint( 28, 17, f1, " Hervorgehobene Farbe f1 " );
- fastprint( 28, 19, f2, " Hervorgehobene Farbe f2 " );
- fastprint( 28, 21, f3, " Hervorgehobene Farbe f3 " );
- fastprint( 20, 23, f1, " Taste F1 für kontextsensitive Hilfe drücken " );
- fastprint( 17, 24, f1, " Taste ESC beendet die aktuelle Bearbeitungs-Stufe " );
- }
-
-
- void farben_aendern()
- {
- haupt.wattr = f0; /* Farbe des Window-Inhalts */
- haupt.rattr = f1; /* Farbe des Window-Rands */
- haupt.nattr = f1; /* Farbe der Window-Überschrift */
-
- setup.wattr = f0; /* Farben des Window-Inhalts */
- setup.rattr = f2; /* Farben des Window-Rands */
- setup.nattr = f3; /* Farben des Window-Namens */
-
- hilfe.wattr = f0; /* Farben des Window-Inhalts */
- hilfe.rattr = f3; /* Farben des Window-Rands */
- hilfe.nattr = f3; /* Farben des Window-Namens */
-
- texte.wattr = f0;
- texte.rattr = f1;
- texte.nattr = f1;
-
- haupt1.nattr = f0; /* Farben der Menüpunkte */
- haupt2.nattr = f0;
- haupt3.nattr = f0;
- haupt4.nattr = f0;
- haupt5.nattr = f0;
-
- setup1.nattr = f0;
- setup2.nattr = f0;
- setup3.nattr = f0;
- setup4.nattr = f0;
-
- }
-
-
-
- void hilfen( int nr ) /* "nr" ist der ausgewählte Menüpunkt */
- {
- int a; /* Hilfsvariable */
-
- if( OpenWindow( &hilfe ) == 0 ) /* Probleme beim Window-Öffnen? */
- return; /* ja, dann breche Hilfe ab */
-
- switch( nr ) /* Hilfe geben zum Menüpunkt ... */
- {
- case 1: /* ...Kurzbeschreibung */
- fastprint( 13, 15, f0, "Beschreibt die Fähigkeiten der Toolbox" );
- break;
- case 2: /* ...Registrierung */
- fastprint( 13, 15, f0, "Erklärt Themen wie Shareware und Bestellung" );
- break;
- case 3: /* ...Direktory */
- fastprint( 13, 15, f0, "Zeigt das Inhaltsverzeichnis eines Laufwerks" );
- break;
- case 4: /* ...Farben-Setup */
- fastprint( 13, 15, f0, "Hier können die aktuellen Farben geändert werden" );
- break;
- case 5: /* ...Zurück zu DOS */
- fastprint( 13, 15, f0, "Beendet dieses DEMO und geht zu DOS zurück" );
- break;
- case 11: /* ...Standard-Farbe f0 */
- fastprint( 13, 15, f0, "Ändern der aktuellen Standard-Farbe\n(globale Variable 'f0')" );
- break;
- case 12: /* ...Hervorgehobene Farbe f1 */
- case 13: /* ... " " f2 */
- case 14: /* ... " " f3 */
- fastprint( 13, 15, f0, "Ändern der aktuellen hervorgehobenen Farbe\n(globale Variablen 'f1' bis 'f3')" );
- break;
- default: /* sonstige Hilfen sind unbekannt */
- fastprint( 13, 15, f1, "Es ist keine Hilfe hierzu verfügbar!" );
- }
-
- fastprint( 42, 17, f3, "weiter mit Tastendruck..." );
-
- a = getch(); /* Warte auf Tastendruck */
- if( a == 0 || a == 0xE0) /* Erweiterter Tastencode? */
- a = getch(); /* ja, dann aus Tastatur-Puffer löschen */
-
- CloseWindow(); /* Schließe Hilfe-Fenster */
- }
-
-
-
- void werbung( void )
- {
- int a;
-
- if( OpenWindow( &texte ) == 0 ) /* Probleme beim Window-Öffnen? */
- return; /* ja, dann Abbruch */
-
- fastprint( 8, 3, f0, "Dieses Programm wurde ausschließlich mit Hilfe der Toolbox " );
- fastprint( 8, 4, f0, "WINDOW.C und den Standard-Funktionen von Quick-C v2.0 " );
- fastprint( 8, 5, f0, "programmiert. Es zeigt nicht nur, welche leistungsfähigen " );
- fastprint( 8, 6, f0, "Funktionen die Toolbox bietet, sondern auch, wie einfach die " );
- fastprint( 8, 7, f0, "Toolbox angewendet werden kann. Der Quelltext dieses Demo's " );
- fastprint( 8, 8, f0, "befindet sich ebenfalls auf der Diskette. Dadurch kann der " );
- fastprint( 8, 9, f0, "Lernende viele Anregungen, Tips und Tricks aus der Analyse des " );
- fastprint( 8,10, f0, "kommentierten Quellcodes gewinnen." );
- fastprint( 8, 12, f1, "(C)opyright by: Jürgen Altfeld" );
- fastprint( 25, 13, f1, "Hofkurat-Diehl-Str. 7\n\nD-8042 Oberschleißheim bei München" );
- fastprint( 8, 17, f2, "Hinweis für Händler: Dies ist ein Shareware-Produkt. Die" );
- fastprint( 30, 18, f2, "Vertriebsbedingungen können der Textdatei" );
- fastprint( 30, 19, f2, "README.DOC entnommen werden!" );
- fastprint( 8, 21, f3, "Spielen Sie doch einmal mit den einzelnen Menüpunkten des Demo's!" );
- fastprint( 47, 23, f1, "weiter mit Tastendruck..." );
-
- a = getch(); /* Warte auf Tastendruck */
- if( a == 0 || a == 0xE0) /* Erweiterter Tastencode? */
- a = getch(); /* ja, dann aus Tastatur-Puffer löschen */
-
- CloseWindow(); /* Schließe Hilfe-Fenster */
- }
-
-
-
- void kurzbs( void )
- {
- int a;
-
- if( OpenWindow( &texte ) == 0 ) /* Probleme beim Window-Öffnen? */
- return; /* ja, dann Abbruch */
-
- fastprint( 29, 1, f2, "< Kurzbeschreibung >" );
- fastprint( 8, 4, f0, "Die Toolbox WINDOW.C bietet umfassende und einfach verwendbare " );
- fastprint( 8, 5, f0, "Funktionen, um Windows, Menüs und Dialogboxen in kürzester Zeit" );
- fastprint( 8, 6, f0, "zu erstellen. Hierzu stehen über 20 neue Funktionen zur Verfü- " );
- fastprint( 8, 7, f0, "gung, u. a. auch Routinen für die komfortable Stringeingabe! Da" );
- fastprint( 8, 8, f0, "der Quelltext bereits in der Shareware-Version mitgeliefert " );
- fastprint( 8, 9, f0, "wird, können die Programme in jedem Speichermodell (Small bis " );
- fastprint( 8,10, f0, "Huge) kompiliert werden! Die Quick-C-Benutzeroberfläche wird " );
- fastprint( 8,11, f0, "voll unterstützt (debuggen...)!" );
- fastprint( 8,13, f0, "Zeit ist Geld! Greifen Sie lieber gleich zur Toolbox WINDOW.C " );
- fastprint( 8,14, f0, "und verwenden Sie Ihre kostbare Zeit für die Entwicklung des " );
- fastprint( 8,15, f0, "eigentlichen Programmes. In dieser Toolbox stecken weit mehr " );
- fastprint( 8,16, f0, "als 200 (zweihundert!) ganze Arbeits-Stunden!" );
- fastprint( 8,18, f0, "Zeitkritische Routinen wurden in Assembler geschrieben, alle " );
- fastprint( 8,19, f0, "gängigen Grafikkarten werden unterstützt, die gewerbliche " );
- fastprint( 8,20, f1, "Nutzung der registrierten Toolbox ist ohne weitere Gebühren- " );
- fastprint( 8,21, f1, "zahlung erlaubt (keine Run-Time-Lizenzen erforderlich)!!!" );
-
- fastprint( 47, 23, f1, "weiter mit Tastendruck..." );
- a = getch(); /* Warte auf Tastendruck */
- if( a == 0 || a == 0xE0) /* Erweiterter Tastencode? */
- a = getch(); /* ja, dann aus Tastatur-Puffer löschen */
-
- CloseWindow(); /* Schließe Hilfe-Fenster */
- }
-
-
-
- void registrierung( void )
- {
- int a;
-
- if( OpenWindow( &texte ) == 0 ) /* Probleme beim Window-Öffnen? */
- return; /* ja, dann Abbruch */
-
- fastprint( 31, 1, f2, "< Registrierung >" );
- fastprint( 8, 3, f0, "Der Textdatei README.DOC können Sie entnehmen, ob diese " );
- fastprint( 8, 4, f0, "Diskette die Shareware- oder Vollversion der Toolbox ist. Die " );
- fastprint( 8, 5, f0, "Shareware-Version darf nur zum Kennenlernen und Austesten der " );
- fastprint( 8, 6, f0, "Möglichkeiten der Toolbox verwendet werden! Wenn Sie sich ent- " );
- fastprint( 8, 7, f0, "schieden haben, die Toolbox für Ihre eigenen Programme zu ver- " );
- fastprint( 8, 8, f0, "wenden, müssen Sie sich registrieren lassen! 'Registrieren' " );
- fastprint( 8, 9, f0, "bedeutet, daß Sie die Vollversion kaufen." );
- fastprint( 8,11, f0, "Eine Registrierung bietet viele Vorteile: Sie erhalten die " );
- fastprint( 8,12, f0, "neueste Version der Toolbox (einschließlich Quellcode, den Sie " );
- fastprint( 8,13, f0, "sogar ändern dürfen!), Sie dürfen die Toolbox dann KOSTENLOS " );
- fastprint( 8,14, f0, "für gewerbliche Zwecke verwenden, die Dokumentation wird als " );
- fastprint( 8,15, f0, "druckfertig formatierte Datei mitgeliefert u. v. m.!!!" );
- fastprint( 8,17, f1, "Bitte verwenden Sie zum Bestellen das beiliegende Bestell- " );
- fastprint( 8,18, f1, "Formular (Datei 'BESTELL.DOC'). Sie können das Bestell-Formular" );
- fastprint( 8,19, f1, "innerhalb von DOS auf den Drucker ausgeben, indem Sie nach dem " );
- fastprint( 8,20, f1, "Prompt folgendes eingeben: 'copy bestell.doc prn' " );
-
- fastprint( 47, 23, f1, "weiter mit Tastendruck..." );
- a = getch(); /* Warte auf Tastendruck */
- if( a == 0 || a == 0xE0) /* Erweiterter Tastencode? */
- a = getch(); /* ja, dann aus Tastatur-Puffer löschen */
-
- CloseWindow(); /* Schließe Hilfe-Fenster */
- }
-
-
- int main()
- {
-
- /* Variablen deklarieren */
-
- MENU *wahl; /* Hilfesvariablen */
- int i;
-
- /* Toolbox vor Benutzung öffnen */
-
- if( OpenTool() == 0 ) /* Fehler aufgetreten? */
- return( 1 ); /* ja, dann beende Hauptprogramm */
-
- /* Menüs vor Benutzung vorbereiten (Zeiger-Verkettungen etc.) */
-
- PrepareMenu( &haupt1, NULL );
- farben_aendern(); /* Window-Farben initialisieren */
-
- /* Verschiedene Informationen ausgeben */
-
- werbung();
- gebe_farben_aus(); /* aktuelle Farben anzeigen */
-
- /* Hauptschleife: Hauptmenü aufrufen und Menüwahl auswerten */
-
- wahl = &haupt1; /* Erster Menüpunkt im Hauptmenü */
-
- while( 1 == 1 ) /* künstliche Endlosschleife */
- {
- wahl = UseMenu( wahl );
-
- if( select == 1 || (wahl->nr == 5 && select == 0) ) /* Zurück zu DOS */
- break; /* Beende Endlosschleife und Programm */
- if( select == 2 ) /* F1 für Hilfe gedrückt? */
- {
- hilfen( wahl->nr ); /* ja, dann Hilfe anzeigen */
- continue; /* wiederhole Schleife von vorne */
- }
- if( select == 3 ) /* Interner Toolboxfehler? */
- break; /* ja, dann beende Programm */
-
- if( wahl->nr == 3 ) /* Direktory? */
- {
- inhalt( "A:\\", "*.*" ); /* ja, dann DIR anzeigen */
- continue; /* danach Schleife wiederholen */
- }
-
- if( select != 0 ) /* ENTER-Taste gedrückt? */
- continue; /* nein, dann Schleife wiederh. */
-
- CloseAll(); /* Alle Windows schließen, damit
- die gewählten Farben richtig
- angezeigt werden können! */
-
- switch( wahl->nr ) /* Auswertung der Menüwahl */
- {
- case 11: /* Standard-Farbe */
- i = color( "Standard-Farbe auswählen:" );
- if( i == -1 ) /* Farbenwahl mit ESC abgebr.? */
- break;
- f0 = i;
- break;
- case 12:
- i = color( "Hervorgehobene Farbe f1 auswählen:" );
- if( i == -1 ) /* ESC ? */
- break;
- f1 = i;
- break;
- case 13:
- i = color( "Hervorgehobene Farbe f2 auswählen:" );
- if( i == -1 ) /* ESC ? */
- break;
- f2 = i;
- break;
- case 14:
- i = color( "Hervorgehobene Farbe f3 auswählen:" );
- if( i == -1 ) /* ESC ? */
- break;
- f3 = i;
- break;
- case 1:
- kurzbs(); /* Kurzbeschreibung ausgeben */
- break;
- case 2:
- registrierung(); /* Registrierungs-Hinweise ausgeb. */
- break;
-
- } /* Ende SWITCH */
-
- farben_aendern(); /* evtle. neue Farben setzen */
- gebe_farben_aus(); /* aktuelle Farben anzeigen */
-
- } /* Endlosschleife wiederholen */
-
- set_textmode(); /* Bildschirm löschen! */
- CloseTool(); /* Toolbox schließen !!! */
-
- } /* Ende Hauptprogramm */
-