Делфи 7

История версий

Borland C ++ для MS-DOS, Windows

  • 2.0 (1991; MS-DOS )
  • 3.0 (1991): Новая поддержка компилятора для создания приложений Microsoft Windows.
  • 3.1 (1992): Введение в Windows IDE и фреймворков приложений (OWL 1.0, Turbovision 1.0)
  • 4.0 (1993; Windows 3.x): MS-DOS IDE больше не поддерживается, включая OWL 2.0.
  • 4.01
  • 4.02 (1994)
  • 4.5
  • 4,51
  • 4.52 (1995): Официальная поддержка Windows 95, OWL 2.5. Последняя версия
  • 4,53
  • 5.0 (1996-03-26 (базовый, Development Suite), 1996-06-25 (Design Tools); Windows 3.x / 95 / NT 3.51): базовая версия включает Borland C ++ 4.52, ObjectWindows Library (OWL) 5.0, Sun’s Комплект разработчика Java , отладчик Borland для Java, собственная 32-разрядная среда разработки сценариев ObjectScripting, визуальные инструменты для баз данных (VDBT). Пакет разработки также включает CodeGuard 32/16, PVCS Version Manager, InstallShield Express и компилятор AppAccelerator Just-in-Time для Java. Версия пакета разработчика с инструментами дизайна добавляет редактор представления сценария, редактор представления сценария, редактор объектной модели в выпуск пакета разработки. Поддерживает компиляцию исполняемых файлов Windows 3.1 / 95 / NT 3.51 и DOS с интегрированной средой разработки Windows 3.1, поддерживаемой через BC ++ 4.52. Он (официально) не работает в Windows NT 4.0 (которая в то время все еще находилась в разработке). Сторонние тесты показали некоторые проблемы с NT 4.0. Компилятор C ++ может поддерживать библиотеки ObjectWindows Library (OWL) 5.0, Microsoft Foundation Classes 3.2 / 4.0.
  • 5.01 (1996-09-03 (базовый, Development Suite, Design Tools)): базовая версия теперь включает демонстрационное устройство ViewSoft Power Charger для MFC, Borland Delphi 2.0 Trial Edition, средство автоматического создания веб-страниц DeltaPoint QuickSite и средство управления сайтом; с библиотекой ObjectWindows (OWL) обновлено до 5.01. Редакция Design Tools включает вместе / C ++ инструменты объектно-ориентированного анализа и проектирования (OOAD) по сравнению с версией Development Suite.
  • 5.02 (1997-04-04): Окончательный независимый выпуск Borland C ++ IDE (впоследствии замененный серией C ++ Builder ), окончательный выпуск для поддержки компиляции в целевой MS-DOS (в реальном режиме). Новые функции включают поддержку операционной системы Windows NT 4.0, поддержку библиотеки MFC 4.1, подпись кода. Все версии включают полные исходные коды OWL и MFC. Как и Borland C ++ Builder 3, версия Borland C ++ на компакт-диске предоставляется бесплатно, отправив купон из пакета C ++ Builder 3 Professional по почте. Зарегистрированные владельцы Borland C ++ 5 могут получить обновление со скидкой.

Компилятор Borland C ++

5.5 (2000-02-16; Windows 95/98 / NT / 2000): Основанный на Borland C ++ Builder 5, это бесплатный компилятор без IDE из родительского продукта. Включает Borland C ++ Compiler v5.5, Borland Turbo Incremental Linker, Borland Resource Compiler / Binder, C ++ Win32 Preprocessor, утилиту преобразования файлов набора символов ANSI / OEM, утилиту Import Definitions для предоставления информации о DLL, утилиту Import Library для создания библиотек импорта из DLL , Borland Turbo Dump, Библиотекарь, Библиотека времени выполнения Borland C / C ++, Стандартная библиотека шаблонов ANSI / ISO (STL).

C ++ Builder с пакетом C ++

Borland C ++ Builder 4.0 + Borland C ++ 5.02 (1999): Комбинация пакетов для облегчения перехода на C ++ Builder.

Borland C ++ для OS / 2

  • Borland C ++ 1.0 (1992)
  • Borland C ++ 1.5 (1992)
  • Borland C ++ 2.0 (1995-01-09 (базовый), 1995-06-01 (набор инструментов SMART)): поддерживает OS / 2 2.1 и Warp 3, OWL для библиотеки Presentation Manager 2.0. Версия набора инструментов SMART включает набор инструментов для создания отчетов об анализе миграции исходного кода (SMART), разработанный One Up Corporation для автоматической миграции кодов 16/32-битной Windows и 16-битной OS / 2 на 32-битную OS / 2.

Borland C ++ (Builder) Мобильная версия

Разработанный для интеграции с Borland C ++ Builder 6, первоначальный выпуск должен был быть выпущен в конце ноября 2002 года и включался в состав Borland C ++ Builder 6 Enterprise и Professional.

29 апреля 2003 года Borland Software Corporation объявила о выпуске Borland C ++ Mobile Edition для Series 60, Nokia Edition. Он включает версию Borland C ++ Builder 6, Series 60 Software Development Kit (SDK) для ОС Symbian, Nokia Edition (включает эмулятор Nokia Series 60 ), плагин C ++ Mobile Edition.

C ++ Mobile Edition также доступен как отдельный плагин для C ++ Builder 6, поддерживающий все, кроме пробных выпусков.

Причины использования старой версии Делфи

Многие разработчики до сих пор используют именно эту версию программы, хотя вышло уже несколько новых. Происходит это потому, что в своё время Делфи 7 было уделено много внимания, а значит у этой версии повышенная безопасность и большое количество доступных компонент, предназначенных для упрощения процесса написания программы. К тому же в новых версиях зачастую есть много необнаруженных проблем, которые будет очень обидно найти при написании сложной и требующей особого внимания программы. Поэтому те, кто не хочет рисковать, и сейчас используют Делфи 7 в работе. В Делфи написано множество успешных проектов, которые до сих пор очень популярны. Примером такой программы является Total Commander или Skype.

Проектирование формы приложения

На пустой форме разместим компонент TPanel — будущую инструментальную
панель нашего редактора. Свойству Align полученного компонента Panel1 присвоим
значение alTop, а свойству Caption — пустую строку.

Далее разместим на форме компонент TMemo и присвоим его свойству Align
значение alClient, свойству ScrollBars — значение ssVertical, а свойству
Lines — пустой массив строк (редактор свойств, являющихся строковыми массивами,
как п авило, представляет собой обычный текстовый редактор).

Вспомним о том, что наш будущий текстовый редактор должен открывать
и сохра ять файлы. Для этой цели воспользуемся стандартными диалогами Windows
95, содержащимися в библиотеке comdlg32.dll. Для этого поместим на форму
два диалога со страницы Dialogs: TOpenDialog и TSaveDialog. Изменим свойство
Filter созданного только что компонента OpenDialog1, внеся две строки в
диалоговую панель Filter Editor и нажав кнопку OK (рис. 8).

Рис. 8. Установка свойства Filter компонента OpenDialog1.

Теперь можно взять в буфер обмена строку, образовавшуюся в колонке значений
апротив свойства Filter, выбрать компонент SaveDialog1 и вставить содержимое
буфера обмена в строку напротив свойства Filter. Этим самым мы установим
такое же значение свойства Filter для второго диалога. При желании можно
изменить заголовки диалоговых панелей (свойство Caption) и другие параметры
(свойство Options).

Обратите внимание на то, что языковая версия библиотеки может быть в
общем случае как русской, так и английской, так как это ресурс Windows,
а не вашего приложения. Поэтому, если вашим пользователям нужно, чтобы
стандартные диалоги Windows были русскоязычными, рекомендуйте им установить
русскую версию Windows 95 или Windows NT Workstation, либо попробуйте заменить
на компьютерах пользователей имеющуюся версию comdlg32.dll на русскоязычную.
Впрочем, на странице System имеется достаточное количество компонент для
создания «самодельных» диалогов для работы с файлами..

И, наконец, разместим на форме компонент StatusBar со страницы Win95.
Отредактируем его свойство Panels (это свойство представляет собой набор
компонентов-панелей, на которых выводится необходимая пользователю информация).
Редактор этого свойства представляет собой диалог (рис.9). Создадим панель,
на которой будет появляться имя редактируемого файла. Для этого нажмем
кнопку New и изменим параметр Width созданной панели, сделав его равным
100. В поле Text введем значение «Без имени». Затем нажмем кнопку ОК.

Рис. 9. Установка свойства Panels компонента StatusBar1.

Далее выберем с помощью мыши компонент Panel1 и разместим на нем девять
компонентов типа TSpeedButton. Сделать это проще всего, нажав клавишу Shift
и выбрав SpeedButton со страницы Additional палитры компонентов.

Оснастим наши кнопки рисунками. Для этого присвоим значения свойствам
Glyph этих кнопок. С этой целью можно воспользоваться обширным набором
картинок, вхо ящих в состав С++ Builder (каталог CBuilder\images\Buttons).
Для нашего примера из этого каталога были выбраны файлы Doorshut.bmp,Filenew.bmp,
Fileopen.bmp, Fileclose.bmp, Filesave.bmp, Cut.bmp, Copy.bmp, Paste.bmp,
Help.bmp (рис.10).

Рис. 10. Установка свойства Glyph компонентов SpeedButton1,…,SpeedButton9.

Далее, используя описанные выше приемы манипуляции компонентами, разместим
кнопки группами, как показано на рис.11. Присвоим свойству ShowHint этих
кнопок значение True, а свойству Hint — значения «Выход», «Создать», «Открыть»,
«Сохранить», «Сохранить как…», «Вырезать», «Копировать», «Вставить»,
«О п ограмме». Это приведет к появлению желтых ярлычков с комментариями
под кнопками, когда на кнопке находится курсор мыши.

Рис. 11. Вид главной формы приложения.

Borland C++ 3.1

Моя любимая система программирования. Старая, ДОС-овская, имеющая много ограничений,
но тем не менее рабочая. В данном случае для установки Borland C++ 3.1 на вашем
компьютере вы должны скачать следующие пять файлов общим объемом порядка двадцати
мегабайт.

bc_distr1.zip
bc_distr2.zip
bc_distr3.zip
bc_distr4.zip
bc_distr5.zip

После этого распакуйте их в одну папку. Запустите install.exe.

Если программа установки почему-то пишет «не найден unzip.exe», поместите
следующий файл в каталог, где лежит install.exe.

unzip.exe

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

Когда вас спросят
имя диска с которого устанавливается дистрибутив, укажите букву, соответствующую
тому диску, куда вы переписали дистрибутив. Дальше вас спросят из какого каталога
его устанавливать. Нажмите Enter, поскольку в окошке уже будет правильный каталог.
Дальше вы увидите набор меню, где выбираются параметры установки. В первой строке (Directories)
выбирается место, куда инсталлировать BC++ 3.1. Нажмите Enter и напишите имя, к примеру,
C:\BC. В третьей строке (Install Options) нажмите Enter и установите No для нескольких пунктов
с помощью нажатия Enter на них, а именно Turbo Debugger, Turbo Assembler, Turbo Profiler,
Turbo Vision. Выйдите из этого меню, нажатием Esc. В четвертой строке меню (Examples Options) нажмите Enter
установите No во всех строчках кроме первой. Выйдите нажатием Esc. В пятой строке меню
(Windows Options) нажмите Enter и установите No во всех пунктах. Переместите курсор в нижнюю строку
и нажмите Enter для начала инсталляции.

Вы можете не делать все, что описано выше, в таком случае вы установите полный дистрибутив
Borland C++ 3.1 включая поддержку написания программ для Windows, средства написания и отладки
низкоуровневых программ Turbo Assembler и Turbo Debugger.

Когда инсталляция закончится, появится окно Readme, где вы можете прочитать
подробную информацию о системе программирования Borland C++3.1. Закройте документ
нажатием Esc.

Если вы установили все в директорию C:\BC, то для запуска системы вам нужно
запустить исполняемый файл C:\BC\BIN\BC.EXE.

Вы запустили BC и увидели серенькое окошко с набором меню вверху. Нажмите
мышью на меню File и выберите New. Создастся синенькое окно, в котором вы можете
писать программы.

Напишите

#include <stdio.h>
void main(){
    printf("Hello, Wolrd!!!");
}

Нажмите меню Run и выберите в нем верхний пункт меню Run для компиляции и запуска программы. Полюбуйтесь на результат работы нажатием Alt+F5.

Сохранение и открытие файлов происходит через меню File.

Для получения дальнейшей информации пользуйтесь встроенной системой помощи Help (F1)

SQL Explorer и словарь данных

Рис. 15. SQL Explorer

Сам словарь данных доступен для просмотра на странице Dictionary. В
нем в виде раскрывающегося списка содержатся сведения о базах данных и
расширенных атрибутах полей таблиц (раздел Attribute Sets), в число которых
входят, например, максимальное и минимальное значение для данного поля,
значение по умолчанию, тип и класс контрольного элемента, метка при отображении
на форме, маска редактирования и другие атрибуты, не содержащиеся непосредственно
в таблицах, но характеризующие модель данных.

Рис.16. Просмотр и модификация словаря данных в SQL Explorer

Отметим, что пользователь может создавать свои словари данных (пункт
меню Dictionary/New). По умолчанию словари данных создаются в виде таблиц
формата Paradox, но не возбраняется хранить их в других форматах или на
серверах баз данных (это имеет смысл при работе над крупными проектами).


Вернутся к оглавлению

Достоинства и недостатки

Любой софт обладает своими положительными и отрицательными сторонами. Давайте рассмотри их и у этого приложения.

Достоинства:

  • Русскоязычный интерфейс с удобным расположением инструментов.
  • Невысокие требования к компьютеру.
  • Гибкие настройки для регулировки рабочей области.
  • Работает на языке программирования, являющимся одним из самых востребованных сегодня.
  • Возможность работы со многими инструментами, что сильно облегчает процесс разработки.

Недостатки:

  • Без знаний основ программирования разобраться с программой будет сложно.
  • Нет официальных обновлений от разработчиков.
  • Иногда возникают ошибки при запуске отладчика кода.

Аналоги, которые можно скачать вместо C++ Builder

Мы специально вынесли эту информацию в отдельный блок, так как аналоги не просто есть, а их очень много. Самый главный – Borland C++, но помимо него есть и другие. И все они поддерживаются Windows 10, которая по версии некоторых авторитетных источников является одной из лучших ОС для программирования.

Что же выбрать? Мы рекомендуем остановить свой выбор на утилите, доступной на этой странице, так как именно она стала прародительницей всех утилит подобного класса. Не верите? Можете прочитать на Википедии или в других авторитетных источниках о том, кто задает темп в программировании. Так было и в 2018 году, так будет, наверняка, и в будущих годах. Увидим.

Резюмируя все вышесказанное отметим, что скачать C++ Builder для Windows 10 стоит не только в том случае, если вы профессиональный программист. Эта среда позволит вам работать в спокойном и штатном режиме даже в том случае, если вы новичок. Она интуитивно понятна, и при этом она еще и на русском языке. На официальном сайте представлена различная информация, в том числе и руководства. А если вам ее не хватит, то вы всегда можете подключиться к сообществам программистов, чтобы получить советы и найти решение.

<center>Скачать</center>Пожалуйста, Оцените:<thea>Бесплатно!uFiler</th>check</td>Официальный дистрибутив C++ Builder</td>check</td></tr>close</td>Тихая установка без диалоговых окон</td>check</td></tr>close</td>Рекомендации по установке необходимых программ</td>check</td></tr>close</td>Пакетная установка нескольких программ</td>check</td></tr>Скачать</td></tr></tbody></thea>

НашиРЕКОМЕНДАЦИИ

  • http://dokakodm.ucoz.ru/publ/c_builder_xe/prostye_primery/kak_ustanovit_borland_c_builder_6_na_windows_10/16-1-0-555
  • https://torrent-windows.net/programmy/veb-razrabotka-i-programmirovanie/4132-borland-c-builder-enterprise-v60-kopiya-originalnogo-diska-angliyskiy.html
  • https://win10m.ru/c-builder.html

Компонент TTable

  • Active — указывает, открыта (true) или нет (false) данная таблица.
  • DatabaseName — имя каталога, содержащего искомую таблицу, либо псевдоним
    (alias) удаленной БД (псевдонимы устанавливаются с помощью утилиты конфигурации
    BDE, описание которой присутствует во многих источниках, посвященных продуктам
    Borland, либо с помощью SQL Explorer, вызываемого с помощью пункта меню
    Database/Explore). Это свойство может быть изменено только в случае, если
    таблица закрыта (ее свойство Active равно false), например:

Table1->Active = false;
Table1->DatabaseName = "BCDEMOS"
Table1->Active = true;

TableName — имя таблицы.

Exclusive — если это свойство принимает значение true, то никакой другой
пользователь не может открыть таблицу, если она открыта данным приложением.
Если это свойство равно false (значение по умолчанию), то другие пользователи
могут открывать эту таблицу.

IndexName — идентифицирует вторичный индекс для таблицы. Это свойство нельзя
изменить, пока таблица открыта.

MasterFields — определяет имя поля для создания связи с другой таблицей.

MasterSource — имя компонента TDataSource, с помощью которого TTable будет
получать данные из связанной таблицы.

ReadOnly — если это свойство равно true, таблица открыта в режиме «только
для чтения». Нельзя изменить свойство ReadOnly, пока таблица открыта.

Eof, Bof — эти свойства принимают значение true, когда указатель текущей
записи расположен на последней или соответственно первой записи таблицы.

Fields — массив объектов TField. Используя это свойство, можно обращаться
к полям по номеру, что удобно, когда заранее неизвестна структура таблицы:

Edit1->Text=Table1->Fields->AsString;

  • Open и Close устанавливают значения свойства Active равными True и False
    соответственно.
  • Refresh позволяет заново считать набор данных из БД.
  • First, Last, Next, Prior перемещают указатель текущей записи на первую,
    последнюю, следующую и предыдущую записи соответственно, например:

Table1->First();
while (!Table1->Eof)
{
//что-то делаем...
Table1->Next();
};

MoveBy перемещает указатель на указанное число строк (оно может быть и
отрицательным) в пределах таблицы

Insert, Edit, Delete, Append — переводят таблицу в режимы вставки записи,
редактирования, удаления, добавления записи соответственно.

Post — осуществляет физическое сохранение измененных данных. Например:

Table2->Insert();
Table2->Fields->AsInteger = 100;
Table2->Fields->AsString =Edit1->Text;
Table2->Post();

Cancel — отменяет внесенные изменения, не сохраненные физически.

FieldByName — предоставляет возможность обращения к данным в полях по имени
поля:

S=Table1->FieldByName("area")->AsString;

SetKey переключает таблицу в режим поиска.

GotoKey начинает поиск строки, значение Fields которой равно выбранному,
где n — номер колонки таблицы, начиная с 0:

Table1->SetKey();
Table1->Fields->AsString=Edit1->Text;
Table1->GotoKey();

SetRangeStart, SetRangeEnd, ApplyRange позволяют выбрать нужные строки
на основе диапазона значений какого-либо поля.

Table1->SetRangeStart();
Table1->Fields->AsString = Edit1->Text;
Table1->SetRangeEnd();
Table1->Fields->AsString = Edit2->Text;
Table1->ApplyRange();

FreeBookmark, GetBookmark, GotoBookmark- позволяют создать помеченную строку
в таблице и затем вернуться к ней позже. Методы Bookmark используют класс
TBookmark. Метод GetBookmark устанавливает закладку на текущей cтроке таблицы.
GotoBookmark осуществляет перемещение в таблице к строке, ранее отмеченной
закладкой. Метод FreeBookmark используется для уничтожения объекта типа
TBookmark:

TBookmark Marker =Table1->GetBookmark();
Table1->GotoBookmark(Marker);
Table1->FreeBookmark(Marker);

Чтобы внести компонент TTable в форму, нужно выполнить следующее:

1. Используя страницу Data Access палитры компонентов, разместить компонент
TTable на форме или в модуле данных.

2. Свойству DatabaseName присвоить имя каталога, где находится БД, либо
псевдо има БД.

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

4. Внести в форму компонент DataSource и установить значение свойства
DataSet равным имени компонента TTable.

5. Внести компоненты Data Controls и связать их с компонентом DataSource
для того, чтобы отобразить на экране данные из таблицы БД.

Как создать свое приложение с помощью C++ Builder

Конечно, утилита очень простая, но мы вряд ли сможем в рамках одной маленькой статьи рассказать вам о том, как сделать свое приложение. Главное понимайте, что редактор способен сделать все, и все зависит только от вашего умения и мастерства. Например, написать такую простенькую утилиту, как Экранная клавиатура, не составит труда даже студенту. А вот сделать продукт, который станет конкурентом Microsoft Office, пусть и реально, однако физически невозможно сделать силами одного человека.

Чтобы вы лучше понимали, что вас ждет, уточним, что же входит в стандартный пакет:

  • Инструмент быстрой разработки;
  • Интегрированная среда программирования;
  • Система отладки приложений.

Если вы получили исходники ПО с открытым исходным кодом, то вы сможете отредактировать даже его. Главное, чтобы он был написан на языке C++, в противном случае вам потребуется другой редактор. Но и на эти случаи у нас есть решения. Например, вы можете воспользоваться  продуктом под названием Pascal ABC.

Продукты

Средства разработки ПО

  • Borland Enterprise Studio 7 for Java — комплексное решение для управления жизненным циклом приложений.
  • Borland C++BuilderX — мощная кросс-платформенная среда разработки для создания высокопроизводительных приложений на С и C++
  • C#Builder for the Microsoft .NET Framework – независимая среда для ускорения процесса разработки для платформы .NET
  • CodeWright – среда работы с исходным кодом
  • Delphi 2006 – новая редакция мощной высокопродуктивной среды быстрой разработки приложений для Windows и .NET.
  • Borland JBuilder 2006 – многоплатформенное средство разработки Java — приложений.
  • Kylix 3 — средство быстрой разработки приложений для платформы
    Linux на языках Delphi и C/C++
  • Mobile Studio – среда для разработки Java- и C++-приложений для мобильных устройств
  • Turbo – быстрый и удобный способ сразу же приступить к разработке приложений для Windows

Средства поддержки жизненного цикла разработки ПО

  • Borland StarTeam 2005 — это автоматизированная комплексная система управления конфигурацией программного обеспечения (SCM), которая поддерживает управление циклом жизни приложений с использованием отдельного репозитария.
  • Borland CaliberRM 2005 — это корпоративная система управления требованиями на этапе процесса создания программного обеспечения. Данная система разработана в целях повышения качества создаваемых продуктов и предназначена для улучшения взаимодействия между участниками проекта, упрощения анализа влияний и процесса передачи информации в сфере управления изменениями исходных требований. CaliberRM превращает создание информационных систем в предсказуемый процесс.
  • Borland Together 2006 – CASE-средство, предназначенное для визуального моделирования и проектирования программных систем на основе стандарта UML.
  • Borland Optimizeit Enterprise Suite 6 — полнофункциональная среда для оценки производительности приложений, созданных с помощью Java.
  • Optimizeit Profiler for the Microsoft .NET Framework – полнофункциональная среда для оценки производительности приложений, созданных с помощью Microsoft .NET Framework

ПО промежуточного уровня (middleware)

  • Borland AppCenter – средство управления и мониторинга объектных распределенных систем
  • Borland Enterprise Server (BES) – первый интегрированный комплекс средств на основе последних промышленных стандартов CORBA 2.4 и J2EE 1.3. Варианты поставки:
    • AppServer Edition – масштабируемый сервер приложений платформы J2EE
    • VisiBroker Edition – CORBA-решение для разработки, развертывания
      и управления распределенными приложениями (развитие Borland
      VisiBroker – инструментария
      разработки распределенных информационных систем на
      основе архитектуры CORBA, а также организации взаимодействия
      CORBA-объектов)
    • Web Edition – надежная платформа для развертывания web-приложений
    • Team Edition – решение, обеспечивающее доступность
      и продуктивность развертывания J2EE-приложений
  • Janeva – обеспечивает соединение основных технологических платформ современных компаний и позволяет оптимизировать взаимодействие между инфраструктурами Microsoft .NET Framework и J2EE и CORBA.
  • VisiBroker-RT – решение для разработки и развертывания распределенных
    систем, интегрированное с операционными системами реального
    времени

Сервера баз данных

  • Borland InterBase 7.5 – высокопроизводительный, экономичный, многоплатформенный сервер баз данных, интегрированный с инструментами разработки Borland.
  • JDataStore – хранилище данных, поддерживающее
    многопользовательские транзакции с реляционными объектами, графикой и потоками
    данных.
  • Заказать ознакомительные версии
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector