..: KFOP Runtime   : 1.7
..: Beginn des Programms TZEIGEN
..: erstellt am    : 12.11.06
..: Autor          : M.Gau-Wagener, StS-GmbH PC-IP:89.40.4.56, StS-GmbH Mettmann
..: Projekt/Teil   : intern
..: Projektierung  : Steinhilber Schwehr GmbH
..: Aufgabe 1      : Datei mit KFOP editieren
..: Aufgabe 2      :   <text> KEDIT * <zeigen>
.. ======================================================================================================
.. Stackpointer fuer KFOP
.art integer   xprocsp ? _defined(xprocsp)
..
.art text xtfileedit
.art text xtfilekfop
.art text xtconverr
.art text xtsys
.art text xtkom
.art text xtmod
.art bool xbexist
.art int  xifertig
.art bool xbconverr
.art text xtlader
.art text xttramokfo
..
.. Basiseinstellungen fr Borleis KFOP
..   xtkfoppath   : Pfad zu KFOP-Programmen (normalerweise der aktuelle Pfad)
..   xtkfop2kfo   : Programmaufruf zum Umwandeln von FOP zu KFOP
..   xtkfop2fop   : Programmaufruf zum Umwandeln von KFOP zu FOP
.eingabe INI.KFOP
..
.WEITER EL001 ? _(argc >= 2)
.. IF001
.fo xtfileedit = 'arg1'
.fo xtfilekfop = "tmp/" + 'xtfileedit' >$ "/" + ".KFOP"
.fo xtconverr  = 'xtfilekfop' + ".ERR"
..
!REPT001: ==============================
.. bis die zu editierende Datei endlich exist (oder Abbruch)
.fo xtsys      = "test -s " + 'xtfileedit'
.sys 'xtsys' hinter
.fo xbexist = mehr
..
.WEITER EL002 ? _(_xbexist)
.. IF002
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET001" 
.WEITER PROC001
!RET001: ----- CREATEFOP -----
.FORMEL xprocsp = xprocsp - 1
!EL002
.. FI002
.WEITER REPT001 ? _(xbexist)
..
.. das nur ein KFOP ?
.fo xtsys      = "grep '^..: KFOP' < " + 'xtfileedit'
.sys 'xtsys' hinter
..
.WEITER EL003 ? _(mehr)
.. IF003
.. ist ein KFOP
.fo xifertig = 0
..
.. alte Fehler wegputzen
.fo xtsys = "rm -f " + 'xtconverr'
.sys 'xtsys' hinter
..
.. Datei sperren
.belegen 'xtfileedit'
..
.. zu Source konvertieren
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET002" 
.WEITER PROC002
!RET002: ----- TOSOURCE -----
.FORMEL xprocsp = xprocsp - 1
..
.WEITER EL004 ? _(_xbconverr)
.. IF004
!REPT002: ==============================
..
.. Editor aufrufen
.fo xtkom = "<text> " + 'xtfilekfop' + " <ndern>"
.fo xtmod = "-warten"
.WEITER EL005 ? _(grafik)
.. IF005
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET003" 
.WEITER PROC003
!RET003: ----- RUNKOM -----
.FORMEL xprocsp = xprocsp - 1
.WEITER FI005
!EL005
.edi 'xtfilekfop'
!FI005
..
.. testweise zu RunTime convertieren
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET004" 
.WEITER PROC004
!RET004: ----- TSTRUNTIME -----
.FORMEL xprocsp = xprocsp - 1
.WEITER EL006 ? _(xbconverr)
.. IF006
.fo xtsys =                  "echo '--- ' " + xtfilekfop + "' ---'"
.fo xtsys = xtsys + ";" +    "cat " + xtconverr
.sys 'xtsys'
!EL006
.. FI006
.fo xifertig =  2
!REPT003: ==============================
.menue(0,0,3)Hinweis
?'xtfileedit' fertig               >> .fo xifertig =  2? _xbconverr
?'xtfileedit' mit Fehler           >> .fo xifertig =  2?  xbconverr
---------------------------------- >> .fo xifertig =  2
weiter editieren                   >> .fo xifertig =  0
fertig                             >> .fo xifertig = -1
.WEITER REPT003 ? _(xifertig <= 0)
.WEITER REPT002 ? _(xifertig = -1)
..
.WEITER EL007 ? _(_xbconverr)
.. IF007
.. wenn kein Fehler dann wirklich zu Runtime konvertieren
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET005" 
.WEITER PROC005
!RET005: ----- TORUNTIME -----
.FORMEL xprocsp = xprocsp - 1
!EL007
.. FI007
..
.belegen
.WEITER FI004
!EL004
.box Fehler
Konvertierung von
 xtfilekfop'
  KFOP-Source
  fehlerhaft!
!FI004
..
.WEITER FI003
!EL003
.. ist ein normales FOP
.fo xtkom = "<text> " + 'xtfileedit' + " <ndern>"
.fo xtmod = "-parallel"
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET006" 
.WEITER PROC003
!RET006: ----- RUNKOM -----
.FORMEL xprocsp = xprocsp - 1
!FI003
!EL001
.. FI001
.ende .
..
..-- Procs ---------------------
..
.WEITER EPRO003
!PROC003: ----- RUNKOM -----
.WEITER EL008 ? _(GRAFIK)
.. IF008
.kommando 'xtmod' 'xtkom'
.WEITER FI008
!EL008
.fo xtlader = "tmp/KASCIILDR" + 'versionneu' + ".TMP"
.fo xtsys = "echo '" + 'xtkom' + "' > " + 'xtlader'
.sys 'xtsys' hinter
.kommando -LADER 'xtlader'
.fo xtsys = "sleep 1;rm -f " + 'xtlader'
.sys 'xtsys' hinter
!FI008
.WEITER 'xprocst.xprocsp'
!EPRO003:
.WEITER EPRO001
!PROC001: ----- CREATEFOP -----
!REPT004: ==============================
.. frag mal nach Erstellen
.fo xifertig = 0
..
.menue(0,0,3)Hinweis
Datei 'xtfileedit' existiert nicht
----------------------------------
KFOP 'xtfileedit' erstellen          >> GNKFOP
normales FOP 'xtfileedit' erstellen  >> GNNFOP
abbrechen                            >> .ende .
..
.aus auf 'xtfileedit'
.ein DATEI.F
..
.. das msste eigentlich aus einer Parameterdatei kommen (wie in Ligra)
.. =====   CASE001   =====
.WEITER BRK001 ? _('mentxt' = "GNKFOP")
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET007" 
.WEITER PROC006
!RET007: ----- CREATEKFOP -----
.FORMEL xprocsp = xprocsp - 1
.fo xifertig = -1
.WEITER ESAC001
!BRK001
.WEITER BRK002 ? _('mentxt' = "GNNFOP")
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET008" 
.WEITER PROC007
!RET008: ----- CREATENFOP -----
.FORMEL xprocsp = xprocsp - 1
.fo xifertig = -1
.WEITER ESAC001
!BRK002
!ESAC001: =====   ENDCASE   =====
..
.aus auf WERF.WEG
.aus BILD
.ein BILD.F
.WEITER REPT004 ? _(xifertig = -1)
.WEITER 'xprocst.xprocsp'
!EPRO001:
.WEITER EPRO007
!PROC007: ----- CREATENFOP -----
?..: Beginn des Programms 'xtfileedit'           ? true
?..: erstellt am    : 'datum'                    ? true
?..: Autor          : 'passw^name'               ? true
?..: Projekt/Teil   : 'E|HOST_MANDANTDIR'        ? true
?..: Projektierung  : Steinhilber Schwehr GmbH   ? true
?..: Aufgabe 1      :                            ? true
?..: Aufgabe 2      :                            ? true
?.. ======================================================================================================? true
.WEITER 'xprocst.xprocsp'
!EPRO007:
.WEITER EPRO006
!PROC006: ----- CREATEKFOP -----
?..: KFOP Runtime   : 1.7                        ? true
?..: Beginn des Programms 'xtfileedit'           ? true
?..: erstellt am    : 'datum'                    ? true
?..: Autor          : 'passw^name'               ? true
?..: Projekt/Teil   : 'E|HOST_MANDANTDIR'        ? true
?..: Projektierung  : Steinhilber Schwehr GmbH   ? true
?..: Aufgabe 1      :                            ? true
?..: Aufgabe 2      :                            ? true
?.. ======================================================================================================? true
?.. Stackpointer fuer KFOP                       ? true
?.art integer   xprocsp 'frage' _defined(xprocsp)? true
.WEITER 'xprocst.xprocsp'
!EPRO006:
.WEITER EPRO008
!PROC008: ----- CONVERR -----
.fo xtsys = "test -s " + 'xtconverr'
.sys 'xtsys' hinter
.fo xbconverr = mehr
.WEITER 'xprocst.xprocsp'
!EPRO008:
.WEITER EPRO002
!PROC002: ----- TOSOURCE -----
.fo xbconverr = false
..
.. Muss konvertiert werden?
.fo xtsys      = "grep '^..: KFOP Runtime   :' < " + 'xtfileedit'
.sys 'xtsys' hinter
.WEITER EL009 ? _(mehr)
.. IF009
.. KFOP-Runtime konvertieren
..
.. Runtime in KFOP konvertieren
.fo xtsys =                  "cat " + xtfileedit
.fo xtsys = xtsys + " | "  + xtkfop2kfo
.fo xtsys = xtsys + " > "  + xtfilekfop
.fo xtsys = xtsys + " 2> " + xtconverr
.sys 'xtsys' hinter
.. Konvertierfehler ?
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET009" 
.WEITER PROC008
!RET009: ----- CONVERR -----
.FORMEL xprocsp = xprocsp - 1
.WEITER FI009
!EL009
.. schon konvertiertes KFOP nur noch kopieren
.fo xtsys =         "cp " + xtfileedit + " " + xtfilekfop
.sys 'xtsys' hinter
!FI009
.WEITER 'xprocst.xprocsp'
!EPRO002:
.WEITER EPRO005
!PROC005: ----- TORUNTIME -----
.. und wieder zurck
.fo xtsys =                  "cat " + xtfilekfop
.fo xtsys = xtsys + " | "  + xtkfop2fop
.fo xtsys = xtsys + " > "  + xtfileedit
.fo xtsys = xtsys + " 2> " + xtconverr
.sys 'xtsys' hinter
.. Konvertierfehler ?
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET010" 
.WEITER PROC008
!RET010: ----- CONVERR -----
.FORMEL xprocsp = xprocsp - 1
.WEITER 'xprocst.xprocsp'
!EPRO005:
.WEITER EPRO004
!PROC004: ----- TSTRUNTIME -----
.. und wieder zurck
.fo xtsys =                  "cat " + xtfilekfop
.fo xtsys = xtsys + " | "  + xtkfop2fop
.fo xtsys = xtsys + " 2> " + xtconverr
.sys 'xtsys' hinter
.. Konvertierfehler ?
.FORMEL xprocsp = xprocsp + 1
.ART TEXT xprocst.xprocsp ? _defined(xprocst.xprocsp)
.FORMEL xprocst.xprocsp = "RET011" 
.WEITER PROC008
!RET011: ----- CONVERR -----
.FORMEL xprocsp = xprocsp - 1
.WEITER 'xprocst.xprocsp'
!EPRO004:
