home *** CD-ROM | disk | FTP | other *** search
- '***********************************************************
- '* Comp_art.bas für Quick Basic *
- '* (C) Th.Frins/W.Kehr und toolbox *
- '* *
- '* *
- '***********************************************************
-
-
- '* Sub-Deklarationen
-
- DECLARE SUB Suchen (wahl%)
- DECLARE SUB ArtikelEingabe ()
- DECLARE SUB NichtAktiv (WahlNr%, Options$())
- DECLARE SUB Verarbeitung (Nummer%, Options$(), Elemente%)
- DECLARE SUB HellBlinken ()
- DECLARE SUB Unterstrichen ()
- DECLARE SUB hell ()
- DECLARE SUB normal ()
- DECLARE SUB Blinken ()
- DECLARE SUB invers ()
- DECLARE SUB bildloeschen (ZeileLinksOben%, SpalteLinksOben%, ZeileRechtsUnten%, SpalteRechtsUnten%, LoeschZeichen$)
- DECLARE SUB rahmen (ZeileLinksOben%, SpalteLinksOben%, ZeileRechtsUnten%, SpalteRechtsUnten%, RahmenZeichen$)
- DECLARE SUB InputNeu (vorgabe$, gueltig$, typ$, laenge%, nachkomma%, zeile%, spalte%, taste$)
- DECLARE SUB pruefuebergabe (zeile%, spalte%, typ$, laenge%, nachkomma%, gueltig$, vorgabe$, vorzeichen%, komma%, fehler%)
- DECLARE SUB warten (ZeilenNr%)
- DECLARE SUB numerisch (komma%, vorzeichen%, einfmerker%, eingabe$, laenge%, position%, v$)
- DECLARE SUB zeichen (einfmerker%, eingabe$, laenge%, position%, v$)
- DECLARE SUB fehlmeld (ZeilenNr%, Fehlertext$)
-
- 'Funktionsdeklarationen
-
- DECLARE FUNCTION BalkenMenue% (ZeilenNr%, SpaltenNr%, Elemente%, ErsteWahl%, abstand%, Optionen$())
- DECLARE FUNCTION ZeilenMenue% (ZeilenNr%, SpaltenNr%, Elemente%, ErsteWahl%, Optionen$())
-
- 'Konstantendefinitionen
-
- CONST leer = " "
-
- 'Datensatzdefinitionen
-
- TYPE Artikelsatz
- Zeitschrift AS STRING * 20
- AusgabeNr AS INTEGER
- Jahrgang AS INTEGER
- ArtikelTyp AS STRING * 10
- HauptStichwort AS STRING * 30
- UnterStichwort1 AS STRING * 30
- UnterStichwort2 AS STRING * 30
- Kurzbeschreibung AS STRING * 77
- Loeschkennung AS INTEGER
- END TYPE
-
- 'Variablendefinitionen
-
- COMMON /Tools/ InversFlag
-
- COMMON /CompMod/ groesse%(), SuchOptionen$()
-
- DIM ZeilenOptionen$(4)
- ZeilenOptionen$(0) = "Artikel bearbeiten"
- ZeilenOptionen$(1) = "Artikel suchen"
- ZeilenOptionen$(2) = "Drucken"
- ZeilenOptionen$(3) = "Dienste"
- ZeilenOptionen$(4) = "Programmende"
-
- DIM BearbeitOptionen$(3)
- BearbeitOptionen$(0) = "Eingabe neuer Artikel"
- BearbeitOptionen$(1) = "Ändern von Artikeln"
- BearbeitOptionen$(2) = "Löschen von Artikeln"
- BearbeitOptionen$(3) = "Zurück"
-
- DIM SuchOptionen$(4)
- SuchOptionen$(0) = "Zeitschrift"
- SuchOptionen$(1) = "Jahrgang"
- SuchOptionen$(2) = "Stichwort"
- SuchOptionen$(3) = "Artikeltyp"
- SuchOptionen$(4) = "Zurück"
-
- DIM DruckOptionen$(3)
- DruckOptionen$(0) = "Alle Datensätze"
- DruckOptionen$(1) = "Einzelnen Datensatz"
- DruckOptionen$(2) = "Selektierte Liste"
- DruckOptionen$(3) = "Zurück"
-
- DIM UtilOptionen$(3)
- UtilOptionen$(0) = "Reorganisation"
- UtilOptionen$(1) = "DOS-Shell aufrufen"
- UtilOptionen$(2) = "DOS-Kommando ausführen"
- UtilOptionen$(3) = "Zurück"
-
- DIM Eintrag AS Artikelsatz
-
- DIM groesse%(8)
- groesse%(1) = LEN(Eintrag.Zeitschrift)
- groesse%(2) = 2
- groesse%(3) = 2
- groesse%(4) = LEN(Eintrag.ArtikelTyp)
- groesse%(5) = LEN(Eintrag.HauptStichwort)
- groesse%(6) = LEN(Eintrag.UnterStichwort1)
- groesse%(7) = LEN(Eintrag.UnterStichwort2)
- groesse%(8) = LEN(Eintrag.Kurzbeschreibung)
-
- '----------------------------------------------------------
- '
- '------------------ HAUPTPROGRAMM -------------------------
- CLS
- CALL rahmen(1, 1, 5, 80, CHR$(201))
- LOCATE 2, 3, 0: hell: PRINT "Artikel aus Computerzeitschriften verwalten "; : normal
- LOCATE 2, 60, 0: PRINT "(C) THF/WK/DMV 1990"
- CALL rahmen(6, 1, 20, 80, CHR$(214))
- CALL rahmen(21, 1, 25, 80, CHR$(201))
- DO
- hell
- LOCATE 22, 3, 0: PRINT "Mit "; CHR$(27); " und "; CHR$(26); " selektieren, mit "; CHR$(17); "─┘ aktivieren";
- normal
- wahl% = ZeilenMenue%(4, 2, 5, 1, ZeilenOptionen$())
- SELECT CASE wahl%
- CASE 1
- Verarbeitung wahl%, BearbeitOptionen$(), 4
- CASE 2
- Verarbeitung wahl%, SuchOptionen$(), 5
- CASE 3
- Verarbeitung wahl%, DruckOptionen$(), 4
- CASE 4
- Verarbeitung wahl%, UtilOptionen$(), 4
- END SELECT
- LOOP UNTIL wahl% = 5
- CLS
- END
-
- '------------------- ENDE DES HAUPTPROGRAMMS --------------
-
- SUB NichtAktiv (WahlNr%, Options$())
- bildloeschen 22, 2, 24, 79, " "
- LOCATE 22, 3, 0: PRINT "Sie haben ";
- CALL hell: PRINT Options$(WahlNr% - 1); : normal
- PRINT " gewählt !";
- LOCATE 23, 3, 0: PRINT "Dieser Programmteil ist derzeit nicht aktiv !";
- END SUB
-
- SUB Verarbeitung (Nummer%, Options$(), Elemente%)
- Balkenwahl% = 1
- DO
- Vorhanden% = 0
- LOCATE 22, 2: PRINT leer
- hell
- LOCATE 22, 3, 0: PRINT "Mit "; CHR$(24); " und "; CHR$(25); " selektieren, mit "; CHR$(17); "─┘ aktivieren"
- normal
- SELECT CASE Nummer%
- CASE 1
- Balkenwahl% = BalkenMenue%(8, 26, Elemente%, Balkenwahl%, 2, Options$())
- IF Balkenwahl% = 1 THEN
- CALL ArtikelEingabe
- Vorhanden% = 1
- END IF
- CASE 2
- Balkenwahl% = BalkenMenue%(8, 26, Elemente%, Balkenwahl%, 2, Options$())
- IF Balkenwahl% <> 5 THEN CALL Suchen(Balkenwahl%)
- Vorhanden% = 1
- CASE 3
- Balkenwahl% = BalkenMenue%(8, 26, Elemente%, Balkenwahl%, 2, Options$())
- CASE 4
- Balkenwahl% = BalkenMenue%(8, 26, Elemente%, Balkenwahl%, 2, Options$())
- END SELECT
- IF Options$(Balkenwahl% - 1) <> "Zurück" AND Vorhanden% = 0 THEN
- CALL NichtAktiv(Balkenwahl%, Options$())
- CALL warten(24)
- END IF
- CALL bildloeschen(7, 2, 19, 79, "")
- CALL bildloeschen(22, 2, 24, 79, "")
- LOOP UNTIL Balkenwahl% = Elemente%
- END SUB
-
-