home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / FDL_V410.ZIP / FLLDOCEN.DOC < prev    next >
Text File  |  1994-04-03  |  28KB  |  593 lines

  1. ╔══════════════════════════════            ┌─────────────────┐
  2. ║ FDL  FileDoor-LITE                       │    D.I.S.P.     │────┐
  3. ║                                          │                 │░░░░│
  4. ╟──────────────────────────────            │                 │░░░░│
  5. ║ (c) 1994  Robert W.van Hoeven            │ Dutch           │░░░░│
  6. ╟──────────────────────────────            │   Independent   │░░░░│
  7. ║ Release : 4.10                           │     ShareWare   │░░░░│
  8. ║ Rel.Date: April 3th, 1994                │       Programmer│░░░░│
  9. ╠══════════════════════════════            └─────────────────┘░░░░│
  10. ║                                          |    │░░░░░░░░░░░░░░░░░│
  11. ║       L A N G U A G E                    |    └─────────────────┘
  12. ║      R E F E R E N C E                   |       ┌─────┐        |
  13. ║      =================                   |       │░░░░░│        |
  14. ║                                          |       └──┬──┘        |
  15. ║ Changes to version 4.03 are              |     ┌────┴────┐      |
  16. ║ marked with a '│' in front               ------││││││ ═══│-------
  17. ║ of the line.                                   └─────────┘
  18. ╠═══════════════════════════════
  19. ║ Address: Robert W. van Hoeven
  20. ║          PO. Box 131
  21. ║          1170 AC  Badhoevedorp
  22. ║          Nederland / Holland
  23. ╚═══════════════════════════════
  24.  
  25.  ┌───────┬─────────────────────────────────────────────────────────────┐
  26.  │   0   │ Table of contents                                           │
  27.  └───────┴─────────────────────────────────────────────────────────────┘
  28.  
  29.  1 ----    General information
  30.   1.1      General information on Filedoor language support
  31.   1.2      Specific language related problems
  32.  
  33.  2 ----    Setting up FileDoor for language support
  34.   2.1      Related options in FDL.CFG
  35.   2.2      Related files
  36.   2.3      New language files
  37.  
  38.  3 ----    Format of the language file
  39.   3.1      Creating your own language file
  40.   3.2      General format of the language file
  41.   3.3      Meta-command reference
  42.   3.4      Macro reference
  43.  
  44.  4 ----    Compilation
  45.   4.1      FLL.EXE
  46.  
  47.  ┌───────┬─────────────────────────────────────────────────────────────┐
  48.  │   1   │ General information on FileDoor language support            │
  49.  └───────┴─────────────────────────────────────────────────────────────┘
  50.  
  51.  1.1 General information on FileDoor language support
  52.  ────────────────────────────────────────────────────
  53.  FileDoor is equipped with its  own language-driver which is not  at all
  54.  compatible with  the language  support that  you will  find in your BBS
  55.  program or other doors. The reasons for this are:
  56.  
  57.  - FileDoor can be  used with a large  number of BBS programs  which all
  58.    have their own standard;
  59.  
  60.  - The language  support of most  BBS programs is  not as flexible  as I
  61.    wanted it to be;
  62.  
  63.  For this reason, a new type of language support was developed which  is
  64.  build  around  simple  ASCII  text-files  and  a language compiler. The
  65.  ASCII file can be modified  with any normal text-editor which  supports
  66.  ASCII  text-files  (something  different  than  word-processor  files).
  67.  Also a  DISP-compatible language-file  editor is  under development, as
  68.  this format  of language  support will  be included  in all BBS-related
  69.  DISP programs (RFW, MTS and so on).
  70.  
  71.  The language  support is  quit simple.   The basics  behind the current
  72.  mechanism is simple. Most  language-independent programs will load  the
  73.  needed language-file into the  (conventional) memory, thus taking  away
  74.  precious  memory  that  could  otherwise  be  used for other functions.
  75.  Depending on the package, this can take from 10K to 64+K of memory.
  76.  
  77.  The  current  language-engine  for  Filedoor,  will  use  around  4K of
  78.  memory.  By means of string-cache mechanisms, FileDoor will be able  to
  79.  maintain the most needed strings  in memory. This caching mechanism  is
  80.  still under  development. Currently,  FileDoor WILL  cache the  strings
  81.  but in a  sequential order. In  normal situations, this  will result in
  82.  the almost optimal result, because the strings are read into the  cache
  83.  in the same  sequence as they  are displayed in  FileDoor. None of  the
  84.  recursive string-sequences (e.g.line 1, line 2, line 3, question,  line
  85.  1, line 2,  line 3, question,  and so on)  will pass the  current cache
  86.  bounds, meaning  that there  is almost  NO delay  in reading the string
  87.  from disk.  As the mechanism enhances, speed will be better.
  88.  
  89.  The main benefits  of the DISP-compatible  language file that  is added
  90.  to FileDoor, are:
  91.  
  92.  - The option to include and exclude almost EVERY line;
  93.  
  94.  - The option to format lines in the way you want;
  95.  
  96.  - The option to exclude unwanted information;
  97.  
  98.  - The  option to  leave out   specific questions  when there  are  more
  99.    than 2 option are normally allowed;
  100.  
  101.  - The  option to  alternate the  colors in  the way  you like  (you can
  102.    even create a flashing light-show if you want);
  103.  
  104.  - Rather fast;
  105.  
  106.  - No memory constraint;
  107.  
  108.  This flexibility is implemented by using free-form coding, macros  that
  109.  will be substituted (they will  be enhanced in the future)  and special
  110.  syntax for questions.
  111.  
  112.  
  113.  1.2 Specific language related problems
  114.  ────────────────────────────────────────────────────
  115.  The current language support  will be fine in  most cases. Some of  the
  116.  languages will give problems though:
  117.  
  118.  - Cyrilic languages (e.g. Russian)
  119.    Cyrilic languages  ARE supported  by the  PC, by  means of  a special
  120.    'unofficial' code-page and  a device driver.   FileDoor WILL  support
  121.    cyrilic languages but I am  still changing the code (testing  is done
  122.    by the  Russian DISP-site  (Anthony Guetmansky,  St. Petersburg)). At
  123.    this moment  the cyrilic  language is  still a  problem. The  correct
  124.    uppercase/lowercase routines are implemented but don't function  well
  125.    at this moment, so hold on....
  126.  
  127.  - Hebrew and Arabic languages
  128.    Currently, Hebrew  is under  development. In  this case  the problems
  129.    are  different.   Most  lines  need  to  be  reversed and so will the
  130.    language substitution in FileDoor.
  131.  
  132.  Some of the  macros (see later)  to trigger special  language types are
  133.  already available, but they won't work (correctly).
  134.  
  135.  ┌───────┬─────────────────────────────────────────────────────────────┐
  136.  │ 2     │ Setting up FileDoor for language support                    │
  137.  └───────┴─────────────────────────────────────────────────────────────┘
  138.  
  139.  2.1 Related options in FDL.CFG
  140.  ────────────────────────────────────────────────────
  141.  There is one important option in FDL.CFG that can be used when you  use
  142.  different  languages  (but  only  in  this  case).   It is the LANGUAGE
  143.  option (obvious). If  you don't use  any different languages  (but only
  144.  one  language),  you  don't  need  this  option. See chapter 2.xx for a
  145.  barebones setup !
  146.  
  147.  The LANGUAGE option needs the name of the language that is used in  the
  148.  BBS.   The BBS  must be  able to  pass the  NAME of  the language  in a
  149.  special file  (FDL.XSL).   This file  is a  normal ASCII text-file with
  150.  ONE line, containing the name  (case is not important) of  the language
  151.  that is currently used.
  152.  
  153.  For Remote Access <tm> this can be implemented as follows:
  154.  
  155.  - Place  the FDL.RAT  file (from  this release  archive) in  the Remote
  156.    Access <tm> system  directory. This file  contains the enhanced  code
  157.    that will be replaced by the name of the language;
  158.  
  159.  - Add the following option to the FileDoor calls (type 7):
  160.  
  161.    [start of command-line] -0*SFDL.XSL
  162.  
  163.    -0 is needed  because of a  bug in Remote  Access. This package  will
  164.    not  correctly  clear  the  remaining  command-line,  after the *S is
  165.    detected. FIleDoor will take everything  behind -0 as granted, so  it
  166.    will not result in 'invalid option' situations.
  167.  
  168.  - The following will happen:
  169.  
  170.    - RA will start calling FileDoor;
  171.  
  172.    - It will detect *SFDL.XSL and will do the following:
  173.  
  174.      - Read FDL.RAT
  175.  
  176.      - Substitute the enhanced ANSI-code with the name of the language;
  177.  
  178.      - Will write this to FDL.XSL
  179.  
  180.    - It will detect other options like *M and so on;
  181.  
  182.    - It will actually call FileDoor itself;
  183.  
  184.    - FileDoor will read the command-line  and will try to open the  file
  185.      FDL.XSL;
  186.  
  187.    - If not present,  it will use FDL.FLL  as the default language  file
  188.      and will use the directory  from the FILEDOORDIR option as  the one
  189.      that contains the ANS/ASC text-files to be used;
  190.  
  191.    - If present, FileDoor will check if there is a LANGUAGE option  with
  192.      the same name as the name that came from FDL.XSL;
  193.  
  194.    - If  no LANGUAGE  option is  valid, the  same will  happen as if the
  195.      FDL.XSL file was not present;
  196.  
  197.    - If present, FileDoor will  use the language-file from the  LANGUAGE
  198.      option ([name].FLL  if present.   If not  present, FDL.FLL  is used
  199.      again) AND will use the directory from the LANGUAGE options as  the
  200.      one that contains the ANS/ASC files;
  201.  
  202.  - In short, FileDoor will check  for a temporary file FDL.XSL and  will
  203.    either  use  FDL.FLL  (mind  the  difference  between  XSL  and   FLL
  204.    extensions) or [name].FLL.  The  FLL files are the COMPILED  language
  205.    files that  came from  FDL.LAN or  [name].LAN and  should be found in
  206.    the DOS-path.
  207.  
  208.  For SuperBBS <tm> this can be implemented as follows:
  209.  
  210.  - It is rather  the same as with  Remote Access but now  you should use
  211.    FDL.SBE (same as FDL.RAT but now  for SuperBBS) and it should use  *X
  212.    and not *S as the  macro in the type 7  menu. The rest will work  the
  213.    same.
  214.  
  215.  The number of  LANGUAGE statements in  FDL.CFG is unlimited.   Be aware
  216.  though that many  (obsolete) lines in  FDL.CFG will result  in a longer
  217.  init-time when FileDoor is called.
  218.  
  219.  As  you  could  see,  in  both  setups, FileDoor also can use different
  220.  ANS/ASC files (when  needed and if  implemented). The normal  directory
  221.  where FileDoor finds  these files is  set with the  FIELDOORDIR option.
  222.  With language  support, FileDoor  will obtain  an alternative directory
  223.  from the LANGUAGE option !
  224.  
  225.  Another option to review is the USERMACRO option. The USERMACRO  option
  226.  also uses  the name  of the  language. If  you don't  support different
  227.  languages  and/or  there  is  a  chance  of passing a language-name for
  228.  which there isn't  a LANGUAGE option,  you need to  use ENGLISH as  the
  229.  name to use on  the USERMACRO. So when  you use USERMACRO options,  you
  230.  should (at least) include one with the language-name ENGLISH !
  231.  
  232.  
  233.  2.2 Related files
  234.  ────────────────────────────────────────────────────
  235.  As you have  read  in  2.1, FileDoor uses   a couple of  special  files
  236.  for the language support. These are:
  237.  
  238.  - FDL.LAN
  239.    The default language-file that should be compiled to FDL.FLL.
  240.  
  241.  - [name].LAN
  242.    The specific  language-file(s) that  can be  used, like  DEUTSCH.LAN,
  243.    DUTCH.LAN,  STARTREK.LAN  and  so  on.   These  should be compiled to
  244.    [name].FLL;
  245.  
  246.  - FDL.FLL
  247.    The default (compiled) language. It  should ALWAYS be present.   Even
  248.    if you don't use different  languages (but just one), this  file must
  249.    be present. English  users can use  the supplied FDL.LAN  file in the
  250.    release  archive.  FileDoor  will  use  this  file  when  there is no
  251.    language-support or when a language  is used for which there  isn't a
  252.    LANGUAGE option !
  253.  
  254.  - [name].FLL
  255.    The specific (compiled)  language files, like  DEUTSCH.FLL, DUTCH.FLL
  256.    or STARTREK.FLL. If  there IS a  LANGUAGE option with  [name] but the
  257.    file isn't available, FileDoor will use FDL.FLL !
  258.  
  259.  - FDL.XSL
  260.    This is a temporary file that is created by the BBS program and  will
  261.    contain  the  name  of  the  language  in  one  line (with EOF mark).
  262.    FileDoor will delete the file after it has been read;
  263.  
  264.  - FDL.SBE
  265.    The template-file  for SuperBBS.   Must be  in the  current directory
  266.    (e.g. the line-directory);
  267.  
  268.  - FDL.SBE
  269.    The  template-file  for  Remote  Access.   Must  be  in  the  current
  270.    directory (e.g. the line-directory);
  271.  
  272.  FLL-files can  be created  with the  FLL.EXE program.  The *.FLL  files
  273.  must  be  put  in  a  directory  on  the DOS-path OR the directory that
  274.  contains FDL.EXE  (or whatever  you have  named it)  OR in  the current
  275.  directory (this will be expensive when you use different lines).
  276.  
  277.  All files  are read  in shared  mode, so  many lines  can read from ONE
  278.  language  file.  Only  the  FDL.XSL  file  will  be opened in DENY mode
  279.  because FileDoor will delete this file after the file is read !
  280.  
  281.  
  282.  2.3 New language files
  283.  ────────────────────────────────────────────────────
  284.  When you create or  obtain a new language  file (*.LAN), you should  do
  285.  the following:
  286.  
  287.  - Add the language in the BBS and write down the name of the language;
  288.  
  289.  - Rename  the  *.LAN  language  file  for  FIleDoor that contains  this
  290.    language to the name you have written down;
  291.  
  292.  - Compile the file with FLL.EXE, correct the errors and place       the
  293.    resulting *.FLL file alongside the other language files;
  294.  
  295.  - Add the LANGUAGE option in FDL.CFG;
  296.  
  297.  - Add the correct USERMACRO options in FDL.CFG (if needed);
  298.  
  299.  For  example,  you  receive  GERMAN.RAL  (for  Remote  Access)  and the
  300.  DEUTSCH.LAN file for  FileDoor. Now add  GERMAN.LAN to the  BBS, rename
  301.  DEUTSCH.LAN to GERMAN.LAN,  compile the file,  add the LANGUAGE  option
  302.  with GERMAN and the USERMACRO with GERMAN.
  303.  
  304.  A  special  case  are  languages  with  double  names  like   'StarTrek
  305.  English', Kreuzberg  Deutsch, Fries  Nederlands or  Retro Romanian. You
  306.  can  still  use  this  languages  on  FileDoor,  as  long as you add an
  307.  underscore in the name (LANGUAGE Startrek_English ...... and so on).
  308.  
  309.  ┌───────┬─────────────────────────────────────────────────────────────┐
  310.  │   3   │ Format of the language file                                 │
  311.  └───────┴─────────────────────────────────────────────────────────────┘
  312.  
  313.  3.1 Creating your own language file
  314.  ────────────────────────────────────────────────────
  315.  Creating a language file (ANY  language file for ANY program)  is worse
  316.  than downloading a 700K  package on 300 baud  for the sake of  only one
  317.  3K file inside this package. I can only supply some general rules:
  318.  
  319.  - Always start with the FDL.LAN file from the release package;
  320.  
  321.  - Start translating;
  322.  
  323.  - Keep all lines within the same bounds as in FDL.LAN or you must  know
  324.    what  you  are  doing.   Keep  in  mind  that  the  macros  will   be
  325.    substituted with values  of a different  length in any  of the lines.
  326.    Looking  at  FileDoor  with  FDL.LAN  as  language file, will help in
  327.    determining the correct translated line;
  328.  
  329.  - You  can leave  out lines  (keep them  empty by  placing only  a CRLF
  330.    macro) and you can add lines (by placing a CRLF PLUS the next line);
  331.  
  332.  - You can change questions and even leave out questions;
  333.  
  334.  - Test, test and again test the  file WITHOUT and WITH users to see  if
  335.    the lines fit and to see if the questions and answers are OK;
  336.  
  337.  Some help comes from FLL.EXE.   In the near future (when this  language
  338.  format  is  implemented  in  other  DISP-products)  a  special language
  339.  editor will be available.
  340.  
  341.  
  342.  3.2 General format of the language file
  343.  ────────────────────────────────────────────────────
  344.  The uncompiled language file (*.LAN)  is a ASCII flat-file that  can be
  345.  edited with  a normal  line-oriented text-editor.  All lines  must have
  346.  their  value  starting  on  column  1  and the maximum line-size is 255
  347.  bytes (or less).
  348.  
  349.  There are three types of  records in the ASCII-version of  the language
  350.  file. These are:
  351.  
  352.  - Records starting with % in column 1
  353.    These  records  are  treated  as  comment-records. You can put almost
  354.    anything behind the record, to comment lines below or above (see  the
  355.    included default FDL.LAN file in the release-archive);
  356.  
  357.  - Records starting with a ! in column 1
  358.    These  records  contain  a  META-command  which is interpreted by the
  359.    language  compiler  (FLL.EXE).  You  can  call  it a kind of compiler
  360.    directive;
  361.  
  362.  - Records starting with a number on column 1
  363.    These are the actual language  records. For each product, there  is a
  364.    number of used  record-numbers. These numbers  don't have to  be in a
  365.    specific order and  I have left  out some numbers  to leave room  for
  366.    future updates.
  367.  
  368.  In all cases, you should examine  the supplied FDL.LAN file to see  the
  369.  used format. One example can tell more than a whole lot of text.
  370.  
  371.  For FileDoor,  the language-records  run from  1 to  400 with  holes in
  372.  number-sequence. In the comments you can see various blocks of  numbers
  373.  which are all related to each other.
  374.  
  375.  When you  create (or  change) a  language-file, you  MUST leave all the
  376.  numbers inside  the file.  If you  leave them  out, it  could result in
  377.  empty lines on the remote screen where actually some text was needed.
  378.  
  379.  Some language-records *CAN* have macros ($1..$9) that will be  replaced
  380.  with a  value that  comes from  FileDoor itself.  FileDoor knows  which
  381.  language-records can contain substitution  macros and which won't.  If,
  382.  for example,  you add  a $1  to a  line where  there is no $1 expected,
  383.  FileDoor will show  nothing at the  remote side (there  is no macro  to
  384.  substitute for such a line). If  a line in the example contains  $1 and
  385.  you remove  it, FileDoor  will not  add the  substitution value  to the
  386.  final line.
  387.  
  388.  
  389.  3.3 Meta-command reference
  390.  ────────────────────────────────────────────────────
  391.  As  you  have  seen  in  3.2,  the  *.LAN  file can contain a number of
  392.  special meta-commands that are used by FLL.EXE. These are:
  393.  
  394.  - !NAME [name]
  395.    The name of  the author who  created the language-file.  This will be
  396.    displayed when  FileDoor terminates.  It is  bad behavior  to replace
  397.    the name  with that  of your  own, in  files that  you did not create
  398.    yourself. In the  final release, you  can send your  language-file to
  399.    me, and you will  receive a special code  (when it is original)  that
  400.    can be added to the !PROT meta-command so the file is protected  from
  401.    a change of name, but currently  this option is NOT PRESENT.   [name]
  402.    can  be  your  name  (spaces  are  allowed)  and  can  be  up  to  35
  403.    characters. Any underscore symbol '_' is also replaced by a space;
  404.  
  405.  -!VERS [version]
  406.    When you update a language file, you can give it a version-number  of
  407.    your own. This number van be placed in this meta-command.   [version]
  408.    can be up  to 7 characters  and can NOT  contain any spaces.   If you
  409.    want  to  code  one  or  more  spaces,  you  must  replace them by an
  410.    underscore character;
  411.  
  412.  - !CYRL YES|NO
  413.    If  you  code  !CYRL  YES,  FileDoor  will  use the cyrilic uppercase
  414.    routine.  Because  this  mechanism  is  not working correctly at this
  415.    moment (the  release version  will work  OK), you  should not use it.
  416.    Use !CYRL NO in your *.LAN file instead !
  417.  
  418.  - !FONT YES|NO
  419.    This option can be  set to YES if  the remote user has  to change the
  420.    font inside his  PC. This is  the case with  cyrilic but can  also be
  421.    the case with Greek, Hebrew and so on. If your language doesn't  need
  422.    any special upcase/locase routines, you can use this option.  If  the
  423.    option is  set to  YES, FileDoor  will also  display language  record
  424.    number  400.  This  record  must  contain something like 'toggle your
  425.    font-set'  or  can  be  left  empty  when  the  font  is  always  on.
  426.    Languages like ENGLISH,  GERMAN, FRENCH and  so on, need  !FONT to be
  427.    set to NO;
  428.  
  429.  - !PROT YES|NO
  430.    Not implemented yet. Use !PROT NO if you want to code this command;
  431.  
  432.  - !HEBR YES|NO
  433.    Not active yet. Don't  include this option yet.  It will be used  for
  434.    Hebrew language support (when implemented);
  435.  
  436.  Currently  these  are  all  meta-commands  that are implemented or that
  437.  will be implemented !
  438.  
  439.  
  440.  3.4 Macro reference
  441.  ────────────────────────────────────────────────────
  442.  Any language-record can  contain one or  more macro-commands that  will
  443.  be  replaced  by  FileDoor.  These   macros  can  be  split  into   two
  444.  categories:
  445.  
  446.  - Macros that will SOMETIMES be substituted by FileDoor
  447.    These are  the $1,  $2 ..  $9 macros.  FileDoor will  know itself for
  448.    which  lines  these  macros  (and  how  many) have to be changed. All
  449.    other lines (or superfluous macros) will not be changed. In that case
  450.    FileDoor  will  replace  them  with  nothing (so actually remove them
  451.    when the line is displayed remote);
  452.  
  453.  - Macros that will ALWAYS be substituted by FileDoor
  454.    These are  all other  macros (see  list below).  FileDoor will try to
  455.    substitute as many of these  macros as possible. The only  limitation
  456.    is the  maximum length  of 255.  When the  line (after  substitution)
  457.    will be longer than 255, FileDoor will truncate the line at the  end.
  458.    This can  be a  problem when  the substitution  is an ANSI-string. In
  459.    that case,  the remote  user will  see trash  on his/her screen. Keep
  460.    the number color-change of macros low !
  461.  
  462.  - Macros that only have a meaning with questions
  463.    There is one special macro (or language-record syntax) that is  meant
  464.    for questions (see below for details).
  465.  
  466.  
  467.  The following list is a complete list of all 'normal' macros that  will
  468.  be substituted:
  469.  
  470.  ^A   Will be replaced by the NORMAL LOW color
  471.  ^B   Will be replaced by the NORMAL HIGH color
  472.  ^C   Will be replaced by the ATTENTION color
  473.  ^D   Will be replaced by the STATUS-BAR color
  474.  ^E   Will be replaced by the ERROR color
  475.  ^F   Will be replaced by the TEXT-1 color
  476.  ^G   Will be replaced by the TEXT-2 color
  477.  ^H   Will be replaced by the TEXT-3 color
  478.  ^I   Will be replaced by the TEXT-4 color
  479.  ^J   Will be replaced by the TEXT-5 color
  480.  ^K   Will be replaced by the TEXT-6 color
  481.  ^O   Will be replaced by the color at the start of FDL.EXE
  482.  ^Txx Start   the  following   text   on   column  'xx   (for    example
  483.       '^T24Download' will cause 'Download'  to be written on  column 24.
  484.       The ^T macros must be in order of column and should not overlap !
  485.  ^7   Will be replaced  by one bell-sound  (CTRL-7) at the  REMOTE  (not
  486.       local) side;
  487.  |    Will  be replaced  by a  CR-LF (X13X10)  combination (e.g.  a  new
  488.       line);
  489.  _    Will be replaced by a space (only needed at the start or end of  a
  490.       language record). Spaces in the middle can be coded as spaces;
  491. │     (CTRL-L) will be replaced by a clear-screen sequence;
  492.  
  493.  
  494.  An example:
  495.  
  496.  ^AFile: ^C$! ^ASize: ^C$2|As you can see^T50^E!!!!!^7^7
  497.  
  498.  Will result in:
  499.  
  500.  File: xxxxxxxx.xxx Size xxxxxx
  501.  As you can see                                   !!!!!
  502.  
  503.  Because, ^A,  ^C and  ^E will  change colors  on the correct locations,
  504.  FileDoor will substitute  $1 with a  filename (for THIS  record) and $2
  505.  with the size (idem). Also '!!!' will start at column 50 of the  screen
  506.  and the bell will be sounded twice !
  507.  
  508.  A special case  are the questions  inside FileDoor. You  need a special
  509.  kind of  coding in  the language  record to  submit a  question to  the
  510.  user. It is only possible to submit a question when FileDoor expects  a
  511.  question on a  given language-record (otherwise,  no question is  asked
  512.  even if you  included one). The  general format of  a question is  best
  513.  explained with an example:
  514.  
  515.  ^ADo you need this file <y>es, <N>o, <v>iew or <s>top: ^B_ [[NYNVS]]
  516.                                                             \/│\--/\/
  517.  Start of a question-macro -----------------------------------│  │ │
  518.                                                               │  │ │
  519.  Default answer when user uses [ENTER] ------------------------  │ │
  520.                                                                  │ │
  521.  The possible answers in the order FILEDOOR expects them --------- │
  522.                                                                    │
  523.  End of a question-macro -------------------------------------------
  524.  
  525.  As you can see, the question is imbedded by the '[[' and ']]'  (without
  526.  quotes) characters. The first letter  after '[[' is the default  answer
  527.  that  FileDoor  will  get  passed  when  [ENTER] is used. The remaining
  528.  letters are  the possible  answers.   The letters  must be  in the same
  529.  order as you can  see in the default  FDL.LAN file but the  letters can
  530.  be of a different value. The same example in dutch:
  531.  
  532.  ^AWilt U dit bestand, <j>a, <N>ee, <b>ekijk of <e>ind: ^B_ [[NJNBE]]
  533.  
  534.  The order is still the same,  but the letters are different. The  first
  535.  (default) letter can be present in  the set of letters that follow  but
  536.  this does  not have  to be  the case.  If you  use a  different letter,
  537.  Filedoor will assume NO default.
  538.  
  539.  If you  want to  remove the  <V>iew option  from the  list of  possible
  540.  answers, you do the following:
  541.  
  542.  ^ADo you need this file <y>es, <N>o or <s>top: ^B_ [[NYNΓS]]
  543.  
  544.  On the location where  you earlier coded the  'V', you now see  the 'Γ'
  545.  character. This is a high character that can not be used by the  remote
  546.  user. You could also use  the X'255' character or something  different.
  547.  In this way, you have removed the <v>iew option in a smart way.
  548.  
  549.  If  you  include  the  same  letter  more  than  once,  the  result  is
  550.  unpredictable. The order in which  each question is tested by  FileDoor
  551.  itself will then deside which routine is called and which isn't !
  552.  
  553.  It needs a lot of experiments and  looking at the example to be a  fast
  554.  (and good)  language-file writer.  It is  difficult because  it is very
  555.  flexible  but  the  final  result  is  a  screen-layout  that is almost
  556.  completely created by yourself.
  557.  
  558.  ┌───────┬─────────────────────────────────────────────────────────────┐
  559.  │   4   │ Compilation                                                 │
  560.  └───────┴─────────────────────────────────────────────────────────────┘
  561.  
  562.  4.1 FLL.EXE
  563.  ────────────────────────────────────────────────────
  564.  When you receive (or create/change) a *.LAN file, you must compile  the
  565.  file with FLL.EXE to create the *.FLL file that FileDoor uses.
  566.  
  567.  FLL.EXE is called with the following syntax:
  568.  
  569.  FLL {drive:}{dir}[filename]{.LAN} {drive:}{dir}[filename]{.FLL}
  570.  or
  571.  FLL {drive:}{dir}[filename]{.LAN}
  572.  
  573.  FLL always delete the target *.FLL  file first. When you want to  run a
  574.  simulation, you should point to a temporary directory, so the  original
  575.  *.FLL file is not overwritten.
  576.  
  577.  FLL.EXE uses the FDL.CFG to detect the colors you use.  This is  needed
  578.  because FLL.EXE will  test if the  target-line will cause  overflow. On
  579.  screen you will see the final result which can be viewed line-by-line.
  580.  
  581.  When  you  change  the  COLOR  option  in  FDL.CFG,  you  DON'T need to
  582.  recompile  the  language-files  again.   Though  FLL.EXE  will show the
  583.  final line it will  NOT write the colors  in the compiled file.   These
  584.  colors will be substituted again by FileDoor (each time, at run-time).
  585.  
  586.  FLL can be used  with some command-line parameters  of which -Q is  the
  587.  most obvious. It  will cause FLL.EXE  to display each  and every single
  588.  line before processing the next one. This will help you in debugging  a
  589.  new  (or  changed)  language  file.  Use  FLL  /?  to  see  a  list  of
  590.  command-line options !
  591.  
  592.  [=================== END OF DOCUMENT =================================]
  593.