Logo    
Деловая газета CitCity.ru citforum.ck.ua - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: citforum.ck.ua
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Friday, 14-Mar-2008 14:59:54 EET

Google
WWW citforum.ck.ua
Техническая конференция «Корпоративные базы данных-2008»
Москва, 24-25 апреля

ГЛАВА 14. ГЛОБАЛЬНЫЕ ССЫЛКИ.

     Эта глава описывает все  элементы  Turbo  Vision,  которые  не
являются частью  иерархии  стандартных  объектов Turbo Vision.  Все
стандартные объекты описаны в главе 13.
     Элементы этой  главы  включают  типы,  константы,  переменные,
процедуры и функции,  определенные в модулях Turbo Vision. Типичный
элемент главы выглядит так:


Процедура Sample Модуль

=================================================================
  Объявление     procedure Sample(AParameter);

  Функция        Sample выполняет ряд полезных функций
                 с параметром, AParameter.

  См. также      Функция Example



Процедура Abstract Objects

=================================================================
  Объявление  procedure Abstract;

  Функция     Вызов этой процедуры завершает  программу  с  ошибкой
              времени выполнения 211.  При  реализации  абстрактных
              типов  объекта,  используйте  вызовы  Abstract  в тех
              виртуальных методах,  которые должны быть перекрыты в
              порожденных  типах.  Это  предотвратит  любые попытки
              использования экземпляров абстрактного типа.

  См. также   "Абстрактные методы" в главе 3.



Переменная Application App

=================================================================
  Объявление  Application: PApplicaton = nil;

  Функция     Переменная Application  устанавливается  в  @Self   в
              начале TProgram.Init (вызывается в TApplication.Init)
              и очищается в nil в конце TProgram.Done (вызывается в
              TApplication.Done). Поэтому,   во   время  выполнения
              программы на Turbo Vision,  Application указывает  на
              объект-программу.

  См. также   TProgram.Init



Переменная AppPalette App

=================================================================
  Объявление  AppPalette: Integer = apColor;

  Функция     Выбирает одну  из  3  доступных в  программе   палитр
              (apColor, apBlackWhite,   apMonochrome).   AppPalette
              инициализируется TProgram.InitScreen в зависимости от
              текущего режима       экрана      и      используется
              TProgram.GetPalette для возврата палитры.  Вы  можете
              перекрыть TProgram.InitScreen,  чтобы  изменить выбор
              палитры по умолчанию.

  См. также   TProgram.InitScreen, константы apXXXX



Константы apXXXX App

=================================================================
  Значения    Определены следующие константы палитры:

                        Таблица 14.1. Константы палитры.

     ------------------------------------------------------------
     Константа     Значение  Назначение
     ------------------------------------------------------------
     apColor          0      Палитра для цветного монитора
     apBlackWhite     1      Палитра для LCD монитора
     apMonochrome     2      Палитра для монохромного монитора
     ------------------------------------------------------------

  Функция     Константы, начинающиеся   с   ap,   используются  для
              указания, с  какой  из  3  стандартных  палитр  будет
              работать программа   на  Turbo  Vision.  Три  палитры
              используются для     цветного,     черно-белого     и
              монохромного дисплеев.



Процедура AssignDevice TextView

=================================================================
  Объявление  procedure AssignDevice(var T: Text;
              Screen: PTextDevice);

  Функция     Связывает текстовый  файл с TTextDevice. AssignDevice
              работает аналогично стандартной процедуре  Assign  за
              исключением того,   что  указывается  не  имя  файла.
              Вместо этого,   текстовый    файл    связывается    с
              TTextDevice данным   в  Screen  (запоминая  Screen  в
              первых 4   байтах   поля   UserData   в   TextRec(T).
              Последовательность операций  В/В для текстового файла
              будет читать  и  писать  из  TTextDevice,   используя
              виртуальные методы   StrRead  и  StrWrite.  Поскольку
              TTextDevice это  абстрактный  тип,  параметр   Screen
              обычно указывает   на   образец   TTerminal,  который
              реализует полную функциональность  видимого  элемента
              TTY подобного скроллинга.

  См. также   TTextDevice; TextRec


Константы bfXXXX Dialogs

=================================================================
  Значения     Определены слудующие флаги кнопки:

                          Таблица 14.2.

     ------------------------------------------------------------
     Константа     Значение  Назначение
     ------------------------------------------------------------
     bfNormal        $00     Нормальная кнопка
     bfDefault       $01     Кнопка по умолчанию
     bfLeftJust      @02     Метка кнопки выровнена влево
     ------------------------------------------------------------

  Функция     Комбинация этих  значений  передается  в TButton.Init
              для определения  вновь   созданного   стиля   кнопки.
              bfNormal указывает   на  нормальную  не  умалчиваемую
              кнопку. bfDefault указывает что кнопка  будет кнопкой
              по умолчанию.  Обязанность  программиста,  обеспечить
              чтобы кнопка была единственной умалчиваемой кнопкой в
              TGroup. Значение  bfLeftJust  может  быть добавлено к
              bfDefault или  bfNormal  и  воздействует  на  позицию
              отображаемого текста внутри кнопки:  если очищено, то
              метка центрируется;  если   установлено,   то   метка
              выравнивается влево.

  См. также   TButton.Flags, TButton.MakeDefault, TButton.Draw



Переменная ButtonCount Drivers

=================================================================
  Объявление  ButtonCount: Byte = 0;

  Функция     ButtonCount хранит число кнопок  мышки  или  0,  если
              мышка не  инсталлирована.  Вы можете использовать эту
              переменную для  определения  доступна  ли   поддержка
              мышки. Значение  устанавливается  в  иницилизационном
              коде Drivers и не может быть изменено.



Переменная CheckSnow Drivers

=================================================================
  Объявление  CheckSnow: Boolean;

  Функция     CheckSnow выполняет    функцию   одноименного   флага
              стандартного модуля  Turbo  Pascal  -  Crt.  Проверка
              снега, замедляющая  вывод на экран,  требуется только
              для некоторых старых адаптеров CGA.

  См. также   InitVideo



Процедура ClearHistory HistList

=================================================================
  Объявление  procedure ClearHistory;

  Функция     Удаляет все строки из всех списков истории.



Процедура ClearScreen Drivers

=================================================================
  Объявление  procedure ClearScreen;

  Функция     Очищает экран.  ClearScreen предполагает, что вначале
              был вызван    InitVideo.    Вам   редко   потребуется
              использовать эту  процедуру,  как  это  объяснено   в
              описанни InitVideo.

  См. также   InitVideo



Константы cmXXXX Views

=================================================================
  Функция     Эти константы      представляют      предопределенные
              команды Turbo   Vision.   Они   передаются   в   поле
              TEvent.Command событий     evMessage(evCommand      и
              evBroadcast) и    заставляют    методы    HandleEvent
              стандартных объектов Turbo Vision выполнять различные
              задачи.
              Turbo Vision резервирует значения констант от 0 до 99
              и от 256 до 999 для своих целей.  Обработчики событий
              стандартных объектов Turbo Vision  реагируют  на  эти
              предопределенные константы.     Прграммисты     могут
              определить свои собственные константы в диапазонах от
              100 до  255  и  от  1,000  до 65,535 без конфликтов с
              предопределенными командами.

  Значения    Следующие стандартные  команды  определены  в   Turbo
              Vision и  используются  стандартными  объектами Turbo
              Vision:

              Таблица 14.3. Коды стандартных команд.

------------------------------------------------------------------
Команда Значение Назначение
------------------------------------------------------------------
 cmValid   0     Передается в   TView.Valid   для   проверки  вновь
                 созданных образцов видимых элементов
 cmQuit    1     Заставляет TProgram.HandleEvent  вызывать EndModal
                 (cmQuit),  завершая программу.  Строка статуса или
                 одно  из  меню  обычно  содержат элемент,  который
                 переводит kbAltX и cmQuit.
 cmError   2     Не обрабатывается  никаким  объектом.  Может  быть
                 использована для представления нереализованных или
                 неподдерживаемых команд.
 cmMenu    3     Заставляет TMenuView.HandleEvent вызывать ExecView
                 для процесса выбора меню,  в результате чего может
                 быть  сгенерирована  новая   команда   с   помощью
                 PutEvent.
 cmClose   4     Обрабатывается TWindow.HandleEvent,   если    поле
                 InfoPtr  записи  события  установлено  в  nil  или
                 указывает  на  окно.  Если  окно   модальное,   то
                 посредством  PutEvent  генерируется  evCommand  со
                 значением из cmCancel.  Если окно немодальное,  то
                 то вызывается  метод  Close  при  условии что окно
                 поддерживает закрытие   (смотри   флаг   wfClose).
                 Отметка на   закрывающей  кнопке  окна  генерирует
                 событие evCommand с Command  из cmClose и InfoPtr,
                 который указывает на окно. Строка статуса или одно
                 из меню обычно содержит элемент, который переводит
                 kbAltF3 в cmClose.
 cmZoom    5     Заставляет TWindow.HandleEvent            вызывать
                 TWindow.Zoom,      если      окно     поддерживает
                 масштабирование (смотри  флаг  wfZoom) и если поле
                 InfoPtr  записи  события  установлено  в  nil  или
                 указывает    на    окно.    Отметка    на   кнопке
                 масштабирования окна или двойная отметка на полосе
                 заголовка  окна  генерирует  событие  evCommand  с
                 Command из cmZoom и InfoPtr,  который указывает на
                 окно.  Строка  статуса  или  одно  из  меню обычно
                 содержит элемент, который переводит kbF5 в cmZoom.
 cmResize  6     Заставляет TWindow.HandleEvent            вызывать
                 TView.DragView,  если  окно поддерживает изменение
                 размеров (смотри флаги wfMove  и  wfGrow).  Строка
                 статуса  или одно из меню обычно содержит элемент,
                 который переводит kbCtrlF5 в cmResize.
 cmNext    7     Заставляет TDeskTop.HandleEvent сдвигать последнее
                 окно на панели экрана  на  передний  план.  Строка
                 статуса  или одно из меню обычно содержит элемент,
                 который переводит kbF6 в cmNext.

 cmPrev    8     Заставляет TDeskTop.HandleEvent  сдвигать   первое
                 окно на панели экрана на самый задний план. Строка
                 статуса или одно из меню обычно  содержит элемент,
                 который переводит kbShiftF6 в cmPrev.
------------------------------------------------------------------

              Следующие стандартные    команды   используются   для
              определения   поведения   по    умолчанию    объектов
              диалогового окна:

        Таблица 14.4. Стандартные команды диалогового окна.

------------------------------------------------------------------
Команда    Значение  Назначение
------------------------------------------------------------------
 cmOK        10      Была нажата кнопка OK
 cmCancel    11      Диалоговое окно было отменено кнопкой Cancel,
                     закрывающей кнопкой или клавишей Enter
 cmYes       12      Была нажата кнопка Yes
 cmNo        13      Была нажата кнопка No
 cmDefault   14      Была нажата кнопка по умолчанию
------------------------------------------------------------------

              События с командами cmOK,  cmCancel,  cmYes или  cmNo
              завершают   модальный  диалог  TDialog.HandleEvent  и
              возвращают  значение  команды   (вызывая   EndModal).
              Модальный диалог обычно содержит по крайней мере один
              TButton   с   одним   из   этих   значений    команд.
              TDialog.HandleEvent         будет        генерировать
              команду-событие  cmCancel  в  ответ  на  событие   от
              клавиатуры kbEsc.
              Команда cmDefault заставляет  TButton.HandleEvent для
              умалчиваемой кнопки (см. флаг bfDefault) симулировать
              нажатие     кнопки.     TDialog.HandleEvent     будет
              генерировать  событие  команды  cmDefault  в ответ на
              событие клавиатуры kbEnter.
              Определены следующие    стандартные    команды    для
              использования стандартными видимыми элементами:

       Таблица 14.5. Стандартные команды видимых элементов.

------------------------------------------------------------------
Команда         Значение    Назначение
------------------------------------------------------------------
cmReceivedFocus     50  TView.SetState использует  функцию  Message
cmReleasedFocus     51  для передачи события evBroadcast с одним из
                        этих значений   в   свой  TView.Owner,  как
                        только sfFocused    изменяется.     InfoPtr
                        события указывает  на  сам видимый элемент.
                        Это информирует   любой   равный    видимый
                        элемент, что  видимый  элемент  получил или
                        освободил активность  и  что   они   должны
                        корректировать себя  соответственно. Объект
                        Tlabel, например, реагирует на эти команды,
                        включая или выключая свою подсветку.
cmCommandSetChanged 52  Метод TProgram.Idle    генерирует   событие
                        evBroadcast как   только    он    обнаружит
                        изменение в  текущем наборе команд (вызывая
                        методы EnableCommands,  DesableCommands или
                        SetCommands для   TView).  Общее  сообщение
                        cmCommandSetChanged посылается            в
                        HandleEvent каждого    видимого    элемента
                        иерархии (если  только  их  TView.EventMask
                        специфически не      маскируют      события
                        evBroadcast). Если   изменения   в   наборе
                        команд затрагивают  появление    видимого
                        элемента, он    должен    реагировать    на
                        cmCommandSetChanged своей     перерисовкой.
                        Объекты TBut ton,  TMenuView и TStatusLine,
                        например, реагируют    на    эту   команду,
                        перерисовывая себя.
cmScrollBarChanged  53  TScrollBar использует  функцию  Message для
cmScrollBarClicked  54  передачи события  evBroadcast  с  одним  из
                        этих   значений  в  свой  TView.Owner,  как
                        только мышка отмечает на полосе скроллинга.
                        InfoPtr   события   указывает   на   полосу
                        скроллинга. Общие    сообщения    создаются
                        любыми   равными    видимыми    элементами,
                        управляемыми полосой скроллинга, такими как
                        объекты TScroller и TListViewer.
cmSelectWindowNum   55  Заставляет TWiondow.HandleEvent    вызывать
                        TView.Select, если InfoInt  записи  события
                        соответствует               TWindow.Number.
                        TProgram.HandleEvent  реагирует на события
                        от клавиатуры   от  Alt-1  до  Alt-9  общим
                        сообщением cmSelectWindowNum с InfoInt от 1
                        до 9.
cmRecordHistory     60  Заставляет объект   THistory   "записывать"
                        текущее содержимое    объекта   TInputLine.
                        TButton посылает      общее       сообщение
                        cmRecordHistory своему владельцу,  когда он
                        выбран, в       результате,       заставляя
                        "записывать"   все   объекты   THistory   в
                        диалоговом окне.
------------------------------------------------------------------

  См. также   TView.HandleEvent, TCommandSet



Константы coXXXX Objects

=================================================================
  Функция     Константы coXXXX   передаются  как  параметр  Code  в
              метод TColection.Error,       когда       TCollection
              обнаруживает ошибку во время операции.

  Значения    Следующие стандартные коды ошибок определены для всех
              коллекций Turbo Vision:

                      Таблица 14.6. Коды ошибок коллекции.

------------------------------------------------------------------
 Код ошибки  Значение  Назначение
------------------------------------------------------------------
 coIndexError    -1    Индекс  вышел  за  диапазон.  Параметр  Info
                       передает в метод Error  содержимое неверного
                       индекса.

 coOverflow      -2    Переполнение коллекции. TCollection.SetLimit
                       недостаточно для    расширения    коллекции.
                       Параметр Info   передает   в   метод   Error
                       запрашиваемый размер коллекции.
------------------------------------------------------------------

  См. также   TCollection



Функция CStrLen Drivers

=================================================================
  Объявление  function CStrLen(S: String): Integer;

  Функция     Возвращает длину строки  S,  где  S  это  управляющая
              строка, использующая   символы   "~"   для   указания
              символов короткого набора.  "~" исключаются из  длины
              строки, поскольку  они  будут  появляться  на экране.
              Например, для строки '~B~roccoly', CStrLen возвращает
              8.

  См. также   MoveCStr



Переменная CtrlBreakHit Drivers

=================================================================
  Объявление  CtrlBreakHit: Boolean = False;

  Функция     Драйвер обработки  прерываний  от  клавиатуры   Turbo
              Vision всегда  устанавливает ее в True,  когда нажата
              Ctrl-Break. Это позволяет программам на  Turbo Vision
              перехватывать и реагировать на Ctrl-Break. Флаг может
              быть очищен в любое время установкой его в False.

  См. также   SaveCtrlBreak



Функция CtrlToArrow Drivers

=================================================================
  Объявление  function CtrlToArrow(KeyCode: Word): Word;

  Функция     Преобразует управляющие   WordStar-совместимые   коды
              клавиатуры в  соответствующие  коды  клавиш  курсора.
              Если младший  байт  KeyCode  соответствует  одному из
              значений управляющих   клавиш   в    таблице    14.7,
              результатом будет  соответствующая  константа kbXXXX.
              В противном случае KeyCode возвращается неизмененным.

                Таблица 14.7. Преобразование управляющих клавиш.

     ------------------------------------------------------------
     Клавиша     Lo(KeyCode)   Результат
     ------------------------------------------------------------
     Ctrl-A         $01          kbHome
     Ctrl-D         $04          kbRight
     Ctrl-E         $05          kbUp
     Ctrl-F         $06          kbEnd
     Ctrl-G         $07          kbDel
     Ctrl-S         $13          kbLeft
     Ctrl-V         $16          kbIns
     Ctrl-X         $18          kbDown
     ------------------------------------------------------------



Переменная CursorLines Drivers

=================================================================
  Объявление  CursorLines: Word;

  Функция     Уставливает начальную   и   конечную  строки  курсора
              с помощью InitVideo.  Формат предполагает  функцию  1
              прерывания BIOS $10 для установки типа курсора.

  См. также   InitVideo,    TView.ShowCursor,    TView.HideCursor,
              TView.BlockCursor, Tview.NormalCursor



Переменная DeskTop App

=================================================================
  Объявление  DeskTop: PDeskTop = nil;

  Функция     Сохраняет указатель на TDeskTop программы. Переменная
              DeskTop инициализируется        TProgram.InitDeskTop,
              которая вызывается  TProgram.Init.  Окна и диалоговые
              окна обычно    вставляются    (TGroup.Insert)     или
              выполняются (TGroup.ExecView) на DeskTop.



Процедура DisposeMenu Menus

=================================================================
  Объявление  procedure DisposeMenu(Menu: PMenu);

  Функция     Освобождает все элементы указанных  меню  (и  все  их
              подменю).

  См. также   Тип TMenu



Процедура DisposeStr Objects

=================================================================
  Объявление  procedure DisposeStr(P:String);

  Функция     Освобождает строки,  распределенные в куче с  помощью
              функции NewStr.

  См. также   NewStr



Константы dmXXXX Views

=================================================================
  Значения    Биты DragMode определены так:

              Рис. 14.1. Флаги режима Drag.

             +--- DragMode --+
             msb           lsb
              +-+-+-+----------- dmLimitAll = $F0
             +++++++++=+=+=+=+
             +++++++++=+=+++++
              | | | |     | +--- dmDragMove = $01
              | | | |     +----- dmDragGrow = $02
              | | | +----------- dmLimitLoX = $10
              | | +------------- dmLimitLoY = $20
              | +--------------- dmLimitHiX = $40
              +----------------- dmLimitHiY = $80


  Функция     Эти константы  используются  для компоновки параметра
              Mode метода TView.DragView.  Они указывают  разрешены
              ли движение    и/или    изменение   размера   и   как
              интерпретировать параметр Limits.
              Константы определены так:

                Таблица 14.8. Константы режима Drag.

     ------------------------------------------------------------
     Константа    Назначение
     ------------------------------------------------------------
     dmDragMove   Позволяет видимому элементу перемещаться.
     dmDragGrow   Позволяет видимому элементу изменять размер.
     dmLimitLoX   Левая сторона видимого элемента не может
                  выходить за Limits.
     dmLimitLoY   Верхняя сторона видимого элемента не может
                  выходить за Limits.
     dmLimitHiX   Правая сторона видимого элемента не может
                  выходить за Limits.
     dmLimitHiY   Нижняя сторона видимого элемента не может
                  выходить за Limits.
     dmLimitAll   Никакая часть видимого элемента не может
                  выходить за Limits.
     ------------------------------------------------------------



Процедура DoneEvents Drivers

=================================================================
  Объявление  procedure DoneEvents;

  Функция     Завершает монитор   событий  Turbo  Vision,  отключая
              обработчик прерываний мышки. Вызывается автоматически
              при вызове TApplication.Done.

  См. также   TApplication.Done, InitEvents



Процедура DoneHistory Drivers

=================================================================
  Объявление  procedure DoneHistory;

  Функция     Освобождает блок истории, распределенный InitHistory.
              Вызывается       автоматически       при       вызове
              TApplication.Done.

  См. также   Процедура InitHistory, TApplication.Done



Процедура DoneMemory Memory

=================================================================
  Объявление  procedure DoneMemory;

  Функция     Завершает монитор памяти Turbo Vision, освобождая все
              буфера, распределенные  через  GetBufMem.  Вызывается
              автоматически при вызове TApplication.Done.

  См. также   TApplication.Done, InitMemory



Процедура DoneSysError Drivers

=================================================================
  Объявление  procedure DoneSysError;

  Функция     Завершает обработчик системных ошибок  Turbo  Vision,
              восстанавливая вектора прерываний 09H, 1BH, 21H, 23H,
              24H и  восстанавливая  состояние  Ctrl-Break  в  DOS.
              Вызывается       автоматически       при       вызове
              TApplication.Done.


  См. также   TApplication.Done, InitSysError



Процедура DoneVideo Drivers

=================================================================
  Объявление  procedure DoneVideo;

  Функция     Завершает монитор экрана Turbo Vision, восстанавливая
              начальный режим экрана (StartupMode),  очищая экран и
              восстанавливая курсор  Вызывается  автоматически  при
              вызове TApplication.Done.


  См. также   TApplication.Done, InitVideo,
              переменная StartupMode



Переменная DoubleDelay Drivers

=================================================================
  Объявление  DoubleDelay: Word = 8;

  Функция     Определяет временной  интевал  (в  1/18.2   секундах)
              между  нажатиями  кнопки  мышки  для порядка различия
              двойного нажатия   и    двух    отдельных    нажатий.
              Используется GetMouseEvent   для   генерации  события
              Double, если  нажатия  произошли  в  этом   временном
              интервале.

  См. также   TEvent.Double, GetMouseEvent



Переменная EmsCurHandle Objects

=================================================================
  Объявление  EmsCurhandle: Word = $FFFF;

  Функция     Содержит текущий   обработчик    EMS,    отображенный
              TEmsStream в   нулевую   физическую   страницу   EMS.
              TEmsStream избегает дорогих  вызовов  переотображения
              EMS подкачкой  состояния  EMS.  Если  Ваша  программа
              использует EMS   для   других    целей,    установите
              EmsCurHandle и     EmsCurPage     в    $FFFF    перед
              использованием TEmsStream  -  это   будет   вынуждать
              TEmsStream восстанавливать свое отображение.

  См. также   TEmsStream.Handle



Переменная EmsCurPage Objects

=================================================================
  Объявление  EmsCurpage: Word = $FFFF;

  Функция     Содержит текущий  номер  логической   страницы   EMS,
              отображенной TEmsStream в нулевую физическую страницу
              EMS.    TEmsStream    избегает    дорогих     вызовов
              переотображения  EMS  подкачкой  состояния EMS.  Если
              Ваша  программа  использует  EMS  для  других  целей,
              установите  EmsCurHandle  и  EmsCurPage в $FFFF перед
              использованием  TEmsStream  -  это  будет   вынуждать
              TEmsStream восстанавливать свое отображение.


  См. также   TEmsStream.Page



Константы evXXXX Drivers

=================================================================
  Функция     Эти мнемоники    обозначают    типы    событий    для
              обработчиков событий Turbo Vision.  Константы  evXXXX
              используются в нескольких местах:  в поле What записи
              события, в  поле  EventMask  видимого  элемента  и  в
              переменных PositionalEvents и FocusedEvents.

  Значения
              Следующие значения    флагов    событий    обозначают
              стандартные типы событий:

                    Таблица 14.9. Флаги стандартных событий.

     ------------------------------------------------------------
     Константа     Значение         Назначение
     ------------------------------------------------------------
     evMouseDown   $0001   Кнопка мышки нажата
     evMouseUp     $0002   Кнопка мышки отпущена
     evMouseMove   $0004   Мышка изменила положение
     evMouseAuto   $0008   Периодическое событие до тех пор, пока
                           нажата кнопка мышки
     evKeyDown     $0010   Клавиша нажата
     evCommand     $0100   Событие-команда
     evBroadcast   $0200   Событие-общее сообщение
     ------------------------------------------------------------

              Следующие константы    могут    использоваться    для
              маскирования типов событий:

                    Таблица 14.10. Маски стандартных событий.

     ------------------------------------------------------------
     Константа     Значение         Назначение
     ------------------------------------------------------------
     evNothing     $0000    Событие уже обработано
     evMouse       $000F    Событие от мышки
     evKeyboard    $0010    Событие от клавиатуры
     evMessage     $FF00    Событие-сообщение (команда, общее
                            сообщение или определено пользователем).
     ------------------------------------------------------------

     Биты маски события определены так:

                   Рис. 14.2. Отображение битов маски события.

     +------ Флаги события ---------+
     msb                           lsb
      +-+-+-+-+-+-+-+------------------- evMessage   = $FF00
      | | | | | | | |       +----------- evKeyboard  = $0010
      | | | | | | | |       | +-+-+-+--- evMouse     = $000F
     +++++++++++++++++=+=+=+++++++++++
     +=+=+=+=+=+=+++++=+=+=+++++++++++
                  | |       | | | | +--- evMouseDown = $0001
                  | |       | | | +----- evMouseUp   = $0002
                  | |       | | +------- evMouseMove = $0004
                  | |       | +--------- evMouseAuto = $0008
                  | |       +----------- evKeyDown   = $0010
                  | +------------------- evCommand   = $0100
                  +--------------------- evBroadcast = $0200

              Маски стандартных событий могут быть использованы для
              быстрого   определения,   принадлежит   ли    событие
              конкретному семейству событий. Например,

     if Event.What and evMouse <> 0 then DoMouseEvent;

  См. также TEvent, TView.EventMask, GetKeyEvent, GetMouseEvent,
            методы HandleEvent, PositionalEvents, FocusedEvents.


Тип FNameStr Objects

=================================================================
  Объявление  FNameStr = String[79];

  Функция     Строка, содержащая имя файла DOS.



Переменная FocusedEvents Views

=================================================================
  Оъявление  FocusedEvents: Word = evKeyboard + evCommand;

  Функция     Определяет классы   событий    как    сфокусированные
              события. Переменные  FocusedEvents и PositionalEvents
              используются TGroup.HandleEvent для  определения, как
              соотносятся события к подэлементам группы. Если класс
              события не    содержится    в    FocusedEvents    или
              PositionalEvents, то  оно  интерпретируется как общее
              событие.

  См. также   Переменные PositionalEvents, TGroup.HandleEvent,
              TEvent, константы evXXXX.



Процедура FormatStr Drivers

=================================================================
  Объявление  procedure FormatStr(var Result: String;
                                  Format: String; var Params);

  Функция     Процедура форматирования   строки,  которая  работает
              подобно функции языка Си  vsprintf.  Format  включает
              спецификаторы формата,   а   Params  содержит  список
              параметров. FormatStr выполняет форматированный вывод
              строки в Result.
              Параметр Format    может    содержать   любое   число
              спецификаторов формата,  для отображения параметров в
              Params. Формат спецификаторов - %[-][nnn]X, где
              - % указывает начало спецификатора формата;
              - [-]  необязательный знак минуса,  указывающий,  что
              параметр будет выровнен влево (по умолчанию параметры
              при отображении выравниваются вправо);
              - [nnn]  -  необязательный  десятичный   спецификатор
              длины в  диапазоне  0-255  (0 указывает на отсутствие
              длины, а не нуль означает,  что выводится поле в  nnn
              символов);
              - Х - символ формата:
                 - 's' означает, что параметр указывает на строку;
                 - 'd' означает  десятичное  представление  LongInt
                   параметра;
                 - 'c'  означает,  что  младший  байт  параметра  -
                   символ;
                 - 'x'  означает  шестнадцатиричное   представление
                   параметра LongInt.
                 - '#'устанавливает индекс параметра в nnn.

              Например, если   параметр   указывает   на    строку,
              содержащую   'spiny',  следующая  таблица  показывает
              спецификаторы и их результаты при печати:


           Таблица 14.11.   Спецификаторы  формата  и  их результаты.

     -----------------------------------------
        Спецификатор   Результат
     -----------------------------------------
        %6s            ' spiny'
        %-6s           'spiny'
        %3s            'iny'
        %-3s           'spi'
        %06s           '0spiny'
        %-06s          'spiny0'
     ----------------------------------------

              Params - это нетипированный var  параметр, содержащий
              параметры с соответствующимим спецификаторами формата
              в Format.  Params должен быть массивом из LongInt или
              указателей   или   записью,  содержащей  LongInt  или
              указатели.
              Например, для вывода строки сообщения об ошибке

              Error in file [file name] at line [line number]

              Вы должны послать следующую строку в Format:

              'Error in file %s at line %d'.

              Params должен  содержать  указатель  на  строку имени
              файла и Longint,  представляющая число строк в файле.
              Это может быть сделано двумя способами: в массиве или
              в записи.
              Следующий пример  показывает  два  типа  объявлений и
              присвоений   переменных,   оба   создают   допустимые
              значения, передаваемые как Params в FormatStr.

                 type
                   ErrMsgRec = record
                     FileName: PString;
                     LineNo: Longint;
                   end;

                   ErrMsgArray = array[01] of Longint;

                 const
                   TemplateMsg = 'Error in file %s at line %d';

                 var
                   MyFileName: FNameStr;
                   OopsRec: ErrMsgRec;
                   DarnArray: ErrMsgArray;
                   TestStr: String;

                 begin
                   MyFileName := 'WARTHOG.ASM';

                   with OopsRec do
                   begin
                     FileName := @MyFileName;
                     LineTo := 42;
                   end;
                   FormatStr(TestStr, TemplateMsg, OopsRec);
                   Writeln(TestStr);

                   DarnArray[0] := Longint(@MyFileName);
                   DarnArray[1] := 24;
                   FormatStr(TestStr, TemplateMsg, DarnArray);
                   Writeln(TestStr);
                 end;

  См. также   Функцию SystemError, объект TParamText.



Процедура FreeBufMem Memory

=================================================================
  Объявление  procedure FreeBufMem(P: Pointer);

  Функция     Освобождает кэш-буфер, ссылаемый указателем Р.

  См. также   GetBufMem, DoneMemory.



Функция GetAltChar Drivers

=================================================================
  Объявление  function GetAltChar(KeyCode: Word): Char;

  Функция     Возвращает символ    Ch,    для    которого    Alt-Ch
              вырабатывает двухбайтовый    скан-код,    данный    в
              аргументе KeyCode.   Эта   функция   дает    обратное
              к GetAltCode отображение.

  См. также   GetAltCode.



Функция GetAltCode Drivers

=================================================================
  Объявление  function GetAltCode(Ch: Char): Word;

  Функция     Возвращает двухбайтовый скан-код, соответствующий
              Alt-Ch. Эта  функция  делает  обратное  к  GetAltChar
              отображение.

  См. также   GetAltChar.



Процедура GetBufMem Memory

=================================================================
  Объявление  procedure GetBufMem(var P: Pointer; Size: Word);

  Функция     Распределяет кэш-буфер  для  Size  байт  и запоминает
              указатель на него в Р. Если нет памяти для кэш-буфера
              запрашиваемого размера, Р устанавливается в nil. Кэш-
              буфер отличается    от    обычных     блоков     кучи
              (распределяемых с помощью New,  GetMem или MemAlloc),
              в которых они  могут  размещаться  или  освобождаться
              монитором памяти    в    любое    время.   Указатель,
              передаваемый в GetBufMem,  становится  указателем  на
              кэш-буфер и  он  (и только он) корректируется,  когда
              буфер перемещается  монитором  памяти.  Если  монитор
              памяти решает освободить буфер, он устанавливает этот
              указатель в  nil.  Кэш-буфер  может  быть  освобожден
              через  вызов  FreeBufMem.  Кэш-буфера  будут занимать
              любое  нераспределенное   пространство   кучи   между
              HeapPtr и HeapEnd, включая область, установленную для
              пула надежности программы.

              Turbo Vision   использует   кэш-буфера  для  подкачки
              содержимого объектов   TGroup   (таких,   как   окна,
              диалоговые окна  и  панель  экрана),  как  только эти
              объекты   устанавливают   флаг   ofBuffered   -   это
              значительно   повышает   производительность  операций
              перерисовки.

  См. также   FreeBuffMem, InitMemory, TGroup.Draw.



Процедура GetKeyEvent Drivers

=================================================================
  Объявление  procedure GetKeyEvent(var Event: TEvent);

  Функция     Проверяет, доступно  ли событие от клавиатуры вызовом
              прерывания BIOS INT 16H.  Если клавиша  была  нажата,
              Event.What устанавливается      в     evKeyDown     и
              Event.KeyCode устанавливается в cкан-код  клавиши.  В
              противном случае,    Event.What   устанавливается   в
              evNothing. GetKeyEvent         вызывается          из
              TProgram.GetEvent.

  См. также TProgramm.GetEvent, константы evXXXX, TView.HandleEvent.



Процедура GetMouseEvent Drivers

=================================================================
  Объявление  procedure GetMouseEvent(var Event: TEvent);

  Функция     Проверяет, доступно  ли  событие  от мышки из очереди
              событий от мышки, поддерживаемой обработчиком событий
              Turbo Vision.   Если  происходит  событие  от  мышки,
              Event.What устанавливается в  evMouseDown, evMouseUp,
              evMouseMove или       evMouseAuto;      Event.Buttons
              устанавливается в  mbLeftButton  или   mbRightButton;
              Event.Double устанавливается в True или False; Event.
              Where устанавливается в позицию  мышки  в  глобальных
              координатах (соответствующих   координатной   системе
              TApplication). Если  события  от  мышки   недоступны,
              Event.What устанавливается в evNothing. GetMouseEvent
              вызывается из TProgram.GetEvent.

  См. также  TProgram.GetEvent, события evXXXX, методы HandleEvent.



Константы gfXXXX Views

=================================================================
  Функция     Эти мнемоники   используются   для   установки  полей
              GrowMode во всех объектах TView и  порожденных. Биты,
              установленные в  GrowMode,  определяют,  как  видимый
              элемент будет изменяться в зависимости  от  изменений
              размера его владельца.

  Значения    Биты GrowMode определены как:

                        Рис. 14.3. Биты режима Grow.

             +--- GrowMode --+
             msb           lsb
                      +-+-+-+--- gfGrowAll = $0F
             +=+=+=+=+++++++++
             +++=+++++++++++++
              +-+-+ | | | | +--- gfGrowLoX = $01
                |   | | | +----- gfGrowLoY = $02
       Неопределены | | +------- gfGrowHiX = $04
                    | +--------- gfGrowHiY = $08
                    +----------- gfGrowRel = $10


                 Таблица 14.12.  Определения флага  режима Grow.

------------------------------------------------------------------
 Константа        Назначение
------------------------------------------------------------------
 gfGrowLoX    Если установлен,  то левая сторона видимого  элемента
              будет находиться   на   одном  расстоянии  от  правой
              стороны владельца.
 gfGrowLoY    Если установлен, то верхняя сторона видимого элемента
              будет находиться   на   одном  расстоянии  от  нижней
              стороны владельца.
 gfGrowHiX    Если установлен,  то правая сторона видимого элемента
              будет   находиться  на  одном  расстоянии  от  правой
              стороны владельца.
 gfGrowHiY    Если установлен,  то нижняя сторона видимого элемента
              будет находиться   на   одном  расстоянии  от  нижней
              стороны владельца.
 gfGrowAll    Если установлен,  то видимый элемент будет сдвигаться
              вместе с правым нижним углом его владельца.
 gfGrowRel    Для использования  с   объектами   TWindow,   которые
              находятся в  панели  экрана:  видимый  элемент  будет
              изменять размер относительно размера  владельца. Окно
              будет обрабатываться      соответственно      размеру
              владельца, даже когда происходит  переключение  между
              режимами 25 и 43/50 строк.
------------------------------------------------------------------
              Заметим, что  LowX=  левая  сторона;  LowY  = верхняя
              сторона;  HiX = правая сторона; HiY = нижняя сторона.

  См. также TView.GrowMode



Константы hcXXXX Views

=================================================================
  Значения    Определены следующие константы контекста подсказки:

           Таблица 14.13. Константы контекста подсказки.

     -----------------------------------------
     Константа    Значение  Назначение
     -----------------------------------------
     hcNoContext     0    Контекст не задан
     hcDragging      1    Объект - перемещаем
     -----------------------------------------

  Функция     Значение TView.HelpCtx по  умолчанию  -  hcNoContext,
              которое указывает,  что  для  видимого  элемента  нет
              контекста подсказки.   TView.GetHelpCtx    возвращает
              hcDragging, как  только  видимый  элемент  становится
              перемещаемым (это   указывается   состоянием    флага
              sfDragging).
              Turbo Vision  резервирует  для  контекста   подсказки
              значения от  0 до 999.  Программисты могут определять
              свои константы в диапазоне от 1,000 до 65,535.

  См. также  TView.HelpCtx, TStatusLine.Update.



Процедура HideMouse Drivers

=================================================================
  Объявление  procedure HideMouse;

  Функция     Курсор мышки    изначально    видим    после   вызова
              InitEvents. HideMouse  прячет  мышку  и   увеличивает
              внутренний "счетчик    мышки"   в   драйвере   мышки.
              ShowMouse будет уменьшать этот счетчик  и  показывать
              курсор мышки, когда счетчик становится равен 0. Таким
              образом, вызовы  HideMouse  и  ShowMouse  могут  быть
              вложенными, но всегда должны быть сбалансированы.

  См. также   InitEvents, DoneEvents, ShowMouse



Переменная HiResScreen Drivers

=================================================================
  Объявление  HiResScreen: Boolean;

  Функция     Устанавливается в  True  с  помощью  InitVideo,  если
              экран поддерживает режим  43/50  строк  (EGA/VGA);  в
              противном случае устанавливается в False.

  См. также   InitVideo



Процедура HistoryAdd HistList

=================================================================
  Объявление  procedure HistoryAdd(Id: Byte; var Str: String);

  Функция     Добавляет строку Str в список истории,  указываемый с
              помощью Id.



Переменная HistoryBlock HistList

=================================================================
  Объявление  HistoryBlock: Pointer = nil;

  Функция     Указывает на  буфер,  вызывающий   блок   истории   и
              используемый для хранения строк истории. Размер блока
              определяется посредством    HistorySize.    Указатель
              устанавливается в  nil  до  тех  пор  пока  не  будет
              установлен с помощью InitHistory. Его значение нельзя
              изменить.

  См. также  процедуру InitHistory, переменную HistorySize.



Функция HistoryCount HistList

=================================================================
  Объявление  function HistoryCount(Id: Byte): Word;

  Функция     Возвращает количество   строк   в   списке   истории,
              соответствующее номеру ID.



Переменная HistorySize HistList

=================================================================
  Объявление  HistorySize: Word = 1024;

  Функция     Задает размер     блока     истории,     используемый
              администратором списка истории для хранения значений,
              введенных в   строках   ввода.   Размер   фиксируется
              посредством InitHistory  при  запуске  программы.  По
              умолчанию размер  блока  равен  1К,  но  может   быть
              изменен перед  вызовом  InitHistory.  Значение нельзя
              изменять после вызова InitHistory.

  См. также   процедуру InitHistory, переменную HistoryBlock.



Функция HistoryStr HistList

=================================================================
  Объявление function HistoryStr(Id: Byte; Index: Integer): String;

  Функция     Возвращает Index    строку    в    списке    истории,
              соответствующую номеру ID.



Переменная HistoryUsed HistList

=================================================================
  Объявление  HistoryUsed: Word = 0;

  Функция     Используется внутри  администратором  списка  истории
              для указания на смещение внутри  блока  истории.  Это
              значение нельзя изменить.



Процедура InitEvents Drivers

=================================================================
  Объявление  procedure InitEvents;

  Функция     Инициализирует монитор    событий    Turbo    Vision,
              подключая обработчик  прерываний  мышки  и  показывая
              мышку. Вызывается автоматически TApplication.Init.

  См. также   DoneEvents.



Процедура InitHistory HistList

=================================================================
  Объявление InitHistory;

  Функция     Вызывается с     помощью     TApplication.Init    для
              распределения блока  памяти  в   куче,   используемом
              монитором списка  истории.  Размер блока определяется
              переменной HistorySize.  После   вызова   InitHistory
              переменная HistoryBlock указывает на начало блока.

  См. также  TProgram.Init, процедуру DoneHistory.



Процедура InitMemory Memory

=================================================================
  Объявление  procedure InitMemory;

  Функция     Инициализирует монитор    памяти    Turbo     Vision,
              инсталлируя функцию   объявления  кучи  в  HeapError.
              Вызывается автоматически посредством TApplication.Init.

  См. также   DoneMemory.



Процедура InitSysError Drivers

=================================================================
  Объявление  procedure InitSysError;

  Функция     Инициализирует обработчик  системных   ошибок   Turbo
              Vision,   переопределяя   вектора   прерываний   09H,
              1BH,21H,  23H,  24H и очищая состояние  Ctrl-Break  в
              DOS.     Вызывается     автоматически     посредством
              TApplication.Init.

  См. также   DoneSysError.



Процедура InitVideo Drivers

=================================================================
  Объявление  procedure InitVideo;

  Функция     Инициализирует монитор экрана Turbo Vision. Сохраняет
              текущий режим  экрана  в  StartupMode  и  переключает
              экран  в  режим,  указанный в ScreenMode.  Переменные
              ScreenWidth,  ScreenHeight,  HiResScreen,  CheckSnow,
              ScreenBuffer     и     CursorLines     корректируются
              соответственно.  Режим  экрана  позднее  может   быть
              изменен    использованием   SetVideoMode.   InitVideo
              вызывается         автоматически          посредством
              TApplication.Init.

  См. также   DoneVideo, SetVideoMode, smXXXX.



Константы kbXXXX Drivers

=================================================================
  Функция     Два множества констант, начинающихся с "kb" связаны с
              клавиатурой.

  Значения    Следующие значения  определяют состояние клавиатуры и
              могут быть использованы при проверке  регистров Shift
              клавиатуры, которое запоминается в байте с абсолютным
              адресом $40:$17. Например,

     var
       ShiftState: Byte absolute $40:$17;
       .
     if ShiftState and kbAltShift <> 0 then AltKeyDown;

     Таблица 14.14.  Состояние клавиатуры и маски Shift.

------------------------------------------------------------------
 Константа     Значение    Назначение
------------------------------------------------------------------
 kbRightShift    $0001   Установлено, если правый Shift нажат
 kbLeftShift     $0002   Установлено, если левый Shift нажат
 kbCtrlShift     $0004   Установлено, если Ctrl нажат
 kbAltShift      $0008   Установлено, если Alt нажат
 kbScrollState   $0010   Установлено, если клавиатура в состоянии
                         ScrollLock
 kbNumState      $0020   Установлено, если клавиатура в состоянии
                         NumLock
 kbCapsState     $0040   Установлено, если клавиатура в состоянии
                         CapsLock
 kbInsState      $0080   Установлено, если клавиатура в состоянии
                         InsLock
------------------------------------------------------------------

                 Таблица 14.15. Коды Alt-буква.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbAltA       $1E00              kbAltN       $3100
       kbAltB       $3000              kbAltO       $1800
       kbAltC       $2E00              kbAltP       $1900
       kbAltD       $2000              kbAltQ       $1000
       kbAltE       $1200              kbAltR       $1300
       kbAltF       $2100              kbAltS       $1F00
       kbAltG       $2200              kbAltT       $1400
       kbAltH       $2300              kbAltU       $1600
       kbAltI       $1700              kbAltV       $2F00
       kbAltJ       $2400              kbAltW       $1100
       kbAltK       $2500              kbAltX       $2D00
       kbAltL       $2600              kbAltY       $1500
       kbAltM       $3200              kbAltZ       $2C00
     -----------------------------------------------------------

             Таблица 14.16. Коды специальных клавиш.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbAltEqual   $8300              kbEnd        $4F00
       kbAltMinus   $8200              kbEnter      $1C0D
       kbAltSpace   $0200              kbEsc        $011B
       kbBack       $0E08              kbGrayMinus  $4A2D
       kbCtrlBack   $0E7F              kbHome       $4700
       kbCtrlDel    $0600              kbIns        $5200
       kbCtrlEnd    $7500              kbLeft       $4B00
       kbCtrlEnter  $1C0A              kbNoKey      $0000
       kbCtrlHome   $7700              kbPgDn       $5100
       kbCtrlIns    $0400              kbPgUp       $4900
       kbCtrlLeft   $7300              kbrayPlus    $4E2B
       kbCtrlPgDn   $7600              kbRight      $4D00
       kbCtrlPgUp   $8400              kbShiftDel   $0700
       kbCtrlPrtSc  $7200              kbShiftIns   $0500
       kbCtrlRight  $7400              kbShiftTab   $0F00
       kbDel        $5300              kbTab        $0F09
       kbDown       $5000              kbUp         $4800
     -----------------------------------------------------------

                Таблица 14.17. Коды Alt-число.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbAlt1       $7800              kbAlt6       $7D00
       kbAlt2       $7900              kbAlt7       $7E00
       kbAlt3       $7A00              kbAlt8       $7F00
       kbAlt4       $7B00              kbAlt9       $8000
       kbAlt5       $7C00              kbAlt0       $8100
     -----------------------------------------------------------

            Таблица 14.18. Коды функциональных клавиш.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbF1         $3B00              kbF6         $4000
       kbF2         $3C00              kbF7         $4100
       kbF3         $3D00              kbF8         $4200
       kbF4         $3E00              kbF9         $4300
       kbF5         $3F00              kbF0         $4400
     ----------------------------------------------------------

           Таблица 14.19.  Коды Shift-функциональная клавиша.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbShiftF1    $5400              kbShiftF6    $5900
       kbShiftF2    $5500              kbShiftF7    $5A00
       kbShiftF3    $5600              kbShiftF8    $5B00
       kbShiftF4    $5700              kbShiftF9    $5C00
       kbShiftF5    $5800              kbShiftF0    $5D00
     -----------------------------------------------------------

           Таблица 14.20. Коды Ctrl-функциональная клавиша.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbCtrlF1     $5E00              kbCtrlF6     $6300
       kbCtrlF2     $5F00              kbCtrlF7     $6400
       kbCtrlF3     $6000              kbCtrlF8     $6500
       kbCtrlF4     $6100              kbCtrlF9     $6600
       kbCtrlF5     $6200              kbCtrlF0     $6700
     -----------------------------------------------------------

            Таблица 14.21. Коды Alt-функциональная клавиша.

     -----------------------------------------------------------
       Константа    Значение           Константа    Значение
     -----------------------------------------------------------
       kbAltF1      $6800              kbAltF6      $6D00
       kbAltF2      $6900              kbAltF7      $6E00
       kbAltF3      $6A00              kbAltF8      $6F00
       kbAltF4      $6B00              kbAltF9      $7000
       kbAltF5      $6C00              kbAltF0      $7100
     -----------------------------------------------------------

  См. также   evKeyDown, GetKeyEvent.



Функция LongDiv Objects

=================================================================
  Объявление  function LongDiv(X: Longint; Y: Integer): Integer;
              inline($59/$58/$5A/$F7/$F9);

  Функция     Функция со встроенным ассемблерным кодом для быстрого
              деления, возвращающая целое значение X/Y.



Функция LongMul Objects

=================================================================
  Объявление  function LongMul(X, Y: Integer): Longint;
              inline($5A/$58/$F7/$EA);

  Функция     Функция со встроенным ассемблерным кодом для быстрого
              умножениия, возвращающая длинное целое значение X*Y.



Тип LongRec Objects

=================================================================
  Объявление  LongRec = record
                Lo, Hi: Word;
              end;

  Функция     Полезный тип записи для обработки переменных двойного
              слова.



Функция LowMemory Memory

=================================================================
  Объявление  function LowMemory: Boolean;

  Функция     Возвращает True, если памяти мало, в противном случае
              False. True означает,  что вызов распределения памяти
              достиг пула  надежности.   Размер   пула   надежности
              определяется переменной LowMemSize.

  См. также   Главу 6, InitMemory, TView.Valid, LowMemSize.



Переменная MaxBufMem Memory

=================================================================
  Объявление  MaxBufMem: Word = 65536 div 16;

  Функция     Указывает максимальный  объем  памяти  в  16-байтовых
              параграфах, которая   может   быть  распределена  для
              кэш-буферов.

  См. также   GetBufMem, FreeBufMem.



Переменная MaxCollectionSize Objects

=================================================================
  Объявление  MaxCollectionSize = 65520 div SizeOf(Pointer);

  Функция     Определяет максимальное   число   элементов,  которые
              может содержать  коллекция,  по  существу  это  число
              указателей, которое помещается  в  сегмент  памяти  в
              64К.



Константа MaxViewWidth Views

=================================================================
  Объявление  MaxViewWidth = 132;

  Функция     Устанавливает максимальную длину видимого элемента.

  См. также   поле TView.Size.



Константа mbXXXX Drivers

=================================================================
  Функция     Эти константы могут быть  использованы  при  проверке
              поля TEvent.Buttons записи события evMouse.

              if (Event.What = evMouseDown) and
              (Event.Button = mbLeftButton) then LeftButtonDown;

  Значения    Определены следующие константы:

              Таблица 14.22. Константы кнопки мышки.

   ---------------------------------------------------------------
   Костанта    Значение  Назначение
   ---------------------------------------------------------------
   mbLeftButton   $01  Установлено, если была нажата левая кнопка
   mbRightButton  $02  Установлено, если была нажата правая кнопка
   ---------------------------------------------------------------

  См. также   GetMouseEvent.



Функция MemAlloc Memory

=================================================================
  Объявление  function MemAlloc(Size: Word): Pointer;

  Функция     Распределяет Size  байт  памяти  в  куче и возвращает
              указатель на блок.  Если блок требуемого  размера  не
              может быть распределен,  возвращается значение nil. В
              отличие от  стандартных  процедур   New   и   GetMem,
              MemAlloc не  позволяет  распределять  пул надежности.
              Блок распределенный с  помощью  MemAlloc  может  быть
              освобожден стандартной процедурой FreeMem.

  См. также   New, GetMem, Dispose, FreeMem, MemAllocSeg.



Функция MemAllocSeg Memory

=================================================================
  Объявление  function MemAllocSeg(Size: Word): Pointer;

  Функция     Распределяет блок  памяти  выровненный   на   границу
              сегмента. Соответствует   MemAlloc,   за  исключением
              того, что  часть  смещения  результирующего  значения
              указателя - 0.

  См. также   MemAlloc



Переменная MenuBar App

=================================================================
  Объявление  MenuBar: PMenuView = nil;

  Функция     Сохраняет указатель   на   полосу   меню    программы
              (наследник TMenuView).       Переменная       MenuBar
              инициализируется с   помощью    TProgram.InitMenuBar,
              которая вызывается через TProgram.Init.  Значение nil
              указывает, что программа не имеет полосы меню.



Функция Message Views

=================================================================
  Объявление function Message(Receiver: PView; What, Command: Word;
                              InfoPtr: Pointer): Pointer;

  Функция     Устанавливает событие-команду  с  аргументами   What,
              Command или InfoPtr,  затем,  если возможно, вызывает
              Receiver^.HandleEvent для  обработки  этого  события.
              Message возвращает nil, если Receiver - nil или, если
              событие не обработано успешно.  Если событие  успешно
              обработано (HandleEvent   возвращает  Event.What  как
              evNothing), функция     возвращает     Event.InfoPtr.
              Последний может  быть  использован  для  определения,
              каким видимым элементом обработано  событие.  Аргумет
              What обычно  устанавливается в evBroadcast. Например,
              по умолчанию TscrollBar.ScrollDraw посылает следующее
              сообщение в полосу скроллинга владельца:

            Message(Owner, evBroadcast, cmScrollBarChanged, @Self);

              Это сообщение    гарантирует,   что   соответствующие
              видимые элементы  перерисуются  как  только  значение
              полосы скроллинга изменится.

  См. также  TView.HandleEvent, тип TEvent, константы cmXXXX,
             константы evXXXX.



Переменная MinWinSize Views

=================================================================
  Объявление  MInWinSize: TPoint = (X: 16; Y: 6);

  Функция     Определяет минимальный   размер   TWindow   или   его
              потомков. Значение  возвращается  в параметре Min при
              вызове TWindow.SizeLimits.    Любые    изменения    в
              MinWinSize будут  воздействовать  на  все окна,  если
              только метод SizeLimits окна не перекрыт.

  См. также   TWindow.SizeLimits



Переменная MouseButtons Drivers

=================================================================
  Объявление  MouseButtons: Byte;

  Функция     Содержит текущее состояние кнопок мышки. MouseButtons
              корректируется  обработчиком  прерываний  мышки   как
              только  кнопка нажата или отпущена.  Константы mbXXXX
              могут быть использованы для проверки MouseButtons.

  См. также   константы mbXXX.



Переменная MouseEvents Drivers

=================================================================
  Объявление  MouseEvents: Boolean = False;

  Функция     Устанавливается в  True,  если мышка инсталлирована и
              обнаружена InitEvents;    в     противном     случае,
              устанавливается в False. Если False, то все процедуры
              событий от мышки обходятся.

  См. также   GetMouseEvent.


                              Назад | Содержание | Вперед

 

 

\

Подписка на новости IT-портала citforum.ck.ua
(библиотека, citforum.ck.ua, CitCity)

Новые публикации:

12 марта

  • Восход и закат High Performance Fortran: наглядный урок истории (пересказ: С.Кузнецов)
  • citforum.ck.ua:

    Новые Блогометки:

  • Ccze: хорошее модульное средство подсветки логов
  • PWSafe - кроссплатформенное средство для работы с паролями
  • colordiff - подсветка для diff
  • psmisc: рассмотрим ближе стандартный пакет
  • Работа с сетью
  • xkb, узелок на память
  • ffmpeg-php
  • debiannotes:desktop:prettyfonts
  • 5 марта

    citforum.ck.ua:

  • Ричард Столлман в Москве
  • О мудром доценте замолвите слово... (Интенсификация Малаховна)
  • Новые Блогометки:

  • "Десктопизация" OpenBSD
  • weather: проверяйте сводку и прогноз погоды из командной строки
  • hpodder: клиент подкастов, который просто работает
  • bc: язык численных расчетов с произвольной точностью
  • Decibel: аудиоплеер для людей
  • GNU Wget: загрузите весь понравившийся сетевой контент на локальный компьютер
  • Deborphan: найдите ненужные пакеты
  • Kivio: мощный и простой в использовании редактор блок-схем
  • Cowsay: настраиваемая говорящая и думающая корова
  • Thoggen: основанная на GTK+ программа для извлечения видео с DVD
  • 28 февраля

  • Подбор и развитие команд
    Глава из книги «Руководство командой разработчиков программного обеспечения. Прикладные мысли» (С.Архипенков)
  • citforum.ck.ua:

    Дискуссия об анонимусах:

  • К комментаторам
  • Windows против Linux - психологический портрет участников форумов
  • Новые Блогометки:

  • Nokia N810 - Linux Inside
  • LiMo - стандарты Linux для сотовых телефонов
  • timer-applet: таймер для панели GNOME
  • Debfoster: удалите пакет и все его зависимости
  • GPW: генератор произносимых паролей
  • AMOR: общество для рабочего стола
  • 20 февраля

    citforum.ck.ua:

    Новые Блогометки:

  • Кое-что о приложениях KDE 4
  • Инструкция по установке KDE 4 в Ubuntu
  • Настоящие мужчины ставят KDE из SVN!
  • Начат переход Amarok на Qt 4.4
  • Marble
  • Dillo - сверхбыстрый браузер
  • Создаем резервные копии настроек программ и важных файлов в Ubuntu LInux
  • NTP: всегда вовремя
  • VYM - простое средство зарисовки мыслей и планирования
  • KBibTeX: простой и гибкий редактор библиографий для KDE
  • Дискуссия Windows vs Linux:

  • Жил-был Мальчик, или Сказочка о Том, Откуда Берутся "КУЛХАЦКЕРЫ", ненавидящие Линукс и Юникс
  • 13 февраля

  • Терминологический словарь Wi-Fi
  • Задача проектирования базы данных методом нормализации
  • CitCity:

  • Лучшие смартфоны начала 2008 года
  • citforum.ck.ua:

  • Первый взгляд на Firefox 3.0
  • Open Source на Белгородщине: семинар в Старом Осколе
  • Что такое KDE?
  • Цикл о Slackware:

  • Русский в консоли
  • Быстрая настройка Иксов
  • xorgconfig - консольный подход
  • 6 февраля

    citforum.ck.ua:

  • Мобильный Linux – вчера, сегодня, завтра
  • Чем записать диски в Linux? Попробуй Brasero!
  • Консольные команды
  • Рецепты. Кое-что о программе mplayer
  • Slackware:
    • Что такое Slackware?
    • Установка Slackware - Загрузка
    • Категории программного обеспечения
    • Структура файловой системы
    • Система инициализации Slackware Linux
    • Скрипты инициализации уровня запуска

    30 января

  • Обзор алгоритмов MOLAP
  • CitCity:

  • BI-технологии 2007. Итоги года
  • Рынок СУБД для Хранилищ данных 2007. Итоги года, тенденции
  • Обзор рынка BI (по результатам исследований IDC, OLAP Report, Gartner)
  • Модель зрелости BI
  • citforum.ck.ua:

  • Владимир Попов: За что я люблю Linux
  • Священные войны
  • 23 января

  • Data Mining от Oracle: настоящее и будущее
  • Комментарии к статье Ч.Бергера «Data Mining от Oracle: настоящее и будущее»
  • Байесовский классификатор и регрессионная модель в ORTD: практический пример
  • citforum.ck.ua:

    Дискуссия Windows vs Linux:

  • Программисты и фирмы: кто кого
  • О "чистых пользователях"
  • Новые Блогометки:

    • Почему Jabber, а не ICQ?
    • Archlinux install quick
    • Arch на IBM Z60m
    • Arch + IBM R50e
    • OpenBSD - сборка E17-cvs (или ещe одна маленькая победа разума)
    • OpenBSD - всe для Человека и ради Человека...
    • PekWM
    • E17 и "прозрачность"
    • E17 - приятные мелочи (multimedia)
    • SuSE + Enlightenment = угробил целый день

    16 января

  • Вьетнам компьютерной науки (пересказ - С.Кузнецов)
  • Пример построения автоматизированного управления дисками (ASM) (В. Пржиялковский)
  • CitCity:

  • 2008 год: антипрогноз
  • citforum.ck.ua:

    Новые Блогометки:

    Сети и Интернет:

    • Mozilla firefox. Шрифты в меню
    • Screen tips
    • Liferea: программа чтения RSS для GNOME
    • HTTrack: скачивание и зеркалирование сайтов
    • Clusterssh: работа с несколькими сеансами SSH через общий интерфейс

    Десктопы:

    • Fluxbox & xinitrc. Some new tips
    • Как я конфигурировал xdm

    Системы:

    • SuSE 10.2: zypper - еще один способ установки пакетов
    • cpipe: определите пропускную способность конвейера команд
    • gddrescue: средство восстановления данных с поврежденных носителей
    • VirtualBox: ваш виртуальный ПК

    Приложения:

    • MyTop: top для MySQL

    10 января

    citforum.ck.ua:

    Дискуссионный клуб:

  • Краткое руководство по общению с никсофилами (Интенсификация Малаховна Сергина-Гейтс)
  • О троллях
  • Пещера горного короля: заметки о троллинге
  • Новые Блогометки:

    Сети и Интернет:

    • Делаем блог на Drupal
    • Использование lftp
    • Устанавливаем FTP сервер ProFTPd с TLS шифрованием
    • Управляем файлами на FTP сервере с помощью FileZilla

    Десктопы:

    • fluxbox.autorun
    • 15 человек на сундук мертвеца! (или песнь о зарытых сокровищах)

    Системы:

    • Живой Debian или рабочее место в кармане
    • Разбивка hdd

    Приложения:

    • Cat Excel files
    • Vim: меню выбора кодировок

    26 декабря

    citforum.ck.ua:

  • В Блогометках открыты разделы:
    • Софт для Windows
    • Сети и Интернет
  • dwm. От статики к динамике
  • Установил Solaris
  • Новая Дискуссия:
    • Нужен ли русский Linux?

    19 декабря

  • SQL Anywhere: встраиваемая СУБД
  • citforum.ck.ua:

  • В разделе Блогометки появились рубрики:
    • Десктопы
    • Приложения
    • Системы
  • Подробно о разделе: Блоги и блогометки: открываем сезон промывки
  • 13 декабря

    CitCity:

  • Microsoft и Барселона: сюрреализм?
  • citforum.ck.ua:

  • Открыт новый раздел Блогометки
  • ZFS в подробностях. 1. Былое и ныне
  • 5 декабря

  • Архитектура предприятия: основные определения
  • Архитектуры для государственных ведомств. Примеры
  • Обзор журнала Computer:

  • Высокопроизводительные встроенные системы
  • citforum.ck.ua:

  • Продолжение цикла Linux для начинающих:
    • Пользовательские интерфейсы
    • Файлы
    • Системы настройки

    Все публикации >>>




IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей Пресс-релизы -
Послать комментарий
Информация для авторов
Rambler's Top100 хостинг от .masterhost This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...