home *** CD-ROM | disk | FTP | other *** search
- *************************************************************************
- * *
- * BESCHREIBUNG: *
- * Das Programm kompiliert alle PRG-Dateien eines Verzeichnisses *
- * *
- *************************************************************************
- * *
- * PROZEDUREN und FUNKTIONEN: *
- * *
- * procedure COMPFEHLER - gibt Compilerfehler aus *
- * *
- *************************************************************************
- * *
- * DATEIEN im Zugriff: *
- * DBCOMP.DBF - enthält Dateinamen der PRG-Dateien *
- * *
- *************************************************************************
- * *
- * VARIABLEN: *
- * *
- *************************************************************************
- * *
- * ÄNDERUNGEN: *
- * *
- *********************** COPYRIGHT B. HOHENESTER *************************
- clear all
- clear windows
- close all
- close procedure
- set console on
- set carry off
- set century off
- set clock off
- set delimiters to ""
- set delimiters off
- set device to screen
- set echo off
- set escape on
- set exact off
- set exclusive on
- set lock on
- set message to ""
- set near off
- set print off
- set reprocess to 4
- set safety off
- set status off
- set scoreboard on
- set talk off
- clear
- define window compfehler from 3, 10 to 20, 70
- @ 1,2 to 14,75 double
- @ 2,4 say "DBCOMP.PRG"
- @ 2,20 say "(C) 1990 Manfred Hoffbauer"
- @ 2,58 say "Datum: "
- @ 2,65 say date()
- @ 3,4 say "überarbeitet und erweitert von B. HOHENESTER (C) 1990"
- @ 4,3 say "---...---"
- @ 5,4 say "Tool zum Compilieren aller PRG - Dateien eines Verzeichnisses. "
- @ 6,3 say "---...---"
- @ 7,4 say 'Bitte drücken Sie "J", um mit dem Zusatz RUNTIME zu compilieren '
- @ 8,4 say 'oder "N" für ohne RUNTIME:'
- @ 9,3 say "---...---"
- wahl = "J"
- @ 8,33 get wahl picture "@! A" valid wahl $ "JN"
- read
- altdir = left(set("Directory") + replicate(" ", 68), 68)
- korrekt = .F.
- do while .NOT. korrekt
- @ 10,4 say "Bitte geben Sie das zu bearbeitende Verzeichnis ein: "
- verzeichnis = left(set("Directory") + replicate(" ", 68), 68)
- @ 11,4 get verzeichnis
- read
- korrekt = .T.
- on error korrekt = .F.
- set directory to &verzeichnis
- on error
- enddo
- @ 12,3 say "---...---"
- save screen to bildschirm
- run dir *.prg > temp.dat
- restore screen from bildschirm
- release screen bildschirm
- use dbcomp
- zap
- append from temp.dat sdf
- erase temp.dat
- delete all for (.NOT. file(ltrim(rtrim(name)) + "." + ltrim(rtrim(extension)))) .OR. (name = "DBCOMP") .OR. (extension <> "PRG")
- pack
- go top
- zaehler2 = reccount()
- zaehler1 = 0
- @ 15,14 to 17,65 && Rahmen zeichnen
- @ 16,15 say replicate("░",50) && Rahmen ausfüllen
- set console off
- on error do compfehler
- set alternate to fehler.dat
- do while .NOT. eof()
- prgname = ltrim(rtrim(name)) + "." + ltrim(rtrim(extension))
- @ 13,4 say "In Arbeit: "
- @ 13,16 say prgname + replicate(" ",12)
- set alternate on
- ? replicate("*", 70)
- ? prgname
- if wahl = "J"
- compile &prgname runtime
- else
- compile &prgname
- endif
- set alternate off
- zaehler1 = zaehler1 + 1
- prozent = (zaehler1 / zaehler2) * 100
- @ 16,15 say replicate("▓",int(prozent / 2)) + replicate("░",50 - int(prozent / 2))
- select dbcomp
- skip + 1
- enddo
- set alternate to
- set directory to &altdir
- release window compfehler
- set console on
- on error
- clear all
- clear windows
- close all
- close procedure
- return
- *********************************************************************
- procedure compfehler
- activate window compfehler
- set alternate off
- set console on
- ? "Fehler beim Compilieren der Datei: " + prgname
- ? "Compiler-Fehlernummer: "
- ?? cerror()
- ? "Fehler: "
- ?? message()
- ? "Bitte eine Taste drücken, um fortzufahren."
- i = inkey(0)
- set console off
- set alternate on
- deactivate window compfehler
- return
- *********************************************************************
-