home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / applications / wp / macro28.lha / Macro / FinsGold / Modula / M2Error.ged < prev    next >
Encoding:
Text File  |  1994-06-12  |  3.2 KB  |  112 lines

  1. /* $VER: M2Error V 0.98 © 1994 Fin Schuppenhauer                  */
  2. /**
  3.    Lädt die Fehlerdatei zum aktuellen Text und zeigt den nächsten
  4.    Fehler an.
  5.  
  6.    14. März 1994 0.9
  7.    19. März 1994 Völlig neu geschrieben; benutzt jetzt das Pro-
  8.                  gramm "RexxM2Error" -> 0.95
  9.    20. März 1994 Abfrage, ob der aktuelle Quelltext auch mit dem von
  10.                  "RexxM2Error" übereinstimmt -> 0.96
  11.    29. März 1994 Benutzt die ursprüngliche Textlänge (gemeint ist hier-
  12.                  mit die Länge des Textes beim Laden der Fehlerliste)
  13.                  und die aktuelle, um den Cursor besser zu positionieren.
  14.    12. Juni 1994 "RexxM2Error" wird auf Wunsch gestartet.
  15. **/
  16.  
  17. OPTIONS RESULTS                             /* enable return codes     */
  18.  
  19. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  20.     address 'GOLDED.1'
  21.  
  22. 'LOCK CURRENT'                              /* lock GUI, gain access   */
  23. OPTIONS FAILAT 6                            /* ignore warnings         */
  24. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  25.  
  26.  
  27. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  28.  
  29.  
  30. 'QUERY CAT'
  31. isGerman = (result = "deutsch")
  32.  
  33. 'QUERY DOC VAR DOCNAME'
  34.  
  35. if (right(docname, 4) ~= '.mod') & (right(docname, 4) ~= '.def') then do
  36.    if (isGerman) then
  37.       'REQUEST BODY="Dies ist kein Modula-2 Quelltext!" BUTTON="Das stimmt"'
  38.    else
  39.       'REQUEST BODY="This is no Modula-2 source!" BUTTON="I see"'
  40.    'UNLOCK'
  41.    EXIT
  42. end
  43.  
  44. if ~show('P', 'REXXM2ERROR') then do
  45.    if (isGerman) then
  46.       'REQUEST BODY="RexxM2Error läuft nicht!|Soll ich es starten." BUTTON=Ja|Abbrechen'
  47.    else
  48.       'REQUEST BODY="RexxM2Error is not running!|Should i start that program." BUTTON=Yes|Cancel'
  49.    if result = '0' then do
  50.       'UNLOCK'
  51.       EXIT
  52.    end
  53.    ADDRESS COMMAND 'run >NIL: M2:RexxM2Error'
  54.    if ~show('P', 'REXXM2ERROR') then do
  55.       if (isGerman) then
  56.          'REQUEST BODY="Startversuch fehlgeschlagen!" BUTTON=Abbruch'
  57.      else
  58.          'REQUEST BODY="Starting failed!" BUTTON=Cancel'
  59.      'UNLOCK'
  60.      EXIT
  61.    end
  62. end
  63.  
  64. /* Stimmt der aktuelle Quelltext mit dem von "RexxM2Error" überein? */
  65. ADDRESS 'REXXM2ERROR' 'QUERY FILE'
  66. if rc = 0 then
  67.    if result ~= docname'E' then do
  68.       if (isGerman) then
  69.          'REQUEST BODY="Fehlerdatei paßt nicht!" BUTTON=Ok'
  70.       else
  71.          'REQUEST BODY="Errorfile does not match!" BUTTON=Ok'
  72.       'UNLOCK'
  73.       EXIT
  74.    end
  75.  
  76. ADDRESS 'REXXM2ERROR' 'ERROR'
  77. errinfo = result
  78.  
  79. if rc = 0 then do
  80.    'EXALL'
  81.    'QUERY BYTES'
  82.    bytediff = result - getclip('Bytes')
  83.    offset = word(errinfo,1) + bytediff
  84.    errnum = word(errinfo,2)
  85.    errmsg = subword(errinfo,3)
  86.    'GOTO BYTE='offset
  87.    if (isGerman) then
  88.       'REQUEST BODY="Fehler Nummer 'errnum':|'errmsg'" BUTTON=Ok'
  89.    else
  90.       'REQUEST BODY="Error number 'errnum':|'errmsg'" BUTTON=Ok'
  91.    end
  92. else do
  93.    if (isGerman) then
  94.       'REQUEST BODY="Kein weiterer Fehler." BUTTON=Ok'
  95.    else
  96.       'REQUEST BODY="No more errors." BUTTON=Ok'
  97.    ADDRESS 'REXXM2ERROR' 'RESET'
  98. end
  99.  
  100.  
  101. /* ---------------------------- END OF YOUR CODE --------------------- */
  102.  
  103. 'UNLOCK' /* VERY important: unlock GUI */
  104. EXIT
  105.  
  106. SYNTAX:
  107.  
  108. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  109. 'UNLOCK'
  110. EXIT
  111.  
  112.