home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / clipper / browser.prg < prev    next >
Encoding:
Text File  |  1992-01-09  |  9.7 KB  |  315 lines

  1. ***************************************************
  2. ****  Inhaltsverzeichnis der Zeitschriften ****
  3. ****   Pascal und Toolbox (alle Jahrgänge) ****
  4. * Autor....: Volker Vogeley
  5. * Datum....: 04.01.1992
  6. * Notiz....: Copyright (c) 1992 Volker Vogeley & DMV Verlag
  7. * Bemerkung: Alle Rechte vorbehalten
  8. * Programmiersprache: Clipper 5.01
  9. *
  10. ******************************************
  11. **  Einstellungen der Programmumgebung  **
  12. ******************************************
  13. ALTD(1)
  14. SET DATE GERMAN
  15. SET TALK OFF
  16. SET SCOREBOARD OFF
  17. SET DELETED ON
  18. SET ESCAPE OFF
  19. SET ECHO OFF
  20. SET INTENSITY ON
  21. SET CURSOR ON
  22. CLOSE
  23. **********************************************************
  24. ** Variablen Definition für die Zuweisung der Farben für *
  25. ** das gesammte Programm                                 *
  26. **********************************************************
  27. IF ISCOLOR() && Wenn Farbkarte gefunden folgende Farben
  28.    Farbe1 = "w+/gb"
  29.    Farbe2 = "gr+/gb"
  30.    Farbe3 = "b/w,g+/r,n/w,,"
  31.    Farbe4 = "N/gb"
  32.    Farbe5 = "w+/b,n/w+"
  33.    Farbe6 = "GR+/b"
  34.    Farbe7 = "R+/W"
  35.    RAHME_ein=chr(201)+chr(205)+chr(187)+chr(186)+chr(188)+;
  36.    chr(205)+chr(200)+chr(186)+"▓"
  37. ELSE  && Falls Monochrome Darstellung dann diese Farben
  38.    Farbe1 ="w+/n"
  39.    Farbe2 ="w/I"
  40.    Farbe3 ="w/n,i/w+"
  41.    Farbe4 ="w/n"
  42.    Farbe5 ="w+/n"
  43.    Farbe6 ="w+/i"
  44.    Farbe7 ="W/n"
  45.    RAHME_ein=chr(201)+chr(205)+chr(187)+chr(186)+chr(188)+;
  46.    chr(205)+chr(200)+chr(186)+"▓"
  47. ENDIF
  48.   BOX1 = "┌─┐│┘─└│ "
  49.   BOX3 = "░░░░░░░░░"
  50.   BOX2 = "╔═╗║╝═╚║ "
  51. *************************************************************
  52. * Variablen für das gesamte Programm festlegen             **
  53. * Farbvariablen , die im gesammten Programm genutzt werden **
  54. *************************************************************
  55. PUBLIC Farbe1, Farbe2, Farbe3, Farbe4, Farbe5, Farbe6, Farbe7
  56. PUBLIC RAHME_EIN, BOX1, BOX2
  57. *************************************************************
  58. ** Druckervariablen, die im gesammten Programm zur Steuer- **
  59. ** ung der Druckausgabe verwendet werden.                  **
  60. *************************************************************
  61. ***  Funktionsdefinition + Includes                      ****
  62. *************************************************************
  63.  
  64. DO MENUE
  65.  
  66. *************************************************************
  67. ****                                                     ****
  68. ****                    HAUPTPROGRAMM                    ****
  69. ****                                                     ****
  70. *************************************************************
  71. USE INHALT
  72. SET CONSOLE ON
  73. ausw = " "
  74. DO WHILE .T.
  75.    SET COLOR TO (Farbe3)
  76. * Hauptmenue
  77.   SET WRAP ON
  78.     @ 7,12 PROMPT "Erweitern"
  79.     @ 8,12 PROMPT "Blättern"
  80.     @ 9,12 PROMPT "Edit Maske"
  81.     @ 10,12 PROMPT "Index"
  82.     @ 11,12 PROMPT "Sortieren"
  83.     @ 12,12 PROMPT "Export"
  84.     @ 13,12 PROMPT "Drucken"
  85.     @ 14,12 PROMPT "Ende"
  86.   MENU TO Ausw
  87.   DO CASE
  88.    CASE Ausw=1  && Datenbank erweitern
  89.      SAVE SCREEN TO scr
  90.        *DO WHILE .NOT. LASTKEY()=27
  91.           SET COLOR TO (Farbe5)
  92.           @ 4,2 CLEAR TO 20,77
  93.           SET color to (Farbe2)
  94.           DO EDIT_ANZ
  95.           APPEND BLANK
  96.           SET COLOR TO (Farbe3)
  97.           DO EDIT_LES
  98.           read
  99.           Verzeichnis = CURDIR()
  100.        *ENDDO
  101.     RESTORE SCREEN FROM scr
  102.    CASE Ausw=2 && Datenbank bearbeiten
  103.      SAVE SCREEN TO scr
  104.      SET COLOR TO (Farbe4)
  105.      USE INHALT
  106.      BROWSE (4,2,20,77)
  107.     RESTORE SCREEN FROM scr
  108. **** 3. Menüpunkt des Hauptmenüs *******
  109.    CASE AUSW=3 && Suchen und Reorganisation von Daten
  110.      SAVE SCREEN TO scr
  111.      SET COLOR TO GR+/B
  112.      @ 4,2,20,77 BOX BOX3
  113.     * @ 6,8 TO 18,72 DOUBLE
  114.       @ 22,1 CLEAR TO 23,78
  115.      USE INHALT
  116.      DO EDIT_MAI
  117.      RESTORE SCREEN FROM scr
  118.    CASE AUSW=5 && Sortieren
  119.       SAVE SCREEN TO INTEMP
  120.       SET COLOR TO (Farbe5)
  121.       @ 4,2 CLEAR TO 20,77
  122.       SET COLOR TO (Farbe1)
  123.       @ 8,11,18,71 BOX BOX3
  124.       @ 6,10,17,70 BOX BOX1
  125.       @ 6,14 SAY "[■] Auswahl eines Sortierkriteriums "
  126.       SET wrap on
  127.        @ 7,12 PROMPT "TX Index  "
  128.        @ 8,12 PROMPT "Titel   "
  129.        @ 9,12 PROMPT "Untertitel "
  130.        @ 10,12 PROMPT "Rubrik    "
  131.        @ 11,12 PROMPT "Ausgabe   "
  132.        @ 12,12 PROMPT "Seite     "
  133.        @ 13,12 PROMPT "Name des Autoren   "
  134.        @ 14,12 PROMPT "Vorname des Autoren "
  135.        @ 15,12 PROMPT "Programmiersprache "
  136.        @ 16,12 PROMPT "Thema  "
  137.       MENU TO Wahl
  138.        DO CASE
  139.        CASE Wahl = 1
  140.           SORTIERUNG="TXINDEX"
  141.        CASE Wahl = 2
  142.           SORTIERUNG="TITEL"
  143.        CASE Wahl = 3
  144.           SORTIERUNG="UTITEL"
  145.        CASE Wahl = 4
  146.           SORTIERUNG="RUBRIK"
  147.        CASE Wahl = 5
  148.           SORTIERUNG="AUSGABE"
  149.        CASE Wahl = 6
  150.           SORTIERUNG="SEITE"
  151.        CASE Wahl = 7
  152.           SORTIERUNG="NAME"
  153.        CASE Wahl = 8
  154.           SORTIERUNG="VORNAME"
  155.        CASE Wahl = 9
  156.           SORTIERUNG="SPRACHE"
  157.        CASE Wahl = 10
  158.           SORTIERUNG="THEMA"
  159.       ENDCASE
  160.        IF .NOT. EMPTY(SORTIERUNG)
  161.         sort on (SORTIERUNG) to TEMP$$
  162.         CLOSE
  163.         RUN ren INHALT.dbf alt.dbf
  164.         RUN ren temp$$.dbf INHALT.dbf
  165.         use INHALT
  166.         ERASE ALT.DBF
  167.        ELSE
  168.        ENDIF
  169.       RESTORE SCREEN FROM Intemp
  170.    CASE AUSW=4 && INDEX-Wechsel
  171.       SAVE SCREEN TO INTEMP
  172.       SET COLOR TO (Farbe5)
  173.       @ 4,2 CLEAR TO 20,77
  174.       SET COLOR TO (Farbe1)
  175.       @ 8,11,18,71 BOX BOX3
  176.       @ 6,10,17,70 BOX BOX1
  177.       @ 6,14 SAY "[■] Auswahl eines Indexfeldes "
  178.       SET wrap on
  179.       * SET message to 24 center
  180.        @ 7,12 PROMPT "TX Index  "    message+;
  181.          "Indexwechsel auf das Datenbankfeld TXINDEX"
  182.        @ 8,12 PROMPT "Titel   "      message+;
  183.          "Indexwechsel auf das Datenbankfeld TITEL"
  184.        @ 9,12 PROMPT "Untertitel "    message+;
  185.          "Indexwechsel auf das Datenbankfeld UTITEL"
  186.        @ 10,12 PROMPT "Rubrik    "    message+;
  187.          "Indexwechsel auf das Datenbankfeld RUBRIK"
  188.        @ 11,12 PROMPT "Ausgabe   "    message+;
  189.          "Indexwechsel auf das Datenbankfeld Ausgabe"
  190.        @ 12,12 PROMPT "Seite     "    message+;
  191.          "Indexwechsel auf das Datenbankfeld SEITE"
  192.        @ 13,12 PROMPT "Name des Autoren   "    message+;
  193.          "Indexwechsel auf das Datenbankfeld NAME"
  194.        @ 14,12 PROMPT "Vorname des Autoren "    message+;
  195.          "Indexwechsel auf das Datenbankfeld VORNAME "
  196.        @ 15,12 PROMPT "Programmiersprache "    message+;
  197.          "Indexwechsel auf das Datenbankfeld SPRACHE"
  198.        @ 16,12 PROMPT "Thema  "    message+;
  199.          "Indexwechsel auf das Datenbankfeld THEMA"
  200.  
  201.        MENU TO Wahl
  202.        DO CASE
  203.        CASE Wahl = 1
  204.           INDEX ON TXINDEX  TO INDEX1
  205.           USE INHALT INDEX INDEX1
  206.        CASE Wahl = 2
  207.           INDEX ON TITEL TO IND4
  208.           USE INHALT INDEX IND4
  209.        CASE Wahl = 3
  210.           INDEX ON UTITEL TO IND5
  211.           USE INHALT INDEX IND5
  212.        CASE Wahl = 4
  213.           INDEX ON RUBRIK TO IND6
  214.           USE INHALT INDEX IND6
  215.        CASE Wahl = 5
  216.           INDEX ON AUSGABE TO IND7
  217.           USE INHALT INDEX IND7
  218.        CASE Wahl = 6
  219.           INDEX ON SEITE TO IND8
  220.           USE INHALT INDEX IND8
  221.        CASE Wahl = 7
  222.           INDEX ON NAME TO IND9
  223.           USE INHALT INDEX IND9
  224.        CASE Wahl = 8
  225.           INDEX ON VORNAME TO IND10
  226.           USE INHALT INDEX IND10
  227.        CASE Wahl = 9
  228.           INDEX ON SPRACHE TO IND11
  229.           USE INHALT INDEX IND11
  230.        CASE Wahl = 10
  231.           INDEX ON THEMA TO IND12
  232.           USE INHALT INDEX IND12
  233.  
  234.       ENDCASE
  235.       RESTORE SCREEN FROM INTEMP
  236.  
  237.   CASE AUSW=6 && Export in eine Textdatei in Tabellenform
  238.    SAVE SCREEN TO export
  239.    DISPLAY TITEL,UTITEL,AUSGABE,SEITE,NAME,VORNAME,SPRACHE,THEMA TO FILE INHALT.TXT ALL
  240.    RESTORE SCREEN FROM export
  241.  
  242.   CASE AUSW=7 && Ausgabe der Daten auf einem Drucker in Tabellenform
  243.    SAVE SCREEN TO drucken
  244.    IF ISPrinter()
  245.     SET MARGIN TO 5
  246.     DISPLAY TITEL,AUSGABE,SEITE,NAME,VORNAME,SPRACHE TO PRINT ALL
  247.    ELSE
  248.    ENDIF
  249.    RESTORE SCREEN FROM drucken
  250.  
  251.    CASE AUSW=8 .or. LASTKEY()=27  && Programmende
  252.          save SCREEN TO scr
  253.          SET COLOR TO (Farbe5)
  254.          @ 4,2 CLEAR TO 20,77
  255.          *  BOX "█████"
  256.          SET COLOR TO (Farbe2)
  257.          @ 6,8 TO 18,72 DOUBLE
  258.          @ 7,9 CLEAR TO 17,71
  259.          @ 6,14 SAY "[■] Programmende des File-Browser's 1.0 "
  260.          SET COLOR TO (Farbe1)
  261.          @ 7,9 CLEAR TO 17,71
  262.          DO ZENT WITH 8,"***  File - Browser Version 1.0  ***"
  263.          z=10   && Zeilenposition wird auf 10 gesetzt
  264.          STORE " Sie haben den Programmpunkt  - E N D E-  gewählt " TO Text
  265.          DO zent WITH z,text
  266.          STORE " Wollen Sie wirklich  B E E N D E N  ?  J/N " TO Text
  267.          z=z+4                   && Zeile neu festlegen
  268.          DO zent WITH z,text
  269.          *
  270.          TONE(540,5)   && Warnton ausgeben
  271.          *
  272.          SET COLOR TO
  273.          SET CONSOLE OFF
  274.          SET CURSOR OFF
  275.          SET COLOR TO (Farbe3)
  276.          DO Zent WITH 24,"<ESC>=Beendet die Anzeige der Informationsbox !"
  277.          SETCURSOR(0)
  278.          WAIT TO ewahl
  279.          SET CONSOLE on
  280.          IF ewahl ="J" .or. ewahl="j"
  281.            EXIT
  282.          ELSE
  283.            RESTORE SCREEN FROM scr
  284.            ausw=" "
  285.          ENDIF
  286.     RESTORE SCREEN FROM scr
  287.   ENDCASE
  288. ENDDO
  289. SET COLOR TO   && Stellt die Standardfarbumgebung ein
  290. CLEAR  && Löscht den ganzen Bildschirm
  291. SET COLOR TO (Farbe4)
  292. @ 2,8 TO 10,72 DOUBLE
  293. @ 3,9 CLEAR TO 9,71
  294. SET COLOR TO (Farbe2)
  295. z=4
  296. STORE "  Vielen Dank für den Einsatz des File-Browser's  1.0  " TO text
  297. DO zent WITH z,text
  298. z=z+2
  299. STORE "  (C) 1992 by  Volker Vogeley & DMV Verlag  " TO text
  300. DO zent WITH z,text
  301. SET cursor off
  302. FOR e=1 TO 2000
  303. next
  304. ?
  305. ?
  306. ?
  307. ?
  308. ?
  309. PACK
  310. SET COLOR TO
  311. CLOSE all
  312. SET cursor on
  313. QUIT
  314. 
  315.