home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------------------
- :Program. Err.ttx
- :Contents. Show Oberon errors with Turbotext
- :Author. Kai Bolay [kai]
- :Address. Snail-Mail: E-Mail:
- :Address. Hoffmannstrasse 168 UUCP: kai@amokle.adsp.sub.org
- :Address. D-7250 Leonberg 1 FIDO: 2:247/706.3
- :Author. Jan Geißler [jan] (Turbotext-Anpassung)
- :Address. Snail-Mail: E-Mail:
- :Address. Hermann-Rombach-Str. 17 Zerberus:J.GEISSLER@DALLAS.ZER
- :Address. D-7120 Bietigheim FIDO: 2:247/706.5
- :History. v1.0 [kai] 12-Mar-92
- :History. v1.0.1 [jan] 06-Jun-92 (+ fixed for use with TurboText)
- :Copyright. FD
- :Language. ARexx
- :Translator. RexxMast
- :Remark. Use AmigaOberon.dfn to get oberon menus & more in TTX!
- ------------------------------------------------------------------------ */
-
- /*** Open oberonsupport.library ***/
-
- options results
-
- arg what
- if (what ~= "FIRST") & (what ~= "NEXT") & (what ~= "PREV") then do
- requestbool "Fehler" "Falscher Aufruf von Err.ttx"
- BeepScreen
- exit
- end
-
- libname = "oberonsupport.library"
-
- if ~show("L", libname) then do
- if ~addlib(libname, 0, -30, 1) then do
- text = libname "not found!"
- BeepScreen
- RequestBool "Fehler:" text
- end
- end
-
- getfileinfo /* Nur Filnamen (ohne Pfad) holen */
- parse var result unw1 unw2 filename
-
- if filename = "" then do
- BeepScreen
- RequestBool "Fehler:" "Kein Filename"
- exit
- end
-
- getfilepath /* Kompletten Filenamen (mit Pfad) holen */
- filename = result
-
- if right(filename,4) ~= ".mod" then do
- BeepScreen
- RequestBool "Fehler:" "Filename endet nicht auf '.mod'"
- exit
- end
-
- filename = filename || 'E'
-
- count = GetErrCount(filename)
- if count < 0 then do
- BeepScreen
- RequestBool "Fehler:" "Kann Fehleranzahl nicht bestimmen"
- exit
- end
-
- if what = "FIRST" then do
- cnt = 0
- end; else do
- cnt = getclip("CurrentError")
-
- if cnt = "" then do
- BeepScreen
- RequestBool "Fehler:" "Kann mir aktuellen Fehler nicht holen"
- exit
- end
-
- if what = "NEXT" then do
- cnt = cnt+1
- end; else do
- cnt = cnt-1
- end
- end
-
- if cnt >= count then do
- SetStatusBar "Keine weiteren Fehler"
- exit
- end
-
- if cnt < 0 then do
- SetStatusBar "Erster Fehler bereits erreicht"
- exit
- end
-
- if ~GetError(filename, cnt, Error.) then do
- BeepScreen
- RequestBool "Fehler:" "Kann Fehlerdatei nicht laden"
- exit
- end
-
- move FOLDS Error.line Error.column-1
-
- text = "F." cnt+1 || "/" || count || ": " || GetErrorText(Error.num)
-
- SetStatusBar text
-
- if ~setclip("CurrentError",cnt) then do
- BeepScreen
- RequestBool "Fehler:" "Kann mir aktuellen Fehler nicht merken"
- exit
- end
-