en:docs:tk:tools:mkmsgf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:tk:tools:mkmsgf [2024/01/19 16:10] prokusheven:docs:tk:tools:mkmsgf [2024/03/26 13:10] (current) prokushev
Line 9: Line 9:
  
 <diagram> <diagram>
-|v|-|-|-|v|v|-|-|-|v|MKMSGF|v|-|-|-|v|v|-|-|-|v|infile|v|-|-|-|v|v|-|-|-|v|outfile|-@2| +|-|v|-|-|-|v|v|-|-|-|v|MKMSGF|-@2| 
-|`|drive|'|`|path|'| | | |`|drive|'|`|path|'| |`|drive|'|`|path|'|+| |`|drive|'|`|path|'|
  
-|-@2|v|-|-|-|v|(+|-@2|v|-|-|-|v|v|-|-|-|v|infile|-@2| 
-|   |)|/?|(| +| |`|drive|'|`|path|' | |  
-  |!| | | |!| + 
-  |)|/V|(| +|-@2|v|-|-|-|v|v|-|-|-|v|outfile|-@2| 
-  |!| | | |!| +| |`|drive|'|`|path|'
-  |)|/D <DBCS range or country>|(| + 
-  |!| | | |!| +|   |,|-|-|-|-|-|.| | 
-  |)|/P <code page>|(| +|-@2|^@1f|v|-|-|-|v|^|(| 
-  |!| | | |!| +| | |)|/?|(| 
-  |)|/L <language id,sub id>|(| +|!| | | |!| 
-  |!| | | |!| +|)|/V|(| 
-  |)|/I <path>|(| +|!| | | |!| 
-  |!| | | |!| +|)|/D <DBCS range or country>|(| 
-  |)|/A|(| +|!| | | |!| 
-  |!| | | |!| +|)|/P <code page>|(| 
-  |`|/C|'|+|!| | | |!| 
 +|)|/L <language id,sub id>|(| 
 +|!| | | |!| 
 +|)|/I <path>|(| 
 +|!| | | |!| 
 +|)|/A|(| 
 +|!| | | |!| 
 +|`|/C|'|
  
  
Line 82: Line 89:
         RMS     23      1       Rhaeto-Romanic          Switzerland         RMS     23      1       Rhaeto-Romanic          Switzerland
         ROM     24      1       Romanian                Romania         ROM     24      1       Romanian                Romania
-        RUS     25      1       Russian                 U.S.S.R.+        RUS     25      1       Russian                 Russian Federation
         SHL     26      1       Croato-Serbian (Lat     Yugoslavia         SHL     26      1       Croato-Serbian (Lat     Yugoslavia
         SHC     26      2       Serbo-Croatian (Cyr     Yugoslavia         SHC     26      2       Serbo-Croatian (Cyr     Yugoslavia
Line 94: Line 101:
         SLO     34      1       Slovene                 Slovenia         SLO     34      1       Slovene                 Slovenia
  
-For a complete list of code pages and country codes, see the code page table under COUNTRYCODE in the online book Control Program Programming Guide and Reference.+For a complete list of code pages and country codes, see the code page table under [[https://komh.github.io/os2books/os2tk45/cp2/061_L2_COUNTRYCODE.html|COUNTRYCODE]] in the online book Control Program Programming Guide and Reference.
  
 +===== Output File =====
  
-Output File 
  
 The output file contains the indexed message file that DosGetMessage will use. The output-file name can be any valid OS/2 file name, optionally preceded by a drive letter and a path. The output file cannot have the same name as the input file. The output file contains the indexed message file that DosGetMessage will use. The output-file name can be any valid OS/2 file name, optionally preceded by a drive letter and a path. The output file cannot have the same name as the input file.
Line 104: Line 111:
  
     The infile file should have a .TXT extension.     The infile file should have a .TXT extension.
-    The outfile file should have a .MSG extension.+    The outfile file can have a .MSG or .INC extension.
  
 Help-message file names begin with the component identifier, followed by H.MSG. For example, the help file associated with the component identifier DOS would be DOSH.MSG. Help-message file names begin with the component identifier, followed by H.MSG. For example, the help file associated with the component identifier DOS would be DOSH.MSG.
  
-Options+===== Options =====
  
 Text-based messages in different code pages can be created using MKMSGF to display errors, help information, prompt, or provide general information to the application user. Text-based messages in different code pages can be created using MKMSGF to display errors, help information, prompt, or provide general information to the application user.
Line 122: Line 129:
  
     Infile is the ASCII-text source file.     Infile is the ASCII-text source file.
 +    Outfile is the binary output message file or MASM include file.
 +    @controlfile is the message definition file.
  
-Example: +===== Options Summary =====
- +
-  MSG +
-  MSG0001I: (mm%4dd%4yy) %2%4%1%4%3 +
-  MSG0002I: (dd%4mm%4yy) %1%4%2%4%3 +
-  MSG0003I: Current date is: %0 +
- +
-%0 is a special argument that displays a prompt for user input. +
-%1 - %9 are the arguments the user can use to insert text in a message. +
- +
-    Outfile is the binary output message file. +
-    @controlfile is the message definition file.+
  
-Options Summary 
   Type Meaning   Type Meaning
   /P Code-page ID for the input message file.   /P Code-page ID for the input message file.
Line 143: Line 140:
   /V Verbose display of message file control variables as the message file is being created.   /V Verbose display of message file control variables as the message file is being created.
   /? Help display of command syntax for MKMSGF.   /? Help display of command syntax for MKMSGF.
 +  /A    Produce MASM include file using INC file as include file for message constants
 +  /C    Produce MASM include file using H file as include file for message constants
 +  /I    Include paths
      
 Note: Any combination of /P, /D, /L, and /V switches can be used for either the command line or @controlfile execution method. Note: Any combination of /P, /D, /L, and /V switches can be used for either the command line or @controlfile execution method.
Line 190: Line 190:
  
 A valid language family with invalid or undefined language version id will cause a default value of 1 to be set for language version. A valid language family with invalid or undefined language version id will cause a default value of 1 to be set for language version.
-/A /C /I Options 
  
-I saw these and documented them as existing years ago, but never really looked at them in depth. I made some notes on a separate page: The A, C, and I Options. 
  
 /E /E
  
-See the The Extended Structure page for more information. This tacks on what I call a fake extended header at the end of the file and updates the header offset. +Produce fake extended header. This tacks on what I call a fake extended header at the end of the file and updates the header offset. 
-Control Files+ 
 +===== Control File =====
  
 The control file (@controlfile) is used to create multiple-code-page message files. The at sign (@) is not part of the file name, but rather, a delimiter required before a control-file name. The control file (@controlfile) is used to create multiple-code-page message files. The at sign (@) is not part of the file name, but rather, a delimiter required before a control-file name.