Я:
Результат
Архив

МЕТА - Украина. Рейтинг сайтов Webalta Уровень доверия



Союз образовательных сайтов
Главная / Предметы / Программирование и комп-ры / Borland C++ Builder


Borland C++ Builder - Программирование и комп-ры - Скачать бесплатно


увидеть  эти  поля  в  инспекторе
объектов и использовать в приложениях их свойства, события и методы.
Использовать Fields Editor нужно следующим образом:
   1. Разместить компонент TTable или TQuery на форме.
   2. Установить свойство DatabaseName для TTable или TQuery.
   3. Установить свойство  TableName  компонента  TTable  или  свойство  SQL
      компонента TQuery.
   4. Выбрать компонент TDataSet на форме  и  нажать  правую  клавишу  мыши,
      после чего появится контекстное меню.
   5. Из контекстного меню выбрать Fields Еditor.  Появится  пустое  окно  с
      заголовком, совпадающим с именем компонента TTable.
   6. Снова нажать правую клавишу мыши над пустым окном  и  из  контекстного
      меню выб ать опцию Add Fields.Имена всех колонок таблицы  или  запроса
      появятся в диалоговой панели Add Fields.
   7. Выбрать поля, которые нужно внести в список объектов, и нажать OK.
   8. Если требуется создать вычисляемое поле  на  основе  имеющихся  полей,
      нажать правую клавишу мыши и из контекстного меню  выбрать  New  Field
      для создания нового поля на  основе  существующего  или  для  создания
      вычисляемого  поля  (в  дальнейшем  следует  создать  код  обработчика
      события OnCalcFields компонента TTable, где и производятся необходимые
      вычисления).
   9. Если необходимо удалить статическое поле  из  списка  полей  в  наборе
      данных, нужно нажать  правую  клавишу  мыши  и  из  контекстного  меню
      выбрать Delete.
После того, как в Fields Editor добавлены поля, они  появятся  в  инспекторе
объектов, а ссылки на них - в h-файле формы.
Если теперь применить операцию drag-and-drop к выделенным  в  Fields  Editor
полям, перенеся их на форму, то можно получить готовую форму  с  необходимым
набором  интерфейсных  элементов  (в  нашем  случае  -  DBEdit,  позволяющий
отображать и редактировать строковые, числовые, денежные и другие поля,  чьи
значения  представимы  в  виде  строки  символов,  и  DBImage,   позволяющий
отображать   графические   поля   и   использовать    Clipboard    для    их
редактирования). Если к такой форме добавить  компонент  TDBNavigator  (этот
компонент  реализует  основные  методы  TTable   и   TQuery,   связанные   с
редактированием данных) и связать его с имеющимся  компонентом  TDataSource,
а  затем  скомпилировать  проект,  получим  приложение   для   просмотра   и
редактирования данных в таблице.
При работе  Fields  Editor  создаются  объекты,  соответствующие  видимым  в
инспекторе объектов полям. Эти объекты являются  потомками  объектного  типа
TField. Таблица 1 описывает существующие классы таких объектов:
                          Таблица 1. Потомки TField
|Потомок       |Описание                                                 |
|TStringField  |Текстовые данные фиксированной длины до 8192 символов.   |
|TAutoIncField |Целые числа от -2,147,483,648 до 2,147,483,647.          |
|              |Предназначен для нумерации ст ок в наборе данных. Потомок|
|              |TIntegerField.                                           |
|TIntegerField |Целые числа от -2,147,483,648 до 2,147,483,647.          |
|TSmallIntField|Целые числа от -32768 до 32767.                          |
|TWordField    |Целые числа от 0 до 65535.                               |
|TFloatField   |Действительные числа с абсолютной величиной от           |
|              |1.2x10e-324 до 1.7x10e308 с точностью до 15-16 цифры.    |
|TCurrencyField|Действительные числа с абсолютной величиной от           |
|              |1.2x10e-324 до 1.7x10e308 с точностью до 15-16 цифры.    |
|TBooleanField |Значения true или false.                                 |
|TDateTimeField|Значения даты и времени.                                 |
|TDateField    |Значения даты.                                           |
|TTimeField    |Значения времени.                                        |
|TBlobField    |Произвольное поле данных без ограничений размера.        |
|TBytesField   |Произвольное поле данных без ограничений размера.        |
|TVarBytesField|Произвольное поле данных до 65535 символов с фактической |
|              |длиной, представленной в первых двух байтах.             |
|TMemoField    |Текст произвольной длины.                                |
|TGraphicField |Графическое поле произвольной длины, например, битовый   |
|              |массив.                                                  |


Компонент TDBGrid

Компонент TDBGrid обеспечивает табличный способ отображения на экране  строк
данных из компонентов  TTable  или  TQuery.  Приложение  может  использовать
TDBGrid для отображения, вставки,  уничтожения,  редактирования  данных  БД.
Обычно  DBGrid  используется  в  сочетании   с   DBNavigator,   хотя   можно
использовать и  другие  интерфейсные  элементы,  включив  в  их  обработчики
событий методы First, Last,  Next,  Ptior,  Insert,  Delete,  Edit,  Append,
Post, Cancel компонента TTable.
Внешний вид таблицы (например, надписи в  заголовках  столбцов)  может  быть
изменен с помощью редактора  свойств  Columns  Editor.  Для  вызова  Columns
Editor  нужно  либо  выбрать  соответствующую  опцию  в   контекстном   меню
компонента DBGrid или щелкнуть мышью в колонке  значений  напротив  свойства
Columns в инспекторе объектов.
Вторым способом получения контроля над характеристиками DBGrid  или  другими
компонентами является создание описанным выше способом  статического  набора
компонентов TField. Имея компонент типа TField,  созданный  для  каждого  из
полей  в  наборе   данных,   можно   установить   ширину,   формат,   маску,
расположение, метку для отображения в DBGrid и другие характеристики.
Поля Float, Integer и Date  обладают  свойством  DisplayMask.  Это  свойство
можно использовать, чтобы  форматировать  данные  в  компоненте  DBGrid  или
другом компоненте Data Controls. Например, экранный  формат  mm-dd-yy  может
использоваться для размещения полей типа дата.
Некоторые компоненты  TField  (например,  TStringField)  обладают  свойством
EditMask,  которое  можно  установить,  вводя  данные  в  DBGrid  и   другие
компоненты Data Controls. Для установки свойства EditMask  нужно  установить
компонент Field в Object Inspector и выбрать свойство EditMask,  после  чего
появится  диалоговая  панель  Input  Mask  Editor,.  Чтобы  проверить  маску
редактирования, нужно ввести значение в поле Test Input.

             Поставка приложений, созданных с помощью С++ Builder


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

Поставка исполняемых файлов

При окончательной сборке исполняемого файла (то есть  непосредственно  перед
созданием дистрибутива) следует  убрать  из  исполняемого  файла  отладочную
информацию. Для этого  следует  из  менеджера  проектов  вызвать  диалоговую
панель Project Options и нажать кнопку Release.
Если в проекте используются модули и формы  Delphi,  следует  отключить  все
опции в секции  Debugging  и  включить  опцию  Optimization  в  секции  Code
Generation на странице Pascal.
В той же диалоговой панели следует выбрать пиктограмму приложения  (страница
Application). Eе можно создать с помощью входящего в комплект  поставки  С++
Builder графического редактора, который можно запустить, выбрав  пункт  меню
Tools/image Editor. Помимо этого, следует указать  название  приложения  (то
есть строку, которая будет отображаться в панели задач Windows) и имя  файла
справки, в котором содержатся экраны контекстно-зависимой помощи.
Если ссылка на справочный файл присутствует в опциях проекта, можно  связать
экраны помощи с интерфейсными элементами приложения. Для этой  цели  следует
установить значения свойства HelpContext интерфейсных  элементов  приложения
равным номерам разделов  соответствующих  экранов  помощи  из  секции  [MAP]
файла проекта справки. В этом случае после компиляции приложения нажатие  на
клавишу F1 будет выводить  на  экран  окно  справочной  системы  с  разделом
справки, описывающим интерфейсный элемент, имеющий фокус ввода.

Установка и настройка Borland Database Engine

Если приложение не использует  базы  данных,  в  большинстве  случаев  будет
достаточно просто скопировать на компьютер пользователя исполняемый  файл  и
другие входящие в комплект поставки  файлы  (например,  файл  справки,  файл
оглавления справки и др.).
Если  приложение  использует  базы  данных,  следует,   помимо   приложения,
установить на компьютер пользователя  библиотеку  Borland  Database  Engine.
Установка этой библиотеки заключается в копировании файлов  этой  библиотеки
на  компьютер  пользователя,  внесении  сведений  о  ней  в  реестр  (раздел
HKEY_LOCAL_MACHINE//SOFTWARE//Borland//Database      Engine),      установке
пиктограммы для утилиты конфигурации BDE,  а  также  настройке  псевдонимов,
необходимых для корректной работы данного приложения.
В процессе установки BDE могут возникнуть следующие проблемы.  Во-первых,  у
пользователя  на  компьютере  могут  быть  установлены  другие   приложения,
использующие эту  библиотеку.  Если  скопировать  на  такой  компьютер  файл
конфигурации BDE поверх имеющегося, работоспособность этих приложений  может
быть нарушена из-за того, что исчезнут  описания  псевдонимов,  используемых
ими. Поэтому при добавлении  своих  псевдонимов  лучше  пользоваться  опцией
File/Merge утилиты конфигурации BDE или создать псевдонимы вручную.
Можно посмотреть на эту проблему  с  другой  стороны.  Как  избежать  потери
работоспособности вашего приложения, если другой программист установит  свой
файл конфигурации BDE поверх установленного  вами?  Возможное  решение  этой
проблемы - создавать псевдонимы динамически во время работы  приложения  или
анализировать их существование при запуске и создавать их, если по  каким-то
причинам  они  исчезли.  Многие  разработчики  хранят  информацию  о  них  в
локальных ini-файлах вне IDAPI32.CFG.
Вторая проблема может быть  связана  с  несовпадением  версий  BDE.  Если  с
момента выхода используемой вами версии BDE  прошло  какое-то  время  (а  на
данный момент после C++ Builder  появились  такие  продукты,  как  Delphi  и
IntraBuilder 1.5, содержащие более новую версию BDE, чем С++ Builder),  есть
риск  заменить  старой  версией  BDE  более  новую,   если   на   компьютере
пользователя установлены эти средства разработки или созданные с их  помощью
приложения, что может нарушить их работоспособность.
Чтобы  избежать  подобных   неприятностей,   можно   воспользоваться   одной
недокументированной особенностью BDE. Дело в том, что время создания  файлов
этой  библиотеки   совпадает   с   номером   версии   BDE,   чем   и   можно
воспользоваться. Путь к файлам BDE следует искать в  реестре  Windows  (ключ
HKEY_LOCAL_MACHINESOFTWAREBorlandDatabase Engine, параметры  CONFIGFILE01
и DLLPATH).
Обязательно следует  убедиться,  что  эти  каталоги  и  файлы  действительно
существуют.  К  сожалению,  не  все  пользователи  грамотно   деинсталлируют
приложения. Часто бывает, что ставший  ненужным  каталог  просто  стирается,
при этом каталог с BDE может быть как удален,  а  может  быть,  и  нет.  При
этом, скорее всего (исключения  бывают  очень  редко)  соответствующий  ключ
реестра сохранится, "сбивая с толку" инсталляционное приложение.
Отметим, что следует также установить на компьютер пользователя  необходимые
драйверы SQL Links для доступа к серверным СУБД, если  они  используются,  а
также  клиентское  программное  обеспечение  для  работы  с  соответствующей
серверной СУБД (например, SQL*Net  для  Oracle).  Кроме  того,  пользователь
должен обладать необходимыми привилегиями для доступа к  используемым  вашим
приложением объектам базы данных - таблицам, хранимым процедурам и др.  Если
вы   готовите   и   серверную   часть   приложения,   следует   предоставить
администратору базы данных так называемый DDL-сценарий серверной части  (DDL
-  Data  Definition  Language),  представляющий  собой   сценарий   создания
объектов базы данных, написанный на SQL либо на его процедурном  расширении,
характерном для данного сервера баз данных.  Подобный  сценарий  может  быть
создан вручную либо с помощью какого-либо CASE-средства типа ERwin  компании
Logic Works (CASE, что расшифровывается как  Computer-Aided  Software/System
Engineering, представляет собой технологию проектирования БД, основанную  на
графическом описании сущностей, атрибутов и связей между ними).
Если ваше приложение использует  ODBC,  следует  установить  соответствующий
ODBC-драйвер и, возможно,  32-разрядный  ODBC-администратор  -  он  в  общем
случае не обязан присутствовать на компьютере пользователя.

Установка дополнительных компонентов приложения

Если ваше приложение использует  ActiveX-компоненты,  следует  установить  в
каталог  WindowsSystem  соответствующий  файл  *.OCX  и  внести  в   реестр
соответствующие   ветви   (HKEY_CLASS_ROOTCLSID....)    для    регистрации
соответствующих OLE-серверов.
Если ваше приложение использует какие-либо продукты третьих фирм  (например,
Run-time-версии  генераторов  отчетов  сторонних  производителей,  например,
Crystal  Reports),  следует  установить  их  на  компьютер  пользователя   в
соответствии  с  инструкциями  по  поставке,   предоставленными   компанией-
производителем.
Еще одна проблема, характерная  для  русскоязычных  приложений,  может  быть
связана  с  отсутствием  на  компьютере  пользователя   используемых   вашим
приложением  шрифтов  либо  отображением  их  аналогов,  содержащих   вместо
русских букв диакритические символы европейских алфавитов.  Как  решить  эту
проблему?
Самый простой способ - не использовать  экзотических  шрифтов.  Шрифты  типа
Arial, Courier и Times New Roman, как правило,  есть  на  всех  компьютерах.
Если же такой уверенности нет, можно либо предложить  пользователю  выбирать
шрифты для приложения при его запуске и сохранять настройки  в  файлах  (это
неудобно, так как при этом надписи могут не  уместиться  на  кнопках,  метки
могут "наехать" друг на друга и т.д.),  либо  инсталлировать  нужные  шрифты
вместе с приложением. В  случае  Windows  95  достаточно  скопировать  их  в
каталог  Fonts.   Можно   также   присвоить   "своим"   шрифтам   уникальные
нестандартные имена, чтобы случайно не  заменить  ими  шрифты,  используемые
другими приложениями (заменив в англоязычной версии Windows шрифт Arial  его
русскоязычной  версией,  вы  в  некоторых  случаях  можете   лишить   вашего
пользователя возможности писать в текстовых  процессорах  по-французски  или
по-немецки этим шрифтом).

Способы создания дистрибутивов

Прежде чем описать процесс создания  дистрибутива,  рассмотрим,  что  именно
делает инсталляционное приложение.
Во-первых, оно, как  следует  из  вышеизложенного,  копирует  файлы  (*.exe,
*.ocx, *.dll, *.hlp, шрифты, данные и др.) в соответствующие каталоги.
Во-вторых, оно может модифицировать реестр.
В- третьих, оно может модифицировать переменную окружения PATH.
В-четвертых,  оно  создает  программную  группу  и  пиктограммы,   а   также
модифицирует меню Windows-95 или Windows NT.
В-пятых,  согласно  общепринятым  стандартам,   оно   должно   предоставлять
пользователю  возможность  выбора  параметров  установки   (каталог,   выбор
устанавливаемых частей приложения), чтения лицензионного соглашения и  файла
readme, содержащего последнюю информацию о продукте.
В-шестых, оно может при необходимости перезапустить Windows.
Как  создать  инсталляционное  приложение?  Существует  несколько  вариантов
решения этой проблемы. Во-первых, его можно  написать  на  C++  Builder  или
Delphi, используя функции  Windows  API  для  модификации  реестра  согласно
алгоритму, изложенному выше. Во-вторых, такое  приложение  можно  создать  с
использованием  генераторов  дистрибутивов  (InstallShield,  Wise  и   др.).
Отметим, что  использование  этих  средств  обычно  подразумевает  написание
специализированного   скрипта   на   языке,   напоминающем   С   (в   случае
InstalShield) или Basic (в случае Wise).
Однако  самый  простой   способ   создать   инсталляционное   приложение   -
использовать входящий в комплект поставки версий Borland C++ Builder  версий
Professional  и  Client/Server  Suite  упрощенный  генератор   дистрибутивов
Install Shield Express, позволяющий  предоставить  пользователю  возможность
выбора  варианта  инсталляции,  добавить  деинсталлятор  (точнее,   файл   с
расширением *.isu,  используемый  утилитой  установки  и  удаления  программ
Windows 95), установить BDE, добавить псевдонимы баз  данных,  редактировать
диалоги   инсталляционного   приложения,   создавать   программные   группы,
создавать дистрибутивные дискеты.
Сразу  же  отметим  недостатки  дистрибутивов,  созданных  с  помощью  этого
продукта. Во-первых, этот  продукт  предполагает,  что  устанавливаемая  (то
есть имеющаяся на компьютере, где создается дистрибутив) версия BDE -  самая
новая, что может привести к  замене  имеющейся  на  компьютере  пользователя
версии BDE на более раннюю. Во-вторых,  некоторые  диалоги  инсталляционного
приложения оказываются англоязычными.
Тем не менее, если перечисленные недостатки не очень важны  или  могут  быть
устранены   в   конкретном   случае   (например,   путем   выбора   варианта
инсталляции),  использование  данного  средства  может  сэкономить  довольно
много времени при создании дистрибутива приложения.

Создание дистрибутивов с помощью InstallShield Express

При  запуске  Install  Shield  Express  появляется  окно   с   радиогруппой,
предлагающее открыть существующий проект или создать новый.
При создании нового проекта следует ввести имя проекта и указать каталог,  в
котором расположены файлы приложения.
Флажок "Include custom setup  type"  следует  выбрать,  если  вы  планируете
предоставить пользователю возможность  выбора  варианта  инсталляции  Custom
Setup  для  самостоятельного  выбора  варианта  инсталляции.   После   этого
появится   главный    экран    InstallShield,    в    котором    перечислена
последовательность   шагов,   которые   следует   выполнить   для   создания
дистрибутива.
В разделе Set the Visual Design  следует  заполнить  поля  со  сведениями  о
приложении: название приложения,  как  оно  будет  выглядеть  в  программной
группе, имя  исполняемого  файла,  каталог,  в  который  следует  установить
приложение.
Отметим, что Install Shield содержит несколько переменных,  идентифицирующих
диски и каталоги компьютера пользователя, что позволяет  не  знать  реальную
систему каталогов и дисков этого компьютера:
    .  - каталог для установки, указанный пользователем,
    .  - каталог, в котором содержится Windows
    .  - каталог WindowsSystem
    .  - диск, на котором содержится Windows
    .  - диск, на котором содержится каталог WindowsSystem
    .  - каталог Program Files.
Щелкнув   на   закладке   Main   Window,    можно    установить    заголовок
инсталляционного приложения, цвет фона и логотип.
Щелкнув на закладке Features, можно  обнаружить  одну-единственную  опцию  -
Automatic Uninstaller. Ее рекомендуется оставить выбранной.
Следующий  раздел  -  Specify  InstallShield  Options  for  Borland  C++   -
предназначен для выбора  компонентов,  часто  поставляемых  с  приложениями:
BDE, SQL Links и др. Выбрав нужный компонент (в нашем случае  BDE)  и  нажав
кнопку Settings, получим последовательность из четырех диалоговых  окон  для
выбора  частей  BDE,  поставляемых  с   данным   приложением,   и   создания
псевдонимов.
При  установке  параметров  псевдонимов  можно  выбрать  тип  псевдонима   и
местоположение  данных.  Остальные  параметры  псевдонима  (в  том  числе  и
языковые драйверы) можно указать в текстовом редакторе в нижней части окна.
Щелкнув по закладке Advanced Options, можно ознакомиться со  списком  файлов
дополнительных компонентов (в нашем случае BDE) и сведениями о них.
Следующий  раздел  -  Specify  Components  and  Files  -  предназначен   для
определения групп файлов, компонентов приложения и типов установки.  Щелкнув
на закладке  Groups,  можно  создать  группы  файлов  для  создания  из  них
компонентов дистрибутива. Можно также использовать Explorer и переносить  из
него нужные файлы методом  drag-and-drop  (для  этого  нужно  нажать  кнопку
Launch Explorer). Не рекомендуется оставлять группы пустыми.
Щелкнув на закладке Components,  можно  определить  компоненты  дистрибутива
(их сможет  выбирать  пользователь  в  случае  выбора  варианта  инсталляции
Custom, поэтому можно дать им русскоязычные названия) и  указать,  из  каких
групп файлов они состоят. Не следует  оставлять  компоненты,  не  содержащие
групп.
Следующая закладка - Setup Types - предназначена для  определения  вариантов
установки. Если щелкнуть на ней, может оказаться,  что  вариант  инсталляции
его один - Typical (например, вы  забыли  отметить  флажок  "Include  custom
setup type"). В этом случае следует выбрать  раздел  Select  User  Interface
Components  и,  щелкнув  на  закладке  Components,  в  списке  Dialog  Boxes
отметить опции Setup Type и Custom Setup.  После  этого  можно  вернуться  к
закладке  Setup  Types  и  определить  варианты  инсталляции.  Как  правило,
варианты Custom и Typical  содержат  все  возможные  компоненты,  а  вариант
Compact - минимальный набор компонентов,  пригодный  для  нормальной  работы
приложения.
В разделе Select User Interface Components можно выбрать диалоги, в  которых
пользователь вводит необходимую информацию во время  инсталляции  (например,
сведения  о  себе  и  компании,  серийный  номер  продукта),  знакомится   с
лицензионным  соглашением   и   файлам   readme,   указывает   каталог   для
инсталляции, выбирает тип установки и т.д.  Возможен  также  предварительный
просмотр диалогов при нажатии кнопки Preview.
Следующий  раздел  -  Make  Registry  Changes  -  позволяет   создавать   на
компьютере пользователя новые  ключи  реестра  (закладка  Keys)  и  значения
ключей (Values). Это может оказаться полезным, если вы используете  в  вашем
приложении компоненты ActiveX или создаете OLE-сервер. Ключи и  их  значения
можно копировать из редактора реестра, если он поддерживает такую опреацию.
Следующий раздел - Specify Folders and Icons - позволяет  определить  состав
будущей программной группы, а также определить  параметры  командной  строки
(закладка Advanced).
Наконец,  последний  раздел   -   Run   Disk   Builder.   После   сохранения
инсталляционного  скрипта  (с  помощью  нажатия  на  кнопку  с  изображением
дискеты на панели инструментов главного окна InstallShield)  и  выбора  типа
носителей  происходит  создание  на  жестком  диске  образов  дистрибутивных
дискет. Выбрав затем раздел Create Distribution  Media,  можно  записать  на
дискеты созданный дистрибутив.
Опцию Test Run  можно  использовать  для  проверки  работы  инсталляционного
приложения.  Однако  не  рекомендуется  делать  это   на   компьютере,   где
производится разработка приложений. Лучше  провести  тестовые  испытания  на
компьютере,  похожем  на  компьютеры  ваших   пользователей.   Кроме   того,
рекомендуется создать на этом  компьютере  копию  Windows,  чтобы  в  случае
некорректной работы инсталлятора можно было вернуть программное  обеспечение
в исходное состояние.
Запуск инсталляционной  программы  приводит  к  последовательному  появлению
выбранных в разделе Select User Interface Components диалогов.
Результатом   работы   инсталляционного   приложения   является    установка
приложения и необходимых для его работы файлов  на  компьютер  пользователя,
создание программной группы, внесение необходимых ключей в реестр.
Если при создании дистрибутива вы выбрали опцию Automatic Uninstaller, то  в
случае возникновения необходимости деинсталляции  установленного  приложения
следует использовать  утилиту  "Установка  и  удаление  программ"  в  панели
управления Windows.
Таким образом,  хотя  InstallShield  Express  и  не  решает  полностью  всех
проблем, возникающих при  поставке  приложений,  с  его  помощью  во  многих
случаях   возможно   быстрое   создание    дистрибутивов,    удовлетворяющих
современным  требованиям  к  функциональности  и   дизайну   инсталляционных
приложений.
В заключение отметим, что поставка приложений, созданных с  помощью  Delphi,
осуществляется  практически  точно  так  же,  как  и  поставка   приложений,
созданных с помощью C++ Builder.

                      Список использованной литературы



    1. Джарод Холингвэрт, Дэн Баттерфилд, Боб Сворт, Джэйми Оллсоп
       C++Builder 5. Руководство разработчика.


    2. Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч.,
       Рейсдорф К., "ДиаСофт" - 2001, 944 стр.


    3. http://www.codenet.ru/
 

назад |  2 | вперед


Назад


Новые поступления

Украинский Зеленый Портал Рефератик создан с целью поуляризации украинской культуры и облегчения поиска учебных материалов для украинских школьников, а также студентов и аспирантов украинских ВУЗов. Все материалы, опубликованные на сайте взяты из открытых источников. Однако, следует помнить, что тексты, опубликованных работ в первую очередь принадлежат их авторам. Используя материалы, размещенные на сайте, пожалуйста, давайте ссылку на название публикации и ее автора.

281311062 © insoft.com.ua,2007г. © il.lusion,2007г.
Карта сайта