Welcome!          Run-Time Systems

 

Язык Start-RTS+ & Компилятор Start-RTS+

РОСПАТЕНТ  N 2004610440  на главную


Объектный раздел


  В разделе изложены  основные концепции  класса и объекта, поддерживаемые  в языке Start-RTS+.

  Элегантность,  простота  и  мощь этих концепций заложены  Создателями во все живое, окружает

  нас повседневно и настолько очевидно, что не требует особых пояснений.

 

Класс

 Класс является композицией, состоящей из [других классов,]

 деклараций  данных и кода, который отслеживает изменения

 значений данных в объектах, созданных из данного класса.

 

Декларация

 

 class id_class

 {

   contain                             \

   {                                    \

     class id_class;                     \

     .......                              | опционально

     class id_class1 = class id_classA;  /

     .......                            /

   }                                   /

    data

   {                                   \

     .......                            | декларация данных

   }                                   /

    code

   {                                   \

     .......                            | составной оператор

   }                                   /

 }

 

Объект

 

 

 

 

 

Операции с

объектами

 Объект является копией данных класса, имеющих конкретные

 значения,совокупность которых представляет состояние объекта.

 Управление состоянием объекта извне выполняется напрямую

 изменением значений его данных. Другого способа изменить

 состояние объекта нет.

 

 Отслеживание состояния объекта выполняется автоматически кодом

 класса из которого создан объект. Для объектов определены

 следующие операции: Create, Connect, Delete, Exame.

 

Create

 Create id_object.id_class;

        id_object - имя объекта

                  id_class - имя класса

 Создает объект id_object из класса id_class.

 

Connect

 Connect id_object;

         id_object - имя объекта

 Подключает объект для взаимодействия с операционной системой.

 

Delete

 Delete id_object;

        id_object - имя объекта

 Удаляет объект из памяти с полным его разрушением.

 

Exame

 Exame;

 Проверяет состояние объекта при взаимодействии

 с операционной системой.

 

data

 Данные объекта являются переменными языка Start и обращение к ним

 выполняется в следующей форме.

 id_class.id_object.id_data

 id_class - имя класса

          id_object - имя объекта

                    id_data - имя данного объекта

 

code

  Доступ к коду класса запрещен.

 

Встроенные

классы

        Встроенные классы предназначены для взаимодействия

        с элементами интерфейса операционной системы.

 

 

s_window

 

class s_window

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y and width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of window

    dint _asub = 0;  // active subcontrol or menu

    char _text = ""; // name of window

    char _pict = ""; // picture for window

    char _help = ""; // help of window

    char _wdat = ""; // user data window

  }

  code

  { ;

  }

}

 

 

s_button

 

class s_button

{ data

  { qint _ndat = 0;  // handle of parent window, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // backcolor, forecolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // name of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_cmbbox

 

class s_cmbbox

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // text of subcontrol

    char _pict = ""; // picture of subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol    

  }

  code

  { ;

  }

}

 

 

s_edtbox

 

class s_edtbox

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // text of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_header

 

class s_header

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // backcolor, forecolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // name of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_lstbox

 

class s_lstbox

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // text of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_lstviw

 

class s_lstviw

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // backcolor, forecolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // name of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_menuim

 

class s_menuim

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y and width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident menu

    dint _asub = 0;  // number of submenuitem

    char _text = ""; // name of item

    char _pict = ""; // picture for item

    char _help = ""; // help of item

    char _wdat = ""; // user data item

  }

  code

  { ;

  }

}

 

 

s_riched

 

class s_riched

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y and width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of window

    dint _asub = 0;  // active subcontrol or menu

    char _text = ""; // name of window

    char _pict = ""; // picture for window

    char _help = ""; // help of window

    char _wdat = ""; // user data window

  }

  code

  { ;

  }

 

 

s_static

 

class s_static

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // forecolor, backcolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // text of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_stsbar

 

class s_stsbar

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // backcolor, forecolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // text of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_tolbar

 

class s_tolbar

{ data

  { qint _ndat = 0;  // handle of parent, number of change data

    qint _xywh = 0;  // coord x, y, width, height

    qint _styl = 0;  // exstyle, style

    qint _colo = 0;  // backcolor, forecolor

    dint _font = 0;  // choice font

    dint _mess = 0;  // message

    dint _isub = 0;  // ident of subcontrol

    dint _asub = 0;  // active subcontrol

    char _text = ""; // name of subcontrol

    char _pict = ""; // picture for subcontrol

    char _help = ""; // help of subcontrol

    char _wdat = ""; // user data of subcontrol

  }

  code

  { ;

  }

}

 

 

s_treviw

 

class s_treviw

{ data

  { qint _ndat = 0;   // handle of parent, number of change data

    qint _xywh = 0;   // coord x, y, width, height

    qint _styl = 0;   // exstyle, style

    qint _colo = 0;   // forecolor, backcolor

    dint _font = 0;   // choice font

    dint _mess = 0;   // message

    dint _isub = 0;   // ident of subcontrol

    dint _asub = 0;   // active subcontrol

    char _text = "";  // name of subcontrol

    char _pict = "0";  // picture for subcontrol

    char _help = "";  // help of subcontrol

    char _wdat = "";  // user data of subcontrol

  }

  code

  { ;

  }

}

 

s_animat

 

s_hotkey

 

s_prgbar

 

s_scrbar

 

s_tabctr

 

s_toltip

 

s_trkbar

 

s_updown

 


e-mail:rts@rtsrts.com


Copyright (C)RTsRTs 2000-2023