[[ header START ]]

Welcome to OS2.GURU site! (eComStation.RU)

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:
telegram

Форум обсуждение

telegram

Send message

telegram

[ +7-981-8529467 (Санкт-Петербург)

telegram

t.me/os2_guru

eComStation.RU


ru · en · de · es · it · pt · cz · pl · fr
OS/2 is a greatly different operating system for PC (ArcaOS, eComStation, IBM OS/2 Warp)
Applications, news, reviews, support of users, hardware, questions and answers.
 
[What is OS/2?  News  Install  Update  
 
 
Usage  Future  Community  Projects  

How to buy
russian OS/2 apps?

The concept of
OS/2 development

 
Update

 
Applications

 
Advantages:

 
For developer:

 
(Пайпы программ)

 
Companies:

 
History:

 
(Бонусы)

 
Advice:

 
(Барьеры и решения)

 
Technologies:

 
(Применение в науке, лаборатории, ..)

 

 
Solutions

 
New eComStation:

 
Future:

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
OS/2 artefacts:

 
Gadgets:

ArcaOS 5.0 Russian
Russian ARCAOS exists and it's available since the middle of 2017. All versions are supported: 5.0, 5.0.1, 5.0.2.

eCo Software is able release OS/2 LIP packages for any other language (German, Dutch, Brazilian Portuguese, Spanish, Sweden, etc)

Using XObject for Configuration Files


TITLE: Using XObject for Configuration Files

DATE: 2010-09-28 11:21:23

AUTHOR: Joseph Shrago

Please use online translator
go to http://translate.google.com
and request the translation of http://ru.ecomstation./showarticle.php?id=220
to your language

..........:

... ...... ......... ......... ........ ...... . ....... ............ (ini-......, ........, registry . ......). .. .... ........... (................) ....... ........... ...... ........ (............) ........... ............. ... .......... ...... (....... ........ ... OS/2), .. ....... ...... ............. ........ .... ........ .............. (.............) ........, . ..... ........ (API) ............. ... . ..... OS/2.

.... ........ ..... ........... ........ ........ . .... ... "........=........", ..... ....... .............. . ..... ......... *ix (..... ....... .. .. ........ .... .. ......... .......... ...... ....... . sendmail.cf - .... ...... .. ...), .. ....... .. ....... ...... .... ......... (.........) ...... config.sys . autoexec.bat, ......... .......... ....... .......... ...... .... ........ ...., . ........ ......., ........ ..... ..... config.sys .....:

SET EPMPATH=C:\OS2\APPS;C:\opendoc\BIN;
PROTECTONLY=NO
SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS
FCBS=16,8
RMSIZE=640
DEVICE=C:\OS2\MDOS\VEMM.SYS
DOS=LOW,NOUMB
DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
DEVICE=C:\OS2\MDOS\VDPMI.SYS
DEVICE=C:\OS2\MDOS\VDPX.SYS
DEVICE=C:\OS2\MDOS\VWIN.SYS
DEVICE=C:\OS2\MDOS\VW32S.SYS

........... ..... ......... ........ - .. .. ......... ............. ........ ........ ...... ........ . ..... ...... .... ... ............. .......... ........... .......... . .. ...... ....... .......... .. .. .. .... ....... .........

.............. .......... ..... ......... ....... . ini-...... .. Windows X.XX (........ 3.11) .. .... ........ ....... ........... ...... ......... ............... ........ . ............. ....... .. ........ ........ ... .. .... .......... "... ......"-"... .........", ... ....... ........ ... ...... .. ..... SYSTEM.INI ... WIN-OS2 ......:

[keyboard]
subtype=
type=4
keyboard.dll=kbdru.dll
oemansi.bin=xlat866.bin
typeofswitch=2
secondkeyb.dll=kbdusx.dll

[boot.description]
keyboard.typ=Enhanced 101 or 102 key US and Non US keyboards
mouse.drv=Microsoft, or IBM PS/2
network.drv=No Network Installed
language.dll=Russian
system.drv=MS-DOS System
codepage=866
woafont.fon=Russian (866)

. ........... ..... ...... ..... ....... .............. ................ ... ...... . .......... ...... ....... . ...... ..... ...... . .......... ........... ......, ... ...... ....... .... .. ... .............. ....... ........ ......., ... ... ..... ... ... ..... ........... .........., .. ... .......... .. ..... ............ .......... .... .......... . ........., . .... .............. .............. .............

..... ....... ........, ... ....... . ..... ..... .... .. ....., .... ........ .......... .... . ............, .. ..... .....

......... ..... . ........ .... ........-.......... ..... registry .. Windows9X . ....., . ..... ini-..... . OS/2. ........ .. ....... .. .............. ......... . .... .. ............. ....... ......... - ... ............. ........... ......... ......... (........ .... ...........) . ......... ....... ....... ...... .... .. .... ........ ........ ........ .......... ...., ... .. ...........

... ....... ............ .......... ......... ....... (. OS/2 .. .......... . WINPRF.DLL) .......... ........ .......... . .......... ...... ............ .......

... .......... ....., ......., ..... .........., ..... ........... ...... ... ........... ............. ......... .........-......... ... .......... ........ ... ......... ......... ........ . .... ... ......... ............... ......... ......... ......... ....... ......... . ........, .... .. ...... .......... .. ...... ............. .. ........ ...... .... ........ ......... .......... ........... ........ - .......... .......... ............, .......... ..... . .. ......... . ............. ......, ........ ......... ........ ........... .. ...... ........ (..... .......... .... .. ......) . .... . ....

........ ........ ...... .... ........... ...... .............. ......... ...... ......... .......... ........... .......... ... .............. ..... ........ . ....... .. .......... ......... ........ ...... . .... .. ............ ..... ........... .. ...... ........., ... ...... .... ........... ........ .. ...... ........ . ....... . .... . .... ....... ...... ........... ........ .......... ............ .........., ....... ...... .... .............. ........ ... ...... . ....... . ........ .....

... .......... ........ .. ..... ........ ....... ............. ......... ..... ..... ........... .......:

  • WPS-........ ....... .......... ....... ........ (........ ............, ........ . ......);
  • WPS-........ ... ......... ....... .... ............... ..... (........ ........ ............, . ...... . ......... ... ........);
  • ............ ...... ........... .. ........ .......... ...... . ........ . .... ........... ......... . ......-.........

......... ........ ...... ....... ...... .. ..... ............. ......... ........... .......... ........ . ....... ......... .. ..., ..., ..........., ..... ......... ... .......... .........., ... ...... .........-............ ......, ... ........ ... .....-.. ......... ... ........ . .. .... .. .... .. ..........

.... ......... ........ .. ......... . ........, .. ...... ......., ...... .............. ........ ............. Profile API ... ............. ....... .............

... ... ........ ... .. ............ ......... .......... . ......... ................:

  • ... ........ ...... ............ ...... ...... ..... ........... . .......... (.. ......);
  • ... ........ ........... . ........ (........... ............. ...... . ......... ......) ..... ............ ...... ..... ... ........., ... . ........ ............., ... .. ...... ...... .. ...... .. .............;
  • ............ .... ...... ......... ...... ...... ............. ... .......... "...... ......" . .........;
  • ............ .... ...... .... ........;
  • ............ ...... ........... ....... .......... . ...... .......

... .......... . .... ........... . ............ .......... ...... . ....... ............. ... .......... ........., .......... ....... ........, WPS-...... ............ . ......, . ..... API ... ...... . ...... .. ...........

............ ........:

..... .... ............ ............... ... ..... ..... ......... ...... .... ..... .... ........ . ........... ..... ....... ... .... ............ ........ ........ ....... .......... .... (......).

............ ......... ........ ........ ......., ....... ......... ......... ......., .......... . .............

........ ............ .....-.. ... . C++ : \xx, \\,\n,\t, etc, . ..... ........... ........ %.

........... ............ .......... ........ //, /*,*/ . ....... .. ............. .......... .++. 

....... ......... .......... .........:

.............. transient ....... .. ...... ... ........ .. .........; ..... .... ....... . ...... .............
....... .... ...... int
double
string
group
..... (4 .....)
............ (8 ....)
...... ........ (.. ........... .............. \0)
...... ............ ........ - ......... ...... .. ...... ........
....... .... ...... ... ............ . ...... IntField
DoubleField
StringField
TextField
RadioToggleField
CheckBoxField
ComboTogleField
ReferenceField
PasswordField
..... .............. . ........... int
..... .............. . ........... double
..... .............. . ........... string
..... .............. . ........... .......... .... (textarea)
..... ...... . ....... . ....... RadioButton
..... ...... . ....... . ....... CheckBox
..... ...... .. ...... . ....... . ....... ComboBox
.....-...... - . ....... ............. . ....... drag&drop
..... ... ..... . ........ ......,  ............... ..  GOST 21847-89
......... ... ObjectListField ..... .......... ......... ......... ............. ....
namedgroup ....... .. .... group, ............ ... ........ ....... . ......

..... ......... .. ........ . ............ ......... :


IntField = .
string title = "" // ........ ......... ... ...... . .............. . .......
int value = 0 // ........ ....
int min = 0 // .............. . ....... .......... ........ ...... value
int max = 0 // .............. . ....... ............ ........ ...... value
int delta = 0 // ... ............. ... .............. . .......
.

DoubleField = .
string title = "" // ........ ......... ... ...... . .............. . .......
double value = 0 // ........ ....
double min = 0 // .............. . ....... .......... ........ ............. value
double max = 0 // .............. . ....... ............ ........ ............. value
double coef = 0 // ........... ........ (... ...... .............. . ..... ........
// ........., . ............. . ......)
double delta = 0 // ... ............. ... .............. . .......
int decimals = 0 // .......... ......... ... ...... . .............. ......
// ..... .......... .....
.

StringField = .
int max = 0 // ............ .......... ........ . ......
string title = "" // ........ ......... ... ...... . .............. . .......
string value = "" // .... ...... .......... .......... ......... '...' ............ ......
// (\0 .. ........)
.

TextField = . // .......... StringField, .. ............ ..... textarea (MLE)
int max = 0
string title = ""
string value = ""
.

RadioToggleField = . // ........ ....... .... .. .... - .......... ........... ........
string title = ""
int value = 0 // ........ ..... ......... ......
group elements = . . // ..... ..... .... string
.

CheckBoxField = . // ........ ....... .... .. .... - .......... ........... ........
string title = ""
int value = 0 // ........ 1 .... ....... ......
.


 ComboToggleField = . // .......... ........... ... ....... ComboBox
string title = ""
int value = 0
group elements = . .
.

..... ReferenceField ......... ............ ......... ........ . ....., ...., ........, ........... ....... ....... .. ......... ....., ...... .. ....... ..... .... ......... . .............. . ..... ......, . ........, .... ......... ...... ....... ............ .. ......... .......


ReferenceField = . // ......-...... .. ...... ....... . ....... ......... drag&drop
string title = ""
string class = "" // ... ...... ....... ........ ..... ......... ...... ....
// (.. ..... .... ..... - class0|ckass1|...|classN)
string value = "" // ... ...... ..... ........... ......
int value2 = 0 // WPS-objectid

.


..... ObjectListField ......... ......... ...... ......... ........, ...., ........, ...... .......... . ...... ... ...... ......... ....... .......... ................. ...... ............

ObjectListField list = . // ...... ...... ........ ReferenceField ......... ......
   transient string title = ""
   transient group factory = .
      ReferenceField rs = .
         transient string title = ""
         transient group menu = .
            "......."
            "........"
         .
        transient string class = ""
        string value = ''
        int value2 = 0
     .
   .
   transient group buttons = .
      "........"
      "......."
   .
   group elements = .
   .
.



... ...... ....... ObjectListField . ...... ......... ........ ........ string title ........ ........, ...., ........ ........ name|value,  .... . ........ .......... .......  ...... ....... StringField name.

...... . ......, ......... . PasswordField, ............ .............. .......:
rc=getPasswordFieldValue(*XObject,password,sizeof(password));

. ........ ..... ............. (... ........ ........... .....), .......... ..... ...... .......:


ColorMaskField = .
   string title = ""
   int fcolor = 0      // .... ......... .....
   int bcolor = 0      // .... ....
 int width = 16 // ...... . ......
int height = 16 // ...... . ......
  string value = '' // ..... ....... 8*8 .

..... ..... ........, ... .......... . ................. ......:

  • title - .. ......... ..... ......-........ ........, ....... ............ . ....... . ... ......;
  • status - ... ...... ...... SUBTITLE  ........ .......
  • value - .. ......... ..... ........ ........;
  • elements - ............ ... ........ ....... . ......;
  • pages - ......... ........ .......;
  • sections - ......... ...... ...... ........

.. ...... .... ....... . ....... ..... ..... ......... .... ....... ...... .........
..., ........, ........ .....-........ ......... .........:

DEngine drill=.
   string title="........ ........."

   DoubleField diam_zd    =. title="....... ............." coef=0.001 decimals=1 delta=0.1 min=30 max=400.
   DoubleField leng_zd    =. title="..... ............." coef=1 decimals=2 delta=0.01 max=50.
   DoubleField q_zd       =. title="...... ............." coef=1000 decimals=1 delta=0.1 min=30 max=400.
   DoubleField dens_zd    =. title="......... ........" coef=1000 decimals=2 delta=0.01  min=0.8 max=2.5.
   DoubleField loss_px_zd =. title="...... ........ .. ........ ...." coef=98100 min=1 max=200.
   DoubleField freq_nx_zd =. title="....... ........ .. ........ ...." coef=0.01666 min=10 max=999.
   DoubleField loss_pt_zd =. title="...... ........ ... .........." coef=98100 min=1 max=200.
   DoubleField moment_t_zd=. title="......... ......" coef=10 min=1 max=1500.
   ComboToggleField drop   =.
       string title ="... ........."
       group elements = .
           string = "........ . .......... ......"
           string = "........ . ........ ......"
           string = "........ ........."
           .
       .
.

. ... ........ ........ ........... ......... ......... (/* ........... */ . ...... ...... ......... ... ............. ...... ... XObject):

/* XObject */
DEngine = .
diam_zd = .value = 30.0000.
leng_zd = .value = 0.0000.
q_zd = .value = 30.0000.
dens_zd = .value = 0.8000.
loss_px_zd = .value = 1.0000.
freq_nx_zd = .value = 10.0000.
loss_pt_zd = .value = 1.0000.
moment_t_zd = .value = 1.0000.
drop = .value = 0.
.

...... ......... .......... ........... ......... . ...... .......... ....... . ............... .....: min, max . .......

... .......... ..... ...... - ".... ..... ...... ... ........ . ........!"
......... . .......... ................ . ..................., ... ............ . .......
......, ... .......... ....., WPS-...... ................ .......... .............. ..... ........ ....... ... ........ ..... ....... (property). ... ..... . ........ ...... ........ ........... ........ - group . ....... pages ( ... .......) . sections (... ......).
... ... ........ ........... ...... ..... ...... :

group pages = .
namedgroup = . // ........ ........ .......
title = "%MajorTab" // ...... % ........ MajorTab
elements = . string = "... 1" // ....... ...... string = "... 2" ... string = "... N" . . namedgroup = . // ...... ........ ....... title = "MinorTab ........" elements = . string = "... 1" string = "... 2" ... string = "... N" . . ... // ...... ........ ....... .

... ... ........ (. ... .........) ..... ........ ...... ......... ......... (DEngine) ........... . .......:


DEngine drill=.
  ...
    group pages = .
       namedgroup = .
          string title = "%........ ........."
          group elements = .
             string string = "drop"
             string string = "diam_zd"
             string string = "leng_zd"
             string string = "q_zd"
             string string = "dens_zd"
             string string = "loss_px_zd"
             string string = "freq_nx_zd"
             string string = "loss_pt_zd"
             string string = "moment_t_zd"
             .
          .
     .
 .

........ ........ .. ...... ........ - .... ... ......... ...... . .... ........... .... ...... ..... ....... . ....... ...... .......... (........./........). ......... ......... ..... .......... ...... ..... .... ....... . ....... .......... .......... . ........, ..... ...... ..... .... ...... . ........ ........., . ..... ........ . ........ ..... . ...... ........ . ........ ...., ...... ......... .... ....... .. ........ .........  ......... ........ ...... ........ .. ........., ....... ...... ......... ..... XObject ........... ...... ...........

... ........ ...... ....... ............ .......... .............. group sections . ..., ... .......... ... ......:


DEngine drill=.
  ...
   group sections=.
    namedgroup=.
       title = "........ ........."
       elements=.
          string ="drop"
          string ="diam_zd"
          string ="leng_zd"
          string ="q_zd"
          string ="dens_zd"
          string ="loss_px_zd"
          string ="freq_nx_zd"
          string ="loss_pt_zd"
          string ="moment_t_zd"
          .
       .
    .
 .

...... ....... ............ .... .. ... .... .... ....... ............. ... ..... .. ..... (......) ......... .... ........ ...... ...... ...... ........ ... .. ......, ... ReferenceField ...... ........, ... ...... ..... ......... ...:


... ... ... ............:

... ............. ............ ....... ...... . .............. .......... . ..... ... ........ ......... .......... ......... AMT_PATH ....... .... config.ini .......... .......... (.. ....... .........):

/* AMT */
group Config = .
        string customer = "... ..."
        int loglevel = 0              // -1 ...... .......... ..... . .... \xobject.log
                                      //  0 ........ ...... ......... .........
                                      //  1 ........ .............. .......... .. .......
        group classes = .
                string = "classes.ini"  // ........ ..... ....... (...........)
                string = "common.ini"   // ........ ...... ...... ..... .......
                string = "DSTclass.ini" // ........ ....... ........ .........
                string = "KRSclass.ini" // ........ ....... ......... ... ............ ....... .......
        .
.

.... .... ............ WPS-........ AMTWPSXObject ........... ....... . ...... ........ ............. .... ...... ............ . ........... AMT.  
. ......... .. .......... ......... LIBPATH ....... ........... ... ............ .......... ........ XObject . ........ ...........  . .......  .......... ....... .. Rexx:

/*********************************************************************/
/* XObject registration utility*/
/*********************************************************************/
Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
Call SysLoadFuncs
Say 'AMT XObjects to be registered'
rc=SysRegisterObjectClass('AMTWpsObject', 'amtwpso')
if rc then say 'AMTWpsObject registered'
else say 'AMTWpsObject cannot be registered'

................ . ....... API XObject:
... ................ ....... ...... ......... ........ ............ ....... - ........ .... config.ini . ... ............. . ... ..... ... ...... ...... ................ ..... .... ...... .......... .... ......... ....... ......... . config.ini:

#include "common.h"

XObject  *o_config;  // ... ........

// ....... .............. .......... ................. ....... XObject
// . .......... ...-.. ....... . ...........
int InitXClasses(void)
.
char buf[256]="", *str;
char *amtPath = getenv(AMT_PATH);
int num=0;

   XOBJECT_INITIALIZE

// ........ ......... .......
   buf[0] = 0;
   if (amtPath) strcat(buf, amtPath);
   strcat(buf, "\\");
   strcat(buf, AMT_CONFIG);
   o_config = XObject::loadObject(buf);
   if (!o_config)
      return 1;

   o_config = o_config->getGroupElement("classes");
   for (int i = 0; igetGroupSize(); i++ )
       .
       str = o_config->getGroupElement(i)->getStringValue();
       if (str) 
          .
          buf[0] = 0;
          if (amtPath)
             strcat(buf, amtPath);
          strcat(buf, "\\");
          strcat(buf, str);
          num += XObject::loadClasses(buf);
          .
       .
return num; .

C........ ...... .... ............. . ......... ........ ......... ......... ...... ........ ... .........:


.
...
 o_main=XObject::loadObject(file_name);  // ........ ..... ........... ........
   if (!o_main)
      return 1;   // ...... ...... ........ - ....... . ......... ...... ... o_sub = o_main->getGroupElement("title"); Name=strdup(o_sub->getStringValue()); o_sub = o_main->getGroupElement("model_type"); model_type=o_sub->getIntValue(); // ... (.....) ...... ....... ......... o_sub = o_main->getGroupElement2("mode|value"); // ..... ............ ......... ... mode=o_sub->getIntValue(); // ... (.....) ...... ....... ......... // .... ....... ........ ......., ..... ............... ....... GetValue(name), // ....... ... . ........ ...... ...... o_ref=o_main->getValue("derrik"); // ......... ........ ....... ..... // ... ..... ....... // o_ref=XObject::loadObject(o_main->getGroupElement2("derrik|value")->getStringValue(); // ......... ........ ......... g_kv . ....... .. g_kv=o_ref->getGroupElement2("g_kv|value")->getDoubleValue() * o_ref->getGroupElement2("g_kv|coef")->getDoubleValue(); .
... ... ...... ...... .............

...... . ......... ............ (..........) ..... ............ .. ...... ..... ...... (name), .. ......... ...... ("name|subname"), . ..... .. .. .......... ....... . group. . ........... .... ........ ......... ......... ........ ......... ..... ....... .. ..... <%1|value>, .... diam_zd ..... .......... ..... .... . .......

...... XObject ......... ..... . ......... . ... .......... .......... ........... ... .... ........ ........... ............, ...... . ................ ..............

... .................. ........ ........ public ........ ...... XObject

class _Export XObject .
public:
static void setLogLevel(int);
static int log(char*, ...);
static int log(int, char*, ...);
static int logObject(XObject*, char* = NULL);
static void logClasses();

static void initClass();
static void unInitClass();
static int loadFile(char*, char**, int*);
static int saveFile(char*, char*, int);
static XObject* getInstance(char*, char*, int = FLAGS_NORMAL, int =-1);
static XObject* getInstanceText(char*, int*, int =-1);
static XObject* getInstanceBin(char*, int*, int = -1);
static int loadClasses(char*);
static XObject* loadObject(char*);
static int saveObject(char*, XObject*);
...
public:
static int getClassNum();
static char* getClassName(int);
...
public:
virtual ~XObject();
int isVoid();
int isInteger();
int isDouble();
int isString();
int isComplex();
int isGroup();
int isObject();
int isObject(char*);
int isBasic();

virtual XObject* clone();
int initFrom(XObject*);

char* getName();
int setName(char* n);
char* getClassName();
int getClassVersion();

int getFlags();
int setFlags(int);
void flagSet(int);
void flagClear(int);
int flagIsSet(int);

int getSizeBin();
int getSizeText();

int getIntValue();
int setIntValue(int);

double getDoubleValue();
int setDoubleValue(double);

char* getStringValue();
int getStringSize();
int getStringLength();
int setStringSize(int);
int setStringValue(int, char*);
int setStringValue(char*);

int getGroupSize();
XObject* getGroupElement(int);
XObject* getGroupElement(char*);
XObject* getGroupElement2(char*);
int addGroupElement(XObject*);
int removeGroupElement(int);
int removeGroup();

int loadBinFile(char*);
int readText(char*, int);
int readBin(char*, int);
int writeBin(char*, int);
int writeText(char*, int, int = 0);

virtual XObject* getValue();
virtual int show(int);
virtual int print(int);
virtual int html(int);
// misc
static char* strPrintInteger(char*, int, int);
static char* strPrintDouble(char*, double, int, int);
static char* strPrintString(char*, char*, int, int*);
static char* strPrintStringEsc(char*, char*, int, int*);
...
.;

.... ... ........... ......... ...., .. ...... ....... ........ ... ............ ......
.... .. ...... ......... ... ...... .......... . ......., ...... ....: Joseph Shrago -- e:mail : LFer at rambler dot ru

 

Test the program:

Firefox 4 - works faster, shows modern web-sites + don't forget to install Microsoft font pack.

Comments:

.......
2010-10-04 17:17:30

. ..... ... ... ............. .. Rexx'..?!

... .... ... .... .. ..... ........

joseph
2010-10-06 18:31:39

.. ...... .......... ............. ...... ... . ...... ..... ..... ....

.......... .. ..... ....... ......... .... . ........... xob . ..... ........ - ........... .

name_of_class=.. ..... .... .. ......... ... Xobject.

.... .... .... . rexx2xobject API .. ..... ....... .. ...... ............ ..... ....?

.......:
2010-10-12 23:52:03

joseph: . ....... ......... ........... ...... .... . ............ .... .. ... .... ........ ..... ..... ........... ...... ... ...... ........ ............ ........... ........... ..... .. .. ...... ..............

Joseph
2010-10-14 15:50:44

......., ..... ....... ....... - ...... ....... . ......... Xobject . ........ . .... rxXobject.dll ............ ...... ....... ... ......

.......
2010-10-15 15:24:35

Joseph: ...... Dll .. ......? :))) .. . .. ...., ....... ...... ..... 8 ... ....., ... ... .... .. ........ .. ... . ..... ........?

Rexx .......... ...., . ...... ........ . .... :), . ... ... 6 .... ...... .. .... ..... .... rexx ........ ............ ............. ... ............. ....... ... ....... .......... ..2 ... ....... . ..... .... ......... ........ . ..... (.... ........... .........), . .. ....... ... ......... ....... ...... .... ......... . ...... .. 100%, ... ... .. ... ..... ........ . . ........ .. ... ..... .... .......... ..........

. ... ......... .... ............., ....... ...... ...... . ...... ...... ................. :( ... .... ...... ... .......... .. ...... . ....... ......... . .... .. rexx ... ... ... ...... .. ... dll'.. . ... ........ .. ....... . .... ... ........ ... .. ....... .. .. ........., ....... . ... ..... . ....... ... ......, ... .......... .. ..... .... (... ....... ........).

....... ........ ........ ............., ............ ........... ........ ..... . . eCS. . ...... .... ........ .. ........ ........ ..........., . ........ Rexx'... ..... ..... ........ ... rexx - ... ....... ....... os2 (eCS). ... ... . ....! .. . ......... ..... ... ......... ..... ........, ... Rexx ...-.. ......... . ...... ....... ...... ... .............

.. .... .......... . ..........., . .... . ...... ........... .... .......... ... ....... ....... ..... ..., .. .. ... ........ ......, ....... ........ ...... ........ .. .......... ...... .......... OS2 (eCS) . Rexx'.... .......... .. ........... ........ ....... ... . ............ .. .... ....-........ ....... ........ ...... ........ OS2, Rexx ..... .... .. ........ ...... ...... ... .... ........ .............. ....... (......: ......... ......... Mesa) . .... ........... ......... ..... ......... . ........... .. .......... ..... . rexx'... _........._ ............ . ... ....... ....... . ......... ...... ... ........... ........ .... ........ . ... ... ....... ........ ......... ..... ............ . . ........ :( ... . ...... ....... ........, ......... ........ . ......... ............ (..... . .. ........).

.... ......., ... ...... ... ...... ..... .......

Joseph
2010-12-24 21:20:40

....... REXX API ... XObject

Joseph
2011-03-15 17:55:35

.......... . XObject .............. ..... ......... ..... ...... ........ .. ..... ...... (... ......), .. . .. ..... ....... ...... ....... ......... ... .... . Warpin.

Comment this article.


Your Name:

Your E-Mail:

CODE:
......

  

Your Comment:


The development of software for eComStation is profitable: a) system API is effective and considered. b) The market is not so infinite as Windows. All eCS users know about your product. c) Every developer is influencing on the OS significantly.

Articles

Operating System
Software
Hardware
For developer
Misc
From editor





Last active poll: What is the height of RPM barrier?

[Google]

IBM OS/2 Warp

 
For dummies

Database of OS/2 compatible hardware

 
Reviews


     
  Why eComStation?
Features
Advantages
Usage
Clips and screenshots
   eComStation for
for businessmen
for students and engineers
for reselles of computers
community of users
   Developer
Distribute the program
Description of API, libraries
Start new project
Competition
   Applications
On-line catalogue
Select from eCo Market
   Support service
Contact the web-master
Buy eComStation
Frequently asked questions
for Beginners
 
 
© 2001 - 2021 eCo Software, All rights reserved
Сибирский Медведь технологическая компания
eComStation Serenity Systems International • OS/2 Warp IBM Corporation • ArcaOS Arca Noae