home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / dev / obero / oberon-a / source / oel / oelmsg.mod < prev    next >
Encoding:
Text File  |  1994-08-15  |  2.7 KB  |  92 lines

  1. MODULE OELMsg;
  2. (****************************************************************
  3.    This file was created automatically by `FlexCat V1.3'
  4.    Do NOT edit by hand!
  5.    Oberon-A source description by Albert Weinert
  6.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  7. ****************************************************************)
  8.  
  9. (* $P- *)
  10.  
  11. IMPORT
  12.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  13.  
  14. CONST
  15.   builtinlanguage = "english";
  16.   version = 1;
  17.  
  18. CONST
  19.   msgTemplate* = 0;
  20.   msgArgError* = 1;
  21.   msgCopyright* = 2;
  22.   msgNotAnErrorFile* = 3;
  23.  
  24. TYPE
  25.   AppString = RECORD;
  26.      id  : LONGINT;
  27.      str : e.STRPTR;
  28.   END;
  29.   AppStringArray = ARRAY 4 OF AppString;
  30.  
  31. VAR
  32.   AppStrings : AppStringArray;
  33.   catalog : lo.CatalogPtr;
  34.  
  35.   PROCEDURE SetStrings;
  36.     BEGIN
  37.       AppStrings[0].id := msgTemplate; AppStrings[0].str := y.ADR( "MODULE/A,MODEXT/K,ERREXT/K,COLWIDTH/N,COLSEPERATOR/K,NOLINENUMBERS/S,ERRNUMBERS/S,NOANSI/S,TAGLENGTH/N,TABSIZE/N" );
  38.       AppStrings[1].id := msgArgError; AppStrings[1].str := y.ADR( "%s: Argument error.\n" );
  39.       AppStrings[2].id := msgCopyright; AppStrings[2].str := y.ADR( "%s, Copyright © 1994 Johan Ferreira.\n"
  40.     "OEL (Oberon-A Error Lister) comes with ABSOLUTELY NO WARRANTY.\n"
  41.     "This is free software, and you are welcome to redistribute it\n"
  42.     "under certain conditions.  See OEL.guide for details.\n\n" );
  43.       AppStrings[3].id := msgNotAnErrorFile; AppStrings[3].str := y.ADR( "%s: %s is not an Oberon-A error file.\n" );
  44.     END SetStrings;
  45.  
  46.   PROCEDURE CloseCatalog*();
  47.     BEGIN
  48.       IF catalog # NIL THEN lo.base.CloseCatalog (catalog); catalog:=NIL END;
  49.    END CloseCatalog;
  50.  
  51.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  52.     VAR Tag : ARRAY 4 OF u.TagItem;
  53.     BEGIN
  54.       CloseCatalog();
  55.       IF (catalog = NIL) & (lo.base # NIL) THEN
  56.         Tag[0].tag := lo.ocBuiltInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  57.         Tag[1].tag := u.tagSkip;  Tag[1].data := y.ADR( language );
  58.         Tag[2].tag := lo.ocVersion; Tag[2].data := version;
  59.         Tag[3].tag := u.tagDone;
  60.  
  61.         IF language # "" THEN
  62.           Tag[1].tag:= lo.ocLanguage;
  63.         END;
  64.         catalog := lo.base.OpenCatalogA (loc, "OEL.catalog", Tag);
  65.       END;
  66.     END OpenCatalog;
  67.  
  68.   PROCEDURE GetString* (num: LONGINT): e.STRPTR;
  69.     VAR
  70.       i: LONGINT;
  71.       default: e.STRPTR;
  72.     BEGIN
  73.       i := 0; WHILE (i < 4) & (AppStrings[i].id # num) DO INC (i) END;
  74.  
  75.       IF i # 4 THEN
  76.         default := AppStrings[i].str;
  77.       ELSE
  78.         default := NIL;
  79.       END;
  80.  
  81.       IF catalog # NIL THEN
  82.         RETURN lo.base.GetCatalogStr (catalog, num, default^);
  83.       ELSE
  84.         RETURN default;
  85.       END;
  86.     END GetString;
  87.  
  88. BEGIN
  89.   catalog := NIL;
  90.   SetStrings;
  91. END OELMsg.
  92.