home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / flexcat-1.2.lha / FlexCat / Oberon_V38.sd < prev    next >
Text File  |  1994-03-11  |  2KB  |  78 lines

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