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

Friday, 14-Mar-2008 17:12:12 EET

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

TMenuBox Menus


                  +------------+
                  |   TObject  |
                  +------+-----+
                  +------+-----+
                  |    TView   |
                  +------+-----+
                  +------+-----+
                  | TMenuView  |
                  +----+---+---+
              +--------+   +------+
         +----+-----+        +====+=====+
         | TMenuBar |        | TMenuBox |
         +----------+        +==========+

         Объекты MenuBox представляют  вертикальные  прямоугольники
         меню. Они  могут  содержать произвольный список выбираемых
         действий, включая элементы подменю.  Как и в полосе  меню,
         для указания   запрещенных  элементов  используется  цвет.
         Прямоугольники меню могут создаваться как  подменю  полосы
         меню или    других    прямоугольников   меню   или   могут
         использоваться как отдельные выпадающие меню.


 Методы

 Init    constructor   Init(var  Bounds:  TRect;    Amenu:   PMenu;
                            AParentMenu: PMenuView);
         Init настраивает  параметр Bounds в соответствии с шириной
         и длиной элементов в AMenu,  затем  создает  прямоугольник
         меню, вызывая TMenuView.Init.
         Бит ofPreProcess в  поле  Options  установлен  так,  чтобы
         могли использоваться   горячие  клавиши.  Установка  State
         включает sfShadow.  Поле меню установлено в AMenu, которое
         задает элементы   меню.   Поле  ParentMenu  установлено  в
         AParentMenu.

         См. так же: TMenuView.Init, sfXXXX флаги состояний, ofXXXX
         флаги опций, TMenuView.Menu, TMenuView.ParentMenu

 Draw    procedure Draw; virtual;              Перекрывается: Редко
         Рисует рамку прямоугольника меню и элементы меню цветом по
         умолчанию.

 GetItemRect  procedure  GetItemRect(Item: PMenuItem; var R: TRect;
                                    virtual;   Перекрывается: Редко
         Перекрывает абстрактный   метод  в  TMenuView.  Возвращает
         прямоугольник, занятый элементом  меню.  Используется  для
         определения, находится   ли   отметка   мышкой  на  данном
         элементе меню.

         См. так же: TMenuView.GetItemRect


 Палитра

         Прямоугольники меню,  как и  все  видимые  элементы  меню,
         используют  палитру по умолчанию CMenuView для отображения
         элементов со 2 по 7 в палитру стандартной программы.

                  1    2    3    4    5    6
               +====+====+====+====+====+====+
CMenuView      |  2 |  3 |  4 |  5 |  6 |  7 |
               +==+=+==+=+==+=+==+=+==+=+==+=+
Нормальный текст -+    |    |    |    |    +-- Короткий выбранный
Запрещенный текст -----+    |    |    +------ Запрещенный выбранный
Короткий текст -------------+    +------------ Нормальный выбранный



TMenuView Menus


                  +------------+
                  |   TObject  |
                  +------+-----+
                  +------+-----+
                  |    TView   |
                  +------+-----+
                  +======+=====+
                  | TMenuView  |
                  +====+===+===+
              +--------+   +------+
         +----+-----+        +----+-----+
         | TMenuBar |        | TMenuBox |
         +----------+        +----------+

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


 Поля

 ParentMenu  ParenMenu: PMenuView;                    Только чтение
         Указатель на объект TMenuView (или порожденный  от  него),
         который владеет  этим  меню.  Заметим,  что TMenuView - не
         группа. Здесь  принадлежность  намного  проще,   чем   для
         TGroup, позволяя   вложенность   меню:   выбор  подменю  и
         обратный возврат в "родительское" меню.  Выборы  из  полос
         меню, например,  обычно приводят к "выпаданию" подменю.  В
         этом случае полоса меню - предок прямоугольника меню.

         См. так же: TMenuBox.Init

 Menu    Menu: PMenu;                                 Только чтение
         Указатель на запись TMenu для этого меню, которая содержит
         связанный список элементов меню.  Указатель меню позволяет
         обращаться ко всем полям элементов меню в видимом элементе
         меню.

         См. так же: TMenuView.FindItem, TMenuView.GetItemRect, тип
         TMenu

 Current  Current: PMenuItem;                         Только чтение
         Указатель на текущий выбранный элемент меню.


 Методы

 Init    constructor Init(var Bounds: TRect);
         Вызывает TView.Init,  чтобы   создать   объект   TMenuView
         размера Bounds.   По  умолчанию  EventMask  установлено  в
         evBroadcast. Этот метод не предназначен  для использования
         с экземплярами  объектов  TMenuView.  Он  предназначен для
         вызова из порожденных типов TMenuBar и TMenuBox.

         См. так   же:   TView.Init,   evBroadcast,  TMenuBar.Init,
         TMenuBox.Init

 Load    constructor TMenuView.Load(var S: TStream);
         Создает объект  TMenuView  и  загружает  его  из  потока S
         вызывая TView.Load,  а затем загружая  элементы  в  список
         меню.

         См. так же: TView.Load, TMenuView.Store

 Execute  function Execute: Word; virtual;   Перекрывается: Никогда
         Выполняет видимый  элемент   меню   до   тех   пор,   пока
         пользователь не  выберет  элемент меню или не отменит этот
         процесс. Возвращает   команду,   назначенную    выбранному
         элементу меню,  или 0, если меню было отменено. Этот метод
         должен вызываться только из ExecView.

         См. так же: TGroup.ExecView

 FindItem  function FindItem(Ch: Char): PMenuItem);
         Возвращает указатель на элемент меню, который имеет Ch как
         горячую клавишу  (подсвеченный  символ).  Возвращает  nil,
         если такой  элемент  не  найден или этот элемент запрещен.
         Заметим, что для Ch не различаются  прописные  и  строчные
         буквы.

 GetItemRect  procedure GetItemRect(Item: PMenuItem; var R: TRect);
                                   virtual;   Перекрывается: Всегда
         Этот метод возвращает в R прямоугольник, занимаемый данным
         элементом меню.  Используется  для определения,  не был ли
         отмечен данный элемент мышкой. Наследники TMenuView должны
         перекрывать этот  метод  для  того,  чтобы  откликаться на
         события от мышки.

         См. так же: TMenuBar.GetItemRect, TMenuBox.GetItemRect

 GetHelpCtx  function GetHelpCtx: Word; virtual;
                                              Перекрывается: Иногда
         По умолчанию  этот  метод  возвращает  контекст  подсказки
         текущего элемента меню.  Если это hcNoContext,  выбирается
         текущий контекст  родительского  меню.  Если родительского
         меню нет, GetHelpCtx возвращает hcNoContext.

         См. так же: hcXXXX константы контекста help

 GetPalette  function GetPalette: PPalette; virtual;
                                              Перекрывается: Иногда
         Возвращает указатель на палитру по умолчанию CMenuView.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                             Перекрывается: Никогда
         Вызывается для обработки событий меню.  Определяет,  какой
         элемент меню  был  выбран  мышкой или клавиатурой (включая
         горячие клавиши) и  генерирует  соответствующее  командное
         событие через PutEvent.

         См. так же: TView.HandleEvent, TView.PutEvent

 HotKey  function HotKey(KeyCode: Word): PMenuItem;
         Возвращает указатель на элемент меню,  связанный с горячей
         клавишей, заданной через KeyCode.  Возвращает nil, если не
         существует такого элемента меню или если элемент запрещен.
         Горячие клавиши  -  это  обычно функциональные клавиши или
         комбинации Alt ключей и определяются аргументами в вызовах
         NewItem и    NewSubMenu    в   InitMenuBar.   Этот   метод
         используется в  TMenuView.HandleEvent   для   определения,
         будет ли событие от клавиатуры вибирать элемент меню.

 Store   procedure Store(var S: TStream);
         Сохраняет объект TMenuView (и его  подменю)  в  потоке  S,
         вызывая TView.Store, а затем записывая каждый элемент меню
         в поток.

         См. так же: TMenuView.Load


 Палитра

         Все видимые элементы меню используют палитру  по умолчанию
         CMenuView  для  отображения  элементов со 2 по 7 в палитру
         стандартной программы.

                  1    2    3    4    5    6
               +====+====+====+====+====+====+
CMenuView      |  2 |  3 |  4 |  5 |  6 |  7 |
               +==+=+==+=+==+=+==+=+==+=+==+=+
Нормальный текст -+    |    |    |    |    +-- Короткий выбранный
Запрещенный текст -----+    |    |    +------ Запрещенный выбранный
Короткий текст -------------+    +------------ Нормальный выбранный



TObject Objects


                     +===========+
                     |  TObject  |
                     ++=+=+=+=+=++
            +---------+ | | | | +---------+
    +-------+-------+   | | | |   +-------+-------+
    |  TCollection  |   | | | |   | TResourceFile |
    +---------------+   | | | |   +---------------+
            +-----------+ | | +----------+
    +-------+-------+     | |    +-------+-------+
    |   TStream     |     | |    | TStringList   |
    +---------------+     | |    +---------------+
            +-------------+ +-------------+
    +-------+-------+             +-------+-------+
    | TStrListMaster|             | TView         |
    +---------------+             +---------------+

         TObjеct - это  начальная  точка  иерархии  объектов  Turbo
         Vision. Как  базовый объект он не имеет предков,  но имеет
         множество потомков.  Кроме TPoint и ТRect все  стандартные
         объекты Turbo   Vision   порождены  в  конечном  счете  от
         TObject. Любой объект,  использующий потоки Turbo  Vision,
         должен происходить от TObject.


 Методы

 Init    constructor Init;
         Распределяет память в куче для  объекта  и  заполняет  его
         нулями. Вызывается   из   констракторов  всех  порожденных
         объектов. Заметим,  что TObject.Init будет  заполнять  все
         поля в потомках так, что Вы должны вызвать TObject.Init до
         инициализации любых  полей  в  констракторах   порожденных
         объектов.

 Free    procedure Free;
         Освобождает объект и вызывает дестрактор Done.

 Done    destructor Done; virtual;
         Выполняет необходимую  очистку и освобождение динамических
         объектов.



TParamText Dialogs


         TParamText порожден  от  TStaticText,  который  использует
         параметризованные строки  текста  для  форматного  вывода,
         используя процедуру FormatStr.


 Поля

 ParamCount  ParamCount: Integer;
         ParamCount указывает   число  параметров,  содержащихся  в
         ParamList.

         См. так же: TParamText.ParamList

 ParamList  ParamList: Pointer;
         ParamList -  это  нетипированный  указатель  на массив или
         запись указателей или значений типа  LongInt, используемый
         как параметр форматирования для текстовой строки.


 Методы 

 Init    constructor    Init(var  Bounds:  TRect;   AText:  String;
                             AParamCount: Integer);
         Инициализирует объект   статического    текста,    вызывая
         TStaticText.Init с  заданным  Bounds  и  текстовой строкой
         AText, которая может  содержать  спецификаторы  формата  в
         форме %[-][nnn]X,  который  будет  замещаться параметрами,
         переданными во   время   выполнения.   Число   параметров,
         переданных в  ParamCount,  присваивается  полю ParamCount.
         Спецификаторы формата   детально   описаны   в   процедуре
         FormatStr.

         См. так же: TStaticText.Init, FormatStr процедуры

 Load    constructor Load(var S: TStream);
         Распределяет объект TParamText  в  куче  и  загружает  его
         занчение из  потока  S,  вызывая  TStaticText.Load,  затем
         читая поле ParamCount из потока.

         См. так же: TStaticText.Load

 DataSize  function DataSize: Word; virtual;
         Возвращает размер  данных,  требуемый параметрами объекта,
         т.е. ParamCount*SizeOf(LongInt).

 GetText  procedure GetText(var S: String); virtual;
         Создает форматированную   строку   текста  в  S,  выполняя
         объединение параметров,  заданных в ParamList в  текстовую
         строку  Text  с   помощью    вызова   FormatStr(S,  Text^,
         ParamList^).

         См. так же: FormatStr процедуры

 SetData  procedure SetData(var Rec); virtual;
         Этот видимый  элемент  читает DataSize байт в ParamList из
         Rec.

         См. так же: TView.SetData

 Store   procedure Store(var S: TStream);
         Сохраняет объект  в  потоке S,  вызывая TStaticText.Store,
         затем записывая поле ParamCount в поток.

         См. так же: TStaticText.Store


 Палитра

         Объекты TParamText   используют   палитру   по   умолчанию
         CStaticText для   отображения   6-го  элемента  в  палитру
         стандартного диалога.

                               1
                             +===+
             CStaticText     | 6 |
                             +=+=+
                    Текст -----+



TPoint Objects


         TPoint -  это  простой  объект,  представляющий  точку  на
         экране.


 Поля 

 X       X: Integer;
         Х - это колонка точки на экране.

 Y       Y: Integer;
         Y - это строка точки на экране.



TProgram App


                    +---------+
                    | TObject |
                    +----+----+
                    +----+----+
                    |  TView  |
                    +----+----+
                    +----+----+
                    | TGroup  |
                    +-+--+--+-+
           +----------+  |  +------------+
      +----+----+   +----+-----+  +======+=======+
      | TWindow |   | TDeskTop |  | TProgram     |
      +----+----+   +----------+  +======+=======+
      +----+----+                 +------+-------+
      | TDialog |                 | TApplication |
      +---------+                 +--------------+

         TProgram обеспечивает    базовую    заготовку   для   всех
         стандартных программ на Turbo Vision.  Все такие программы
         должны порождаться    от    TProgram   или   его   потомка
         TApplication. TApplication отличается от  TProgram  только
         констрактором и     дестрактором.     2    типа    объекта
         предоставляются для   большей   гибкости   при    создании
         нестандартных   программ.   В   большинстве  случает  Ваша
         программа  будет  порождаться  от  TApplication.  TProgram
         порождается  от  TGroup,  поскольку  она  должна содержать
         объекты TDeskTop, TStatusLine и TMenuBar.


 Методы 

 Init    constructor Init;                    Перекрывается: Иногда
         Устанавливает глобальную  переменную  Application в @Self;
         вызывает TProgram.InitScreen для инициализации переменных,
         определяющих режим экрана;  вызывает TGroup.Init передавая
         прямоугольник Bounds равный полному  экрану; устанавливает
         поле State  в sfVisible + sfSelected + sfFocused + sfModal
         + sfExposed; устанавливает поле Options в 0; устанавливает
         поле Buffer   в   адрес   экранного  буфера,  заданного  в
         ScreenBuffer; наконец вызывает InitDeskTop, InitStatusLine
         и InitMenuBar  и  вставляет  эти видимые элементы в группу
         TProgram.

         См. так     же:     TGroup.Init,     TProgram.InitDeskTop,
         TProgram.InitStatusLine, TProgram.InitMenuBar

 Done    destructor Done; virtual;            Перекрывается: Иногда
         Освобождает объекты   DeskTop,   MenuBar  и  StatusLine  и
         устанавливает глобальную переменную Application в nil.

         См. так же: TGroup.Done

 GetEvent  procedure GetEvent(var Event: TEvent); virtual;
                                               Перекрывается: Редко
         По умолчанию   TView.GetEvent   просто  вызывает  GetEvent
         своего владельца и поскольку TProgram (или TApplication) в
         конечном итоге   являются   владельцем   любого   видимого
         элемента, любой вызов GetEvent будет приводить к TProgram.
         GetEvent (если   только   видимый   элемент  не  перекроет
         GetEvent)
         TРrogram.GetEvent вначале  проверяет,  не  сгенерировал ли
         TProgram.PutEvent событие. Если да, то GetEvent возвращает
         это событие.   Если   нет   пришедшего  события,  GetEvent
         вызывает GetMouseEvent;  если  тот  возвращает  evNothing,
         вызывается GetKeyEvent,  если  оба  возвращают  evNothing:
         указывая, что нет ввода от пользователя, GetEvent вызывает
         TProgram.Idle, чтобы     запустить    "фоновые"    задачи,
         выполняемые во время ожидания ввода  от  пользователя.  До
         возврата GetEvent   передает   все   события  evKeyDown  и
         evMouseDown в StatusLine для отображения в ассоциированные
         события от горячих клавиш evCommand.

         См. так же: TProgram.PutEvent, GetMouseEvent, GetKeyEvent

 GetPalette  function GetPalette: PPalette; virtual;
                                              Перекрывается: Иногда
         Возвращает указатель на палитру, заданную индексом палитры
         в глобальной переменной AppPalette.  TProgram поддерживает
         3   палитры:   apColor,   apBlackWhite   и   apMonochrome.
         Переменная       AppPalette       инициализируется       в
         TProgram.InitScreen.

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

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                              Перекрывается: Всегда
         Обрабатывает событие  от  клавиатуры  от  Alt-1  до  Alt-9
         генерируя событие evBroadcast с значением  Command  равным
         cmSelectWindowNum и      значением      InfoInt      19.
         TWindow.HandleEvent реагирует на такие  сообщения, выбирая
         окно с данным номером.
         Обрабатывает событие evCommand со значением Command равным
         cmQuit вызывая   EndModal(cmQuit)   которое   приводит   к
         завершению программы.
         TProgram.Handle почти  всегда  перекрывается  для введения
         обработки команд, специфичных для Вашей программы.

         См. так же: TGroup.HandleEvent

 Idle    procedure Idle; virtual;             Перекрывается: Иногда
         Idle вызывается из TProgram.GetEvent когда очередь событий
         пуста, позволяя программе  выполнять  фоновые  задачи  при
         ожидании ввода от пользователя.
         По умолчанию  TProgram.Idle  вызывает  StatusLine^.Update,
         чтобы разрешить    строке   статуса   обновлять   себя   в
         соответствии с текущим констекстом подсказки.  Затем, если
         набор команд    изменился    после    последнего    вызова
         TProgram.Idle, генерируется   evBroadcast   со   значением
         Command равным    cmCommandSetChanged,   чтобы   разрешить
         видимому элементу, который зависит от этого набора команд,
         разрешить или запретить себя.
         Если Вы перекрываете Idle,  всегда  вызывайте  наследуемый
         Idle. Так  же убедитесь,  что любые задачи,  выполняемые в
         Вашем Idle,  не  занимают  слишком  большого   времени   в
         программе, поскольку    это    будет    блокировать   ввод
         пользователя.

 InitDeskTop procedure InitDeskTop; virtual;   Перекрывается: Редко
         Создает  объект   TDeskTop   для   программы  и  сохраняет
         указатель на  него  в   глобальной   переменной   DeskTop.
         InitDeskTop вызывается в TProgram.Init и никогда не должен
         вызываться прямо.   InitDeskTop   может   быть    перекрыт
         созданием потомка от TDeskTop.

         См. так же: TProgram.Init, TDeskTop, TWindow.Init

 InitMenuBar procedure InitMenuBar; virtual;  Перекрывается: Всегда
         Создает объект  TMenuBar   для   программы   и   сохраняет
         указатель на  него  в  глобальной  переменной  в  MenuBar.
         InitMenuBar вызывается в TProgram.Init и никогда не должен
         вызываться прямо.  InitMenuBar  почти всегда перекрывается
         потомком от TMenuBar, определенным пользователем.

         См. так же: TProgram.Init, TMenuBar, TWindow.Init

 InitScreen procedure InitScreen; virtual;    Перекрывается: Иногда
         Вызывается из   TProgram.Init   и   TProgram.SetScreenMode
         каждый раз,  когда  режим  экрана   инициализируется   или
         изменяется. Это  метод,  который  действительно  выполняет
         обновление и  настройку  переменных,  определяющих   режим
         экрана для размера тени, маркеров и палитры программы.

         См. так же: TProgram.Init, TProgram.SetScreenMode

 InitStatusLine procedure InitStatusLine; virtual;
                                              Перекрывается: Всегда
         Создает объект   TStatusLine  для  программы  и  сохраняет
         указатель на него в глобальной  переменной  в  StatusLine.
         InitStatusLine  вызывается  в  TProgram.Init  и никогда не
         должен  вызываться  прямо.  InitStatusLine  почти   всегда
         перекрывается   потомком   от   TStatusLine,  определенным
         пользователем.

         См. так же: TProgram.Init, TStatusLine

 OutOfMemory procedure OutOfMemory; virtual;   Перекрывается: Часто
         OutOfMemory вызывается     из    TProgram.ValidView    для
         определения, что  LowMemory  -  True.  OutOfMemory  должна
         сообщать пользователю,   что   недостаточно   памяти   для
         выполнения операции.  Например с использованием  программы
         MessageBox из модуля StdDlg:

         procedure TMyApp.OutOfMemory;
         begin
           MessageBox('Not enough memory to complete operation.',
                      nil, mfError + mfOKButton);
         end;

         См. так же: TProgram.ValidView, LowMemory

 PutEvent procedure PutEvent(var Event: TEvent); virtual;
                                               Перекрывается: Редко
         По умолчанию   TView.PutEvent   просто  вызывает  PutEvent
         своего владельца  и   поскольку   объект   TProgram   (или
         TApplication) в  конечном счете является владельцем любого
         видимого элемента, каждый вызов PutEvent будет приводить к
         TProgram.PutEvent (если только видимый элемент не перекрыл
         PutEvent).
         Program.PutEvent сохраняет  копию записи PutEvent в буфере
         и следующий вызов в  TPreogram.GetEvent  будет  возвращать
         эту копию.

         См. так же: TProgram.GetEvent, TView.PutEvent

 Run     procedure Run; virtual;               Перекрывается: Редко
         Выполняет TProgram,   вызывая   метод   Execute   (который
         TProgram наследует от TGroup).

         См. так же: TGroup.Execute

 SetScreenMode procedure SetScreenMode(Mode: Word);
         Устанавливает режим  экрана.  Mode  -  одна  из   констант
         smCO80, smBW80  или  smMono с дополнительным smFont8x8 для
         выбора 43-  или  50-строчного  режима  на  EGA  или   VGA.
         SetScreenMode скрывает  мышку,  вызывает  SetVideoMode для
         изменения режима   экрана,   вызывает    InitScreen    для
         инициализации переменных    режима    экрана,    назначает
         ScreenBuffer в TProgram.Buffer,  вызывает  ChangeBounds  с
         новым прямоугольником экрана и, наконец, показывает мышку.

         См. так   же:  TProgram.InitScreen,  SetVideoMode,  smXXXX
         константа

 ValidView function TProgram.ValidView(P: PView): PView;
         Проверяет правильность  вновь созданных видимых элементов,
         возвращая Р,  если видимый элемент правильный и nil - если
         нет. Во-первых,  если Р - nil,  возвращается значение nil.
         Во-вторых, если LowMemory -  True,  при  вызове  ValidView
         видимый элемент,  заданный в Р,  освобождается, вызывается
         метод OutOfMemory и возвращается значение  nil. В-третьих,
         если вызов  P^.Valid(cmValid)  возвращает  False,  видимый
         элемент освобождается и возвращается значение  nil.  Иначе
         видимый элемент   считается   правильным   и  возвращается
         указатель на этот видимый элемент Р.
         ValidView часто  используется  для  проверки  правильности
         нового видимого элемента  до  вставки  его  во  владельца.
         Например, следующий     оператор    показывает    типичную
         последовательность создания,  проверки  и  вставки  нового
         окна в  панель  экрана (TProgram.ValidView и TGroup.Insert
         знают как   игнорировать    возможные    указатели    nil,
         возникающие в результате ошибок).

         DeskTop^.Insert(ValidView(New(TMyWindow, Init(.))));

         См. так же: LowMemory, TProgram.OutOfMemory, Valid методы


Палитра

         Палитра для    объекта-программа    управляет     конечным
         отображением  цвета всех видимых элементов программы.  Все
         отображения других палитр приводят  к  выбору  элемента  в
         палитре программы,  которая задает атрибуты текста. Первый
         элемент  используется  в  TBackground  для  цветов   фона.
         Элементы со 2 по 7 используются меню и строкой статуса.

               1   2   3   4   5   6   7
             +===+===+===+===+===+===+===+
CColor       |$71|$70|$78|$74|$20|$28|$24|
             +===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+
CBlackWhite  |$70|$70|$78|$7F|$07|$07|$0F|
             +===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+
CMonochrome  |$70|$07|$07|$0F|$70|$70|$70|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Фон        ----+   |   |   |   |   |   +-- Короткий выбор
Нормальный текст --+   |   |   |   +------ Запрещенный выбор
Запрещенный текст -----+   |   +---------- Нормальный выбор
Короткий текст ------------+

         Элементы в 8 по 15 используются голубыми окнами.

               8   9   10  11  12  13  14  15
             +===+===+===+===+===+===+===+===+
CColor       |$17|$1F|$1A|$31|$31|$1E|$71|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CBlackWhite  |$07|$0F|$07|$70|$70|$07|$70|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CMonochrome  |$07|$0F|$07|$70|$70|$07|$70|$00|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Рамка пассивна +   |   |   |   |   |   |   +-- Зарезервировано
Рамка активна -----+   |   |   |   |   +- Выбранный текст скроллера
Кнопка рамки ----------+   |   |   +---- Нормальный текст скроллера
Страница скроллинга -------+   +-------- Зарезервировано


         Элементы с 16 по 23 используются бирюзовыми окнами.

               16  17  18  19  20  21  22  23
             +===+===+===+===+===+===+===+===+
CColor       |$37|$3F|$3A|$13|$13|$3E|$21|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CBlackWhite  |$07|$0F|$07|$70|$70|$07|$70|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CMonochrome  |$07|$0F|$07|$70|$70|$07|$70|$00|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Рамка пассивна +   |   |   |   |   |   |   +-- Зарезервировано
Рамка активна -----+   |   |   |   |   +- Выбранный текст скроллера
Кнопка рамки ----------+   |   |   +---- Нормальный текст скроллера
Страница скроллинга -------+   +-------- Зарезервировано


         Элементы с 24 по 31 используются серыми окнами.

               24  25  26  27  28  29  30  31
             +===+===+===+===+===+===+===+===+
CColor       |$70|$7F|$7A|$13|$13|$70|$7F|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CBlackWhite  |$70|$7F|$7F|$70|$07|$70|$07|$00|
             +===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+
CMonochrome  |$70|$70|$70|$07|$07|$70|$07|$00|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Рамка пассивна +   |   |   |   |   |   |   +-- Зарезервировано
Рамка активна -----+   |   |   |   |   +- Выбранный текст скроллера
Кнопка рамки ----------+   |   |   +---- Нормальный текст скроллера
Страница скроллинга -------+   +-------- Зарезервировано

         Элементы с 32 по 63 используются диалоговыми  окнами.  См.
         TDialog для отдельных элементов.

               32  33  34  35  36  37  38  39  40
             +===+===+===+===+===+===+===+===+===+
CColor       |$17|$1F|$1A|$31|$31|$31|$1E|$71|$00|
             +===+===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+===+
CBlackWhite  |$07|$0F|$07|$70|$70|$70|$07|$70|$00|
             +===+===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+===+
CMonochrome  |$07|$0F|$07|$70|$70|$70|$07|$70|$00|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Рамка пассивна +   |   |   |   |   |   |   |   +-- Короткая метка
Рамка активна -----+   |   |   |   |   |   +- Подсвеченная метка
Кнопка рамки ----------+   |   |   |   +----- Нормальная метка
Страница скроллинга -------+   |   +--------- Статический текст
Элементы управления -----------+
скроллинга



               41  42  43  44  45  46  47  48  49
             +===+===+===+===+===+===+===+===+===+
CColor       |$17|$1F|$1A|$31|$31|$31|$1E|$71|$00|
             +===+===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+===+
CBlackWhite  |$07|$0F|$07|$70|$70|$70|$07|$70|$00|
             +===+===+===+===+===+===+===+===+===+
             +===+===+===+===+===+===+===+===+===+
CMonochrome  |$07|$0F|$07|$70|$70|$70|$07|$70|$00|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Нормальная кнопка  |   |   |   |   |   |   |   +-- Короткий кластер
Кнопка по умолчанию+   |   |   |   |   |   +----- Выбранный кластер
Выбранная кнопка-------+   |   |   |   +-------- Нормальный кластер
Запрещенная кнопка---------+   |   +------------ Тень кнопки
Короткая кнопка ---------------+



                     50  51  52  53  54  55  56
                   +===+===+===+===+===+===+===+
CColor             |$1F|$2F|$1A|$20|$72|$31|$31|
                   +===+===+===+===+===+===+===+
                   +===+===+===+===+===+===+===+
CBlackWhite        |$0F|$70|$0F|$07|$70|$70|$70|
                   +===+===+===+===+===+===+===+
                   +===+===+===+===+===+===+===+
CMonochrome        |$07|$70|$07|$07|$70|$07|$07|
                   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Нормальная строка----+   |   |   |   |   |   +- Элементы управления
ввода                    |   |   |   |   |  скроллинга окна истории
Выбранная строка   ------+   |   |   |   +----- Страница скроллинга
ввода                        |   |   |          окна истории
Стрелки строки ввода --------+   |   +---------- Стороны истории
Стрелка истории -----------------+


                     57  58  59  60  61  62  63
                   +===+===+===+===+===+===+===+
CColor             |$30|$2F|$3E|$31|$13|$00|$00|
                   +===+===+===+===+===+===+===+
                   +===+===+===+===+===+===+===+
CBlackWhite        |$07|$70|$0F|$07|$07|$00|$00|
                   +===+===+===+===+===+===+===+
                   +===+===+===+===+===+===+===+
CMonochrome        |$07|$70|$0F|$07|$07|$00|$00|
                   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Нормальный просмотр--+   |   |   |   |   |   +-- Зарезервировано
списка                   |   |   |   |   |
Активный просмотр  ------+   |   |   |   +------ Зарезервировано
списка                       |   |   |
Выбранный просмотр списка ---+   |   +---------- Информационная
Разделитель просмотра списка ----+               панель



TRadioButtons Dialogs


                  +------------+
                  |   TObject  |
                  +------+-----+
                  +------+-----+
                  |    TView   |
                  +------+-----+
                  +------+-----+
                  |  TCluster  |
                  +----+---+---+
              +--------+   +------+
       +======+========+   +------+------+
       | TRadioButtons |   | TCheckBoxes |
       +===============+   +-------------+

         Объекты TRadioButtons - это кластеры, содержащие до 65,536
         элементов управления,  из которых в любой  момент  времени
         может быть  выбрана только одна кнопка.  Выбор невыбранной
         кнопки будет  автоматически   освобождать   предварительно
         выбранную кнопку.   Этот   объект  наследует  от  TCluster
         большую часть  функций,  включая  Init,   Load   и   Done.
         Зависимые кнопки часто ассоциированы с объектом TLabel.
         TRadioButtons интерпретирует       наследуемое        поле
         TCluster.Value как   номер  "нажатой"  кнопки.  С  номером
         первой кнопки в кластере, равным 0.


 Методы

 Draw    procedure Draw; virtual;             Перекрывается: Редко
         Рисует кнопки как ' ( ) ' .

 Mark    function Mark(Item: Integer): Boolean; virtual;
                                             Перекрывается: Никогда
         Возвращает True,  если  Item = Value,  т.е.  если кнопка с
         номером Item представлена текущим значением поля Value.

         См. так же: TCluster.Value, TCluster.Mark

 MovedTo procedure MovedTo(Item: Integer); virtual;
                                             Перекрывается: Никогда
         Присваивает Value значение Item.

         См. так же: TCluster.MovedTo, TRadioButtons.Mark

 Press   procedure Press(Item: Integer); virtual;
                                             Перекрывается: Никогда
         Присваивает Value значение Item.  Вызывается  при  нажатии
         кнопки с номером Item.

 SetData procedure SetData(var Rec); virtual;  Перекрывается: Редко
         Вызывает TCluster.SetData для установки поля  Value, затем
         устанавливает поле  Sel равным Value,  поскольку выбранный
         элемент - это "нажатая" кнопка.

         См. так же: TCluster.SetData



Палитра 

         Объекты TRadioButtons  используют  CCluster  -  палитру по
         умолчанию для  всех  объектов  кластера  для   отображения
         элементов с 16 по 18 в палитру стандартного диалога.

                     1    2    3    4
                  +====+====+====+====+
      CCluster    | 16 | 17 | 18 | 18 |
                  +==+=+==+=+==+=+==+=+
    Нормальный текст      |    |    +--- Короткая выбранная
    Выбранный текст ------+    +-------- Короткая нормальная



TRect Objects



Поля 

 A       A: TPoint
         А -   это   точка,   определяющая   верхний   левый   угол
         прямоугольника на экране.

 B       B: Point
         В -   это   точка,   определяющая   нижний   правый   угол
         прямоугольника на экране.


 Методы

 Assign  procedure Assign(XA, YA, XB, YB: Integer);
         Этот метод    назначает    значения    параметров    полям
         прямоугольника. ХА  становится  А.Х,  ХВ  становится Х.В и
         т.д.

 Copy    procedure Copy(R: TRect);
         Copy устанавливает все поля равными прямоугольнику R.

 Move    procedure Move(ADX, ADY: Integer);
         Перемещает прямоугольник,  добавляя ADX  к  A.X  и  B.X  и
         добавляя ADY к A.Y и B.Y.

 Grow    procedure Grow(ADX, ADY: Integer);
         Изменяет размер  прямоугольника,  вычитая  ADX   из   A.X,
         добавляя ADX к B.X, вычитая ADY из A.Y и добавляя ADY к B.
         Y.

 Intersect procedure Intersect(R: TRect);
         Изменяет положение  и  размер  прямоугольника  до области,
         определенной пересечением текущего положения и R.

 Union   procedure Union(R: TRect);
         Изменяет прямоугольник     до     его     объединения    с
         прямоугольником R;  т.е.  до  наименьшего  прямоугольника,
         содержащего этот объект и R.

 Contains function Contains(P: TPoint): Boolean;
         Возвращает True, если прямоугольник содержит точку P.

 Equals  function Equals(R: TRect): Boolean;
         Возвращает True, если R равен данному прямоугольнику.

 Empty   function Empty: Boolean;
         Возвращает True,  если  прямоугольник  пустой,   т.е.   не
         содержит символьного пространства.  Таким образом поля A и
         B равны.



TResourceCollection Objects


                  +---------+
                  | TObject |
                  +----+----+
                +------+------+
                | TCollection |
                +------+------+
              +--------+----------+
              | TSortedCollection |
              +--------+----------+
              +--------+----------+
              | TStringCollection |
              +--------+----------+
             +=========+===========+
             | TResourceCollection |
             +=====================+

         TResourseCollection порожден   от   TStringCollection    и
         используется с   TSourseFile   для   реализации  коллекции
         ресурсов. Файл ресурсов - это поток, который индексируется
         ключевыми строками.  Следовательно, каждый элемент ресурса
         имеет целое поле Pos  и  строковое  поле  Key.  Перекрытие
         методов TResourseCollection   главным  образом  связано  с
         обработкой дополнительных строк в его элементах.
         TResourseCollection используется      внутри      объектов
         TResourseFile для поддержки индекса файла ресурсов.



TResourceFile Objects


                    +---------+
                    | TObject |
                    +----+----+
                 +=======+=======+
                 | TResourceFile |
                 +===============+

         TResourseFile реализует      поток,      который     может
         индексироваться ключевыми    строками.    Когда    объекты
         сохраняются в файле ресурса,  используя TResourseFile.Put,
         задается ключевая  строка,  которая  идентифицирует   этот
         объект. Объект  может  быть  позже  получен указанием этой
         ключевой строки в вызове TResourseFile.Get.
         Для обеспечения   быстрого   и   эффективного   доступа  к
         объектам, хранящимся в файле ресурса, TResourseFile хранит
         ключевые   строки   в   отсортированной   коллекции  строк
         (используя тип TResourseCollection) вместе  с  позицией  и
         размером  данных  этого  ресурса в файле ресурса.  Как и в
         случае потоков,  типы объектов, записываемые и читаемые из
         файла  ресурсов,  должны  быть  зарегистрированы с помощью
         RegisterType.


Поля

 Stream  Stream: PStream;                            Только чтение
         Указатель на поток, связанный с этим файлом ресурса.

 Modified Modified: Boolean;                         Чтение/Запись
         Установлен в True, если файл ресурса был модифицирован.


Методы 

 Init    constructor Init(AStream: Pstream); Перекрывается: Никогда
         Инициализирует файл  ресурса,  используя  поток,  заданный
         через AStream,  и устанавливает  поле  Modified  в  False.
         Например:

         ResFile.Init(New(TBufStream, Init("MYAPP.RES', stOpenRead,
                      1024)));

         Во время инициализации  Init  смотрит  в  заголовке  файла
         ресурсов текущую позицию в потоке.  Формат заголовка файла
         ресурсов:

         type
           TResFileHeader = record
             Signature: array[14] of Char;
             ResFileSize: Longint;
             IndexOffset: Longint;
           end;

         где Signature содержит 'FBPR', ResFileSize содержит размер
         всего файла ресурсов,  за исключением  полей  Signature  и
         ResFileSize (т.е.   размер   файла   ресурса  -8  байт)  и
         IndexOffset содержит смещение коллекции индексов от начала
         заголовка.
         Если Init не находит заголовка  файла  ресурса  в  текущей
         позиции AStream,  он  считает,  что  создается  новый файл
         ресурса и создает пустой индекс.
         Если Init видит метку .EXE файла в текущей позиции потока,
         он просматривает  поток  до  конца  файла  .EXE   и   ищет
         заголовок файла   ресурса  здесь.  Аналогично  Init  будет
         пропускать оверлейный файл,  добавленный к .EXE файлу (так
         же как OvrInit пропускает файл ресурса). Это означает, что
         Вы можете добавить оверлейный файл и файл ресурса (в любом
         порядке) в  конец .EXE файла Вашей программы.  (Именно это
         сделано с выполнимым файлом IDE - TURBO.EXE).

         См. так же: TResourceFile.Done

 Done    destructor Done; virtual;           Перекрывается: Никогда
         Выталкивает файл  ресурса,  используя TResourseFile.Flush,
         затем освобождает индекс и поток, указанный полем Stream.

         См. так же: TResourceFile.Init, TResourceFile.Flush

 Count   function Count: Integer;
         Возвращает число ресурсов, запомненных в файле ресурсов.

         См. так же: TResourceFile.KeyOf

 Delete  procedure Delete(Key: String);
         Удаляет ресурс,  индексируемый   ключем   Key   из   файла
         ресурсов. Пространство,  ранее занятое удаленным ресурсом,
         не используется.  Вы можете удалить эту память,  используя
         SwitchTo для  создания  упакованной  копии  файла  в новом
         потоке.

         См. так же: TResourceFile.SwitchTo

 Flush   procedure Flush;
         Если файл  ресурса  был  модифицирован  (проверяется  поле
         Modified) Flush  сохраняет  обновленный  индекс  в   конце
         потока и  обновляет  заголовок  ресурса  в  начале потока.
         Затем Modified устанавливается в False.

         См. так же: TResourceFile.Done, TResourceFile.Modified

 Get     function Get(Key: String): PObject;
         Ищет Key  в индексе файла ресурсов.  Возвращает nil,  если
         ключ не найден.  Иначе,  устанавливает поток  на  позицию,
         заданную индексом  и  вызывает  Stream^.Get для создания и
         загрузки объекта по этому индексу. Например

         DeskTop^.Insert(ValidView(ResFile.Get('EditorWindow')));

         См. так же: TResourceFile.KeyAt, TResourceFile.Put

 KeyAt   function KeyAt(I: Integer): String;
         Возвращает ключевую строку для ресурса с номером i в файле
         ресурса. Индекс первого  ресурса  0  и  индекс  последнего
         ресурса TResourseFile.Count-1.  Используя Count и KeyAt Вы
         можете обработать все ресурсы в файле ресурса.

         См. так же: TResourceFile.Count

 Put     procedure Put(Item: PObject; Key: String);
         Добавляет объект,  заданный  через  Р  в  файл  ресурса  с
         ключевой строкой,  заданной в Key.  Если  индекс  содержит
         Key, новый  объект  замещает старый.  Объект добавляется в
         конец существующих объектов файла ресурса с использованием
         Stream^.Put

         См. так же: TResourceFile.Get

 SwitchTo  function  SwitchTo(AStream:   PStream;  Pack:  Boolean):
                             PStream;
         Переключает файл ресурса из его потока в поток, переданный
         через AStream и возвращает указатель на новый поток.
         Если параметр  Pack  равен  True,  поток будет отбрасывать
         пустое и неиспользуемое пространство из файла  ресурса  до
         записи в  новый поток.  Это единственный способ сжать файл
         ресурса. Копирование  с  параметром  Pack  =  False  будет
         выполняться быстрее, но без сжатия.


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

 

 

\

Подписка на новости 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
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...