home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / dev / misc / flexcat / oberon_v39.sd < prev    next >
Text File  |  1993-12-21  |  2KB  |  77 lines

  1. ##stringtype Oberon
  2. ##shortstrings
  3. (****************************************************************
  4.    This file was created automatically by `FlexCat V1.0'
  5.    Do NOT edit by hand!
  6. ****************************************************************)
  7.  
  8. MODULE %b;
  9.  
  10. IMPORT
  11.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  12.  
  13. CONST
  14.   builtinlanguage = %l;
  15.   version = %v;
  16.  
  17.   %i* = %d;\n%iSTR = %s;\n\n
  18.  
  19.  
  20. TYPE
  21.   AppString = STRUCT
  22.      id  : LONGINT;
  23.      str : e.STRPTR;
  24.   END;
  25.   AppStringArray = ARRAY %n OF AppString;
  26.  
  27. CONST
  28.   AppStrings = AppStringArray (
  29.     %i, y.ADR(%iSTR)%(,)
  30.   );
  31.  
  32. VAR
  33.   catalog : lo.CatalogPtr;
  34.  
  35.   PROCEDURE CloseCatalog*();
  36.     BEGIN
  37.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  38.    END CloseCatalog;
  39.  
  40.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  41.     VAR Tag : u.Tags4;
  42.     BEGIN
  43.       CloseCatalog();
  44.       IF (catalog = NIL) & (lo.base # NIL) THEN
  45.     Tag:= u.Tags4(lo.BuiltInLanguage, y.ADR(builtinlanguage),
  46.               u.skip, u.done, lo.version, version, u.done, u.done);
  47.     IF language # "" THEN
  48.       Tag[1].tag:= lo.language; Tag[1].data:= y.ADR(language);
  49.     END;
  50.     catalog := lo.OpenCatalogA (loc, "%b.catalog", Tag);
  51.       END;
  52.     END OpenCatalog;
  53.  
  54.   PROCEDURE GetString* (num: LONGINT): e.STRPTR;
  55.     VAR
  56.       i: LONGINT;
  57.       default: e.STRPTR;
  58.     BEGIN
  59.       i := 0; WHILE (i < %n) AND (AppStrings[i].id # num) DO INC (i) END;
  60.  
  61.       IF i # %n THEN
  62.       default := AppStrings[i].str;
  63.       ELSE
  64.     default := NIL;
  65.       END;
  66.  
  67.       IF catalog # NIL THEN
  68.     RETURN lo.GetCatalogStr (catalog, num, default^);
  69.       ELSE
  70.     RETURN default;
  71.       END;
  72.     END GetString;
  73.  
  74. CLOSE
  75.   CloseCatalog();
  76. END Chaos.
  77.