home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / obrn-a_1.5_src.lha / oberon-a / source3.lha / Source / OC / OCPrefsStrings.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  3.7 KB  |  120 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OCPrefsStrings;
  4. (****************************************************************
  5.    This file was created automatically by `FlexCat 1.5'
  6.    Do NOT edit by hand!
  7.    Oberon-A source description C 1994 by Albert Weinert
  8.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  9.    Modified for Oberon-A 1.5 by Frank Copeland
  10.  
  11.    Application: OCPrefsStrings
  12.    Language   : "english"
  13.    Version    : 1
  14.    Description: OCPrefsStrings.cd
  15.  
  16.     $RCSfile: OCPrefsStrings.mod $
  17.    $Revision: 1.3 $
  18.      $Author: fjc $
  19.        $Date: 1995/01/26 00:17:17 $
  20.  
  21. ****************************************************************)
  22.  
  23. IMPORT
  24.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  25.  
  26. CONST
  27.   builtinlanguage = "english";
  28.   version = 1;
  29.  
  30. CONST
  31.   msg5* = 0;
  32.   msg6* = 1;
  33.   msg7* = 2;
  34.   msg8* = 3;
  35.   msg9* = 4;
  36.   msg10* = 5;
  37.   msg11* = 6;
  38.   msg12* = 7;
  39.   msg13* = 8;
  40.   msg14* = 9;
  41.   msg15* = 10;
  42.   msg16* = 11;
  43.   msg17* = 12;
  44.  
  45. TYPE
  46.   AppString = RECORD;
  47.      id  : LONGINT;
  48.      str : e.LSTRPTR;
  49.   END;
  50.   AppStringArray = ARRAY 13 OF AppString;
  51.  
  52. VAR
  53.   AppStrings : AppStringArray;
  54.   catalog : lo.CatalogPtr;
  55.  
  56.   PROCEDURE SetStrings;
  57.     BEGIN
  58.       AppStrings[0].id := msg5; AppStrings[0].str := y.ADR( " !! Arguments VERBOSE and QUIET are mutually exclusive\n" );
  59.       AppStrings[1].id := msg6; AppStrings[1].str := y.ADR( " !! Arguments DEBUG and NODEBUG are mutually exclusive\n" );
  60.       AppStrings[2].id := msg7; AppStrings[2].str := y.ADR( " !! Arguments MAKEICONS and NOICONS are mutually exclusive\n" );
  61.       AppStrings[3].id := msg8; AppStrings[3].str := y.ADR( "Preferences file: " );
  62.       AppStrings[4].id := msg9; AppStrings[4].str := y.ADR( "Search paths ...:" );
  63.       AppStrings[5].id := msg10; AppStrings[5].str := y.ADR( " None" );
  64.       AppStrings[6].id := msg11; AppStrings[6].str := y.ADR( " !! Settings saved to '%s'\n" );
  65.       AppStrings[7].id := msg12; AppStrings[7].str := y.ADR( " !! Could not create '%s'\n" );
  66.       AppStrings[8].id := msg13; AppStrings[8].str := y.ADR( "See OCPrefs.doc for conditions of use\n" );
  67.       AppStrings[9].id := msg14; AppStrings[9].str := y.ADR( " !! Too many arguments: select only one prefs file\n" );
  68.       AppStrings[10].id := msg15; AppStrings[10].str := y.ADR( " !! Out of memory\n" );
  69.       AppStrings[11].id := msg16; AppStrings[11].str := y.ADR( " !! Could not create icon for '%s'\n" );
  70.       AppStrings[12].id := msg17; AppStrings[12].str := y.ADR( " !! Could not obtain icon\n" );
  71.     END SetStrings;
  72.  
  73.   PROCEDURE CloseCatalog*();
  74.     BEGIN
  75.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  76.    END CloseCatalog;
  77.  
  78.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  79.     VAR Tag : ARRAY 4 OF u.TagItem;
  80.     BEGIN
  81.       CloseCatalog();
  82.       IF (catalog = NIL) & (lo.base # NIL) THEN
  83.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  84.         Tag[1].tag := u.skip;             Tag[1].data := y.ADR( language );
  85.         Tag[2].tag := lo.version;         Tag[2].data := version;
  86.         Tag[3].tag := u.done;
  87.  
  88.         IF language # "" THEN
  89.           Tag[1].tag:= lo.language;
  90.         END;
  91.         catalog := lo.OpenCatalogA (loc, "OCPrefsStrings.catalog", Tag);
  92.       END;
  93.     END OpenCatalog;
  94.  
  95.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  96.     VAR
  97.       i: LONGINT;
  98.       default: e.LSTRPTR;
  99.     BEGIN
  100.       i := 0; WHILE (i < 13) & (AppStrings[i].id # num) DO INC (i) END;
  101.  
  102.       IF i # 13 THEN
  103.         default := AppStrings[i].str;
  104.       ELSE
  105.         default := NIL;
  106.       END;
  107.  
  108.       IF catalog # NIL THEN
  109.         RETURN lo.GetCatalogStr (catalog, num, default^);
  110.       ELSE
  111.         RETURN default;
  112.       END;
  113.     END GetString;
  114.  
  115. BEGIN
  116.   catalog := NIL;
  117.   SetStrings;
  118. END OCPrefsStrings.
  119.  
  120.