Сделай Сам Свою Работу на 5

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ





Реестр Windows 3.1

 

Сам реестр, как древовидная иерархическая база данных впервые появился в Windows 3.1 (апрель 1992). Это был всего один двоичный файл, который назывался REG.DAT и хранился в каталоге C:\Windows\. Реестр Windows 3.1 имел только одну ветку HKEY_CLASSES_ROOT. Он служил для связи DDE, а позднее и OLE объектов. Одновременно c появлением реестра в Windows 3.1 появилась программа REGEDIT.EXE для просмотра и редактирования реестра. Первый реестр уже имел возможность импорта данных из *.REG файлов. В базовой поставке шёл файл SETUP.REG, содержащий данные по основным расширениям и типам файлов. Реестр Windows 3.1 имел ограничение на максимальный размер файла REG.DAT — 64 Кбайт. Если вдруг реестр превышал этот размер — то файл реестра (REG.DAT) приходилось удалять и собирать заново либо из *.REG файлов, либо вводить данные вручную.

 

Реестр Windows NT 3.1

 

Следующий шаг сделан в Windows NT 3.1 (июль 1993). Произошёл отказ от устаревших файлов MS-DOS: AUTOEXEC.BAT и CONFIG.SYS, а также от INI-файлов, как от основных файлов конфигурации. На «регистрационную базу» (реестр) была переведена вся конфигурация системы. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS. Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД. В комплекте поставки оставался файл REGEDIT.EXE, который по-прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT, и появился файл REGEDT32.EXE, который позволял редактировать все ветки реестра. Далее технология и идеология (назначение) реестра уже не менялись. Все последующие версии Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7) использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Далее менялись названия файлов реестра и их расположение, а также название и назначение ключей.



 

Современный реестр Windows

 

Реестр в том виде, как его использует Windows и как видит его пользователь в процессе использования программ работы с реестром, формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее. Вначале, в процессе установки и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы. Затем, в процессе каждой загрузки системы, а также в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» — объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System …), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description). То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows. Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы. Однако, есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами. Программы оптимизации реестра, твикеры, а также инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.



 

Описание разделов реестра

 

HKEY_CURRENT_USER

 

Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU. Хотя этот раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.

 



HKEY_USERS

 

Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера. Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.

 

HKEY_LOCAL_MACHINE

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

 

HKEY_CLASSES_ROOT

 

Является подразделом HKEY_LOCAL_MACHINE\Software\Classes. В основном, содержит информацию о зарегистрированных типах файлов и объектах COM и ActiveX. Вместо полного имени раздела иногда используется аббревиатура HKCR. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER.

Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет объединённые данные программам, написанным под ранние версии Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.

HKEY_CURRENT_CONFIG

 

Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы является сылкой на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Current

 

HKEY_DYN_DATA

 

Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).

 

WinApi функции

 

Windows API - общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт» и совместимой с ними свободной бесплатной операционной системы ReactOS. Является самым прямым способом взаимодействия приложений с Windows и ReactOS. Для создания программ, использующих Windows API, «Майкрософт» выпускает комплект разработчика программного обеспечения, который называется Platform SDK, и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.

Windows API был изначально спроектирован для использования в программах, написанных на языке Си или C++. Работа через Windows API - это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

 

Версии

 

Win16 - первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.

Win32s - подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x, и реализующее ограниченный набор функций Win32 API для этих систем.

Win32 - 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в динамически подключаемых библиотеках kernel32.dll и advapi32.dll; базовые модули графического интерфейса пользователя - в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUIобеспечивают два модуля: csrss.exe (процесс исполнения клиент-сервер), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро - ntoskrnl.exe.

Win64 - 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows 7 и Windows 8.

Алфавитный список технологий, доступных через Windows API:

· Система контроля и управления доступом.

· Microsoft Active Accessibility.

· Active Directory.

· Active Server Pages.

· ActiveX.

· Автоматизация.

· Фоновая интеллектуальная служба передачи (BITS).

· Bluetooth.

· CDO.

· Certificate Enrollment Control.

· Certificate Services.

· Collaboration Data Objects.

· Windows File Protection

· И так далее.

 

Аналоги программ других разработчиков

EVEREST

Everest - программа для просмотра информации об аппаратной и программной конфигурации компьютера, разработанная компанией Lavalys. Являлась последовательницей AIDA32, заменена на рынке программой AIDA64.

Рис.1.1 Общий вид программы «EVEREST»

Программа анализирует конфигурацию компьютера и выдаёт

подробную информацию:

· об установленных в системе устройствах - процессорах, системных платах, видеокартах, аудиокартах, модулях памяти и т. д.

· их характеристиках: тактовая частота, напряжение питания, размер кэшей, и т. д.

· поддерживаемых ими наборах команд и режимах работы

· их производителях

· установленном программном обеспечении

· конфигурации операционной системы

· установленных драйверах

· автоматически загружаемых программах

· запущенных процессах

· имеющихся лицензиях

Тестирование производительности ПК:

· чтение из памяти - тестирует скорость пересылки данных из ОЗУ к процессору.

· запись в память - тестирует скорость пересылки данных из процессора к ОЗУ, копирование в памяти - тестирует скорость пересылки данных из одних ячеек памяти в другие через кэш процессора.

· задержка памяти - тестирует среднее время считывания процессором данных из ОЗУ.

· CPU Queen - тестирует производительность процессора в целочисленных операциях при решении классической «Задачи с ферзями».

· CPU PhotoWorxx - тестирует производительность блоков целочисленных арифметических операций, умножения, а также подсистемы памяти при выполнении ряда стандартных операций с RGB-изображениями.

· CPU ZLib - тестирует производительность процессора и подсистемы памяти при создании архивов формата ZIP при помощи популярной открытой библиотеки ZLib. Использует целочисленные операции.

· CPU AES - тестирует скорость процессора при выполнении шифрования по криптоалгоритму AES. Способен использовать низкоуровневые команды шифрования процессоров VIA C3 и C7, что позволяет последнему быть одним из лидеров теста, превосходя по производительности ряд многоядерных процессоров Intel и AMD.

· FPU Julia - тестирует производительность блоков процессора, выполняющих операции с плавающей запятой, в вычислениях с 32-разрядной точностью. Моделирует несколько фрагментов фракталаЖюлиа. При возможности использует инструкции MMX, SSE и 3DNow!.

· FPU Mandel - тестирует производительность блоков процессора, выполняющих операции с плавающей запятой, в вычислениях с 64-разрядной точностью путем моделирования нескольких фрагментов фрактала Мандельброта. Способен использовать инструкции SSE2.

· FPU SinJulia - усложненный вариант теста FPU Julia. Тестирует производительность блоков процессора, выполняющих операции с плавающей запятой, в вычислениях с 80-разрядной точностью. Использует инструкции x87, предназначенные для вычисления тригонометрических и показательных функций.

При необходимости получить полный набор данных, который может выдать программа, можно воспользоваться функцией «формирование отчёта». При этом подача результата в этом случае возможна в трёх различных вариантах: обычный текст, HTML и MHTML.

Компания FinalWire Ltd. анонсировала о приобретении программы для диагностики, тестирования, аппаратного мониторинга, Lavalys Everest. Тем самым, программа Lavalys Everest официально прекращает свое существование, уступая дорогу новой утилите под названием AIDA64. Разработка программы официально прекращена 19 ноября 2010 года.

 

AIDA32

 

AIDA32 - в прошлом популярная бесплатная программа для просмотра информации об аппаратной и программной конфигурации компьютера. Её развитием стали платные программы Everest (2004-2010) и AIDA64 (с 2010).

Рис. 1.2 Главный вид программы «AIDA32»

Программа анализирует конфигурацию компьютера и выдаёт подробную информацию:

· о установленных в системе устройствах — процессорах, системных платах, видеокартах, аудиокартах, модулях памяти и т. д.

· их характеристиках: тактовая частота, напряжение питания, размер кэшей, и т. д.

· температура центрального процессора (CPU) (выбор (нажать "+") на панели слева: "Компьютер"—>"Датчик", Температуры, ЦП)

· поддерживаемых ими наборах команд и режимах работы

· их производителях

· установленном программном обеспечении

· конфигурации операционной системы

· установленных драйверах

· автоматически загружаемых программах

· запущенных процессах

· имеющихся лицензиях

В программе есть тест записи в память и чтения из памяти с возможностью сравнения их результатов с эталонными. Интерфейс многоязычный и устанавливается автоматически в зависимости от установленной локали. У Aida32 есть и 16-битная версия для использования в DOS. 24 марта 2004 Tamas Miklos закрыл свой проект AIDA32, а с 19 апреля был закрыт и сайт программы.

 

AIDA64

 

AIDA64 - одна из лучших информационно-диагностических программ, предоставляющая максимум информации о вашей системе. Ранее проект назывался AIDA16 и AIDA32, и программа распространялась по лицензии freeware.

Рис.1.3 Общий вид программы «AIDA64»

Затем она получила название Everest и стала shareware-продуктом. 6 октября 2010 г. программа снова вернула своё первоначальное название и теперь именуется AIDA64 (совместима как с 64-, так и с 32-разрядными Windows). AIDA64 имеет русский интерфейс (и несколько десятков других). В целом, эту программу хочется иметь не только на своём компьютере, её хочется рекомендовать другим. В первую очередь новичкам по "железу", поскольку она выдаёт полные отчёты о системе на родном языке, позволяет выполнять сравнение с реальными конфигурациями и получать полезные советы с прямыми ссылками для устранения проблем. Ещё одно преимущество программы - отсутствие необходимости её инсталлировать. AIDA64 работает сразу после разархивирования её на компьютере, из любого каталога. Поэтому однажды поставив эту программу, скажем, на диск D, вы забудете о необходимости её установки даже после выполнения команды Format C: при очередном слёте Windows. И в заключение, если вы собираетесь серьёзно увечься "железом", рекомендуется заглянуть в меню "Избранное", в котором присутствует много ссылок на полезные ресурсы по интересующей вас тематике. В настоящее время существуют две версии программы AIDA64: Extreme Edition и Business Edition
Различия версий можно узнать на страницах описаний программ официального сайта.

Структура каталогов для Zip архивов старых бета версий и новых финальных и бета версий слегка различается: в новых версиях языковые файлы расположены в подкаталоге /Language, в старых бетах всё было свалено в одну кучу. Оба варианта рабочие и их достаточно просто распаковать и запустить файл aida64.exe. Отчёты программа по умолчанию сохраняет в подкаталоге /Reports.Результаты полученных в AIDA64 тестов производительности (бенчмарков) не сопоставимы не только с результатами полученными в стандартных промышленных эталонных тестах Standard Performance Evaluation Corporation(SPEC) или с другими популярными бенчмарками, но так же и между различными версиями AIDA64 и не воспроизводимы даже в пределах одного сеанса измерений - авторы постоянно меняют применяемые ими самодельные алгоритмы измерения проверить правильность результатов которых не возможно. Эти цифры могут использоваться только для примерной оценки производительности оборудования в качестве весьма и весьма приближённых и очень сомнительных оценочных показателей поскольку их разброс в пределах серии измерений проведённой в течении одного сеанса при неизменных условиях тестирования может достигать ±50% и более.

 

РАЗДЕЛ 2

 

СРЕДА И ЯЗЫКИ РАЗРАБОТКИ

 

В данном разделе описаны среда разработки, в которой написана программа и язык программирования.

 

Среда разработки Delphi 7

 

Embarcadero Delphi, ранее Borland Delphi и CodeGear Delphi, -интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio и поставляется в четырёх редакциях: Starter, Professional, Enterprise и Architect. Координирующий офис Embarcadero ответственный за разработку Delphi находится в Торонто, тогда как сама разработка сконцентрирована главным образом в Румынии и России. В России Embarcadero представлена двумя офисами — в Санкт-Петербурге(разработка) и в Москве (маркетинг).

8 февраля 2006 года Borland объявила о намерениях продать подразделения, занимающиеся средствами разработки и сервером баз данных InterBase, выделив их в дочернюю компанию CodeGear, которая 1 июля 2008 года была продана компании Embarcadero Technologies. Текущая, 18-я по счёту версия носит название Delphi XE4 и является частью продукта под названием Embarcadero RAD Studio XE4. В этой версии поддерживаются языки программирования Delphi и C++. Среда разработана в соответствии с концепцией визуального программирования.

Delphi 2009

 

Новое в Delphi 2009:

· полная поддержка Unicode. Приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и поддерживать как Unicode-строки, так и ANSI-строки. Новые усовершенствованные средства локализации помогают переводить приложения на различные языки. Все функции Windows API заменены на их unicode-аналоги (например, ранее MessageBox определялась как MessageBoxA, теперь — MessageBoxW); тип String теперь на самом деле является UnicodeString, а Char — WideChar, PChar теперь объявлен как PWideChar. Старые типы и описания ANSI-вариантов системных функций сохранились, однако теперь потребуется прямое их указание (например, Set of Char в Delphi 2009 будет Set of AnsiChar, а MessageBox — MessageBoxA). Delphi 2009 — первая из версий Delphi для Win32, требующая серьёзной переработки проектов при переходе на новую версию, что особенно критично для системных программистов, широко использовавших прямую обработку типов данных;

· новые элементы языков программирования, в том числе Generics и анонимные методы для Delphi, позволяют создавать более гибкий и качественный код и предоставляют новые возможности для рефакторинга;

· новая библиотека VCL включает в себя множество усовершенствований и новых компонентов для создания развитого графического интерфейса;

· веб-библиотека VCL позволяет создавать веб-приложения с развитым интерфейсом с поддержкой AJAX;

· уменьшено время передачи приложением сообщений операционной системе;

· визуальное проектирование и разработка баз данных благодаря входящему в состав редакции Delphi Architect профессионального средства моделирования Embarcadero ER/Studio.

 

Delphi 2010

 

25 августа 2009 года компания Embarcadero Technologies объявила о выпуске интегрированной среды разработки Embarcadero Rad Studio 2010, в которую вошла новая версия Delphi 2010.

Новое в Delphi 2010:

· Поддержка Windows 7 API, Direct2D и мультисенсорного ввода.

· Поддержка касаний и жестов для Windows 2000, XP, Vista и 7.

· IDE Insight в Delphi 2010 — мгновенный доступ к любой функции или параметру.

· Delphi 2010 включает свыше 120 усовершенствований для повышения производительности.

· Визуализаторы отладчика.

· В Delphi 2010 включена поддержка Firebird с помощью dbExpress.

· Классический интерфейс Delphi 7 и панель инструментов со вкладками как опция.

· Расширение RTTI — поддержка атрибутов, которые могут быть применены к типам(в том числе классам и интерфейсам), полям, свойствам, методам и к элементам перечислений.

 

Редакция Delphi 2010 Professional

 

· Локальное подключение к базам данных InterBase, Blackfish SQL и MySQL при подключении через dbExpress.

· Развертывание Blackfish SQL в системах с одним пользователем и размером базы данных 512 МБ.

· Веб-библиотека VCL с ограничением числа подключений (не более 5).

Редакция Delphi 2010 Enterprise:

· Delphi 2010 Enterprise включает все возможности редакции Delphi 2010 Professional и ряд дополнительных возможностей.

· Подключение к серверам баз данных InterBase, Firebird, Blackfish SQL, MySQL, Microsoft SQL Server, Oracle, DB2, Informix и Sybase при подключении через dbExpress.

· Разработка многоуровневых приложений баз данных DataSnap.

· Развертывание Blackfish SQL в системах с пятью пользователями и размером базы данных 2 ГБ.

· Веб-библиотека VCL без ограничения числа подключений.

· Дополнительные возможности UML-моделирования.

 

Редакция Delphi 2010 Architect

 

Возможности Delphi 2010 Architect:

· Delphi 2010 Architect включает все возможности редакции Delphi 2010 Enterprise и ряд дополнительных возможностей.

· Обратное проектирование, анализ и оптимизация баз данных.

· Создание логических и физических моделей на основе сведений, извлеченных из баз данных и файлов сценариев.

· Удобные для восприятия и навигации диаграммы.

· Delphi 2010 Architect дает возможность прямого проектирования путем автоматического создания кода базы данных из моделей.

· В Delphi 2010 Architect усовершенствовано двунаправленное сравнение и объединение моделей и структур баз данных.

Delphi XE

 

Delphi XE (Delphi 2011, code named Fulcrum), была выпущена 30 августа 2010. Новые возможности Delphi XE:

· Интеграция Subversion.

· Новые возможности VCL и RTL.

· Доработки в редакторе кода.

· Обновление DataSnap, в частности по части поддержки новых версий СУБД.

· Обновление средств моделирования, поддержка диаграмм последовательностей.

· Новые возможности для расширения IDE, обновленный Open Tools API.

 

Delphi XE2

 

1 сентября 2011 года Embarcadero выпустила RAD Studio XE2, которая включает в себя Delphi XE2, а также C++Builder, Prism XE2 и RadPHP XE2.

Новое в Delphi XE2:

· Поддержка платформы x64 (пока только для Windows).

· Поддержка операционных систем Mac OS X и iOS.

· Кросс-платформенная библиотека FireMonkey[7] для создания современного пользовательского интерфейса. FireMonkey использует аппаратное ускорение если оно доступно, и не совместима с VCL.

· Библиотека LiveBindings для связывания интерфейса с различными наборами данных.

· Значительные улучшения в технологии DataSnap. В частности, добавлены генераторы заготовок приложений с кодом взаимодействия с создаваемым DataSnap-сервером для большинства мобильных платформ, на разных, соответствующих платформам, языках программирования.

 

Delphi XE3

 

3 сентября 2012 года Embarcadero выпустила RAD Studio XE3. Delphi XE3 поддерживает 32 битную и 64 битную редакции Windows (включая Windows 8) и улучшенную поддержку Apple Mac OS X с фреймворком Firemonkey 2/FM². Поддержка iOS была изначально прекращена (с намерением вернуть ее обратно в отдельном продукте - Mobile Studio), но приложения могут по прежнему разрабатывать под эту платформу разрабатывая с Delphi XE2.

 

Delphi XE4

 

RAD Studio XE4 появилась в продаже 23 апреля 2013 года. В новую версию вошли такие продукты, как Delphi XE4, C++ XE4 и кроссплатформенная среда FireMonkey FM.

 

Нововведения:

· Вернулась поддержка iOS, которая отсутствовала в RAD Studio XE3.

· Взамен RAD Studio XE3 Mobile, выход которой ожидался в начале 2013 года, RAD Studio XE4 была дополнена функционалом для разработки мобильных приложений.

· Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.

· Эмулятор мобильных устройств.

· Улучшено взаимодействие с такими базами данных, как InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap и тд.

В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP, предназначенную для разработки веб-приложений на языке программирования PHP. Теперь среда Delphi ориентирована не только на язык Delphi. Были выпущены 1-я и 2-я версии, после чего Delphi for PHP была переименована в RadPHP XE (по сути 3-я версия), затем RadPHP XE2, и с выпуском Delphi XE3 этот продукт сильно переработан и назван HTML5 Builder. Delphi for .NET — среда разработки Delphi, а также язык Delphi, ориентированные на разработку приложений для .NET. Первая версия полноценной среды Delphi для .NET — Delphi 8. Среда позволяет писать приложения только для .NET. В Delphi 2005 можно писать приложения для .NET, используя стандартную библиотеку классов .NET и VCL для .NET. Среда позволяет писать .NET-приложения на C#. Delphi 2005 также позволяет писать обычные приложения с использованием библиотек VCL и CLX. Delphi 8, 2005, 2006 используют .NET Framework версии 1.1. Delphi for .NET 2007, включённая в состав CodeGear RAD Studio 2007, разработана для .NET Framework 2.0. Начиная с версии 2009, поддержка Delphi.NET была прекращена. Для разработки под .NET предлагается Delphi Prism. Delphi Prism — среда разработки под .NET и Mono на языке Oxygene, использующая Visual Studio Shell (с возможностью интеграции в Visual Studio).

Delphi -структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое. Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft .NET. Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE. Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC. Object Pascal - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal - динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией - данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу - там и буду лежать». Соответственно организуется и «многокучность». Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal. Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corporation.

· Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);

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

Delphi for .NET - среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET. Первая версия полноценной среды разработки Delphi для .NET - Delphi 8. Она позволяла писать приложения только для .NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0. В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор. Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания - CodeGear, которая будет финансово полностью подконтрольна Borland. В августе 2006 года Borland выпустил облегченную версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++. В марте 2008 года было объявлено о прекращении развития этой линейки продуктов. В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP. В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap 25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. Версия привнесла множество нововведений в язык, как то:

· По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).

· Обобщённые типы, они же generics.

· Анонимные методы.

· Новая директива компилятора $POINTERMATH [ON|OFF].

· Функция Exit теперь может принимать параметры в соответствии с типом функции.

Вышедшая в 2011 году версия Delphi XE2 добавила компилятор Win64 и кросс-компиляцию для операционных систем фирмы Apple.

Компиляторы языка:

1. Free Pascal (FPC) - свободный компилятор Оbject Pascal, который поддерживает различные диалекты Паскаля, включая Turbo Pascal, Delphi и собственные диалекты. На текущий момент, FPC может генерировать код для x86, x86-64, PowerPC, SPARC и процессоров ARM, а также для различных операционных систем, в том числе для Microsoft Windows, Linux, FreeBSD, Mac OS. Существует несколько сред разработки программного обеспечения для FPC (один из самых известных представителей - Lazarus).

2. Embarcadero Delphi (ранее наз. CodeGear Delphi и Borland Delphi) - наверное, самый известный компилятор, который является последователем Borland Pascal и Turbo Pascal. Используется Win16 (Delphi 1), Win32 (Delphi 2 и позже), Win64 (Delphi 16 (XE2) и позже), а также .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Поддержка .NET, впоследствии выделена в отдельный продукт, известный как Oxygene;

3. GNU Pascal (отдельно разработанная версия из GCC). Не ставит целью продолжение серии диалектов Delphi, как составляющей Паскаля, но тем не менее содержит режим совместимости Borland Pascal, и очень медленно приспосабливает компоненты языка Delphi. Не подходит для компиляции больших проектов, содержащих код Delphi, но стоит отметить, что его поддерживают большинство операционных систем и архитектур.

4. Oxygene (ранее известен как Chrome) - компилятор Object Pascal, который интегрирован в Microsoft Visual Studio. Также доступный в виде компилятора с вольной командной строкой CLI. Использует .NET и моно платформы. В настоящий момент продаётся под маркой Embarcadero Delphi Prism.

5. MIDletPascal - язык программирования с Delphi-подобным синтаксисом, и одноименный компилятор, который преобразует исходный код в компактный и быстрый байт-код Java.

6. Virtual Pascal - Бесплатный компилятор и текстовая IDE для Win32, OS/2 и Линукса. На тот момент очень быстрый и весьма совместимый (частично поддерживаются конструкции Delphi 5). Внешне очень похож на текстовую среду Borland Pascal 7, хотя отсутствует совместимая с ним графика, например. Однако разработка окончилась в 2004 году, а исходники открыты не были. С тех пор FPC ушёл намного вперед и в целом для программирования лучше он. Тем не менее, VP остаётся очень неплохим вариантом быстрой замены ещё более устаревших версий Borland Pascal для школы/института, учитывая родную работу в Win32 без проблем с русскими кодировками.

Расширения файлов:

· .pas - исходный код модуля (pascal);

· .dpr - исходный код проекта (pascal);

· .dproj - исходный код проекта (xml);

· .dproj.local - исходный код проекта (xml);

· .dfm - исходный код формы;

· .dpk - скомпилированный пакет;

· .dcu - скомпилированный модуль;

· .exe - скомпилированное приложение;

· .res – ресурсы;

· .dsk - привязки к файлам;

· .identcache - кэшированные привязки к файлам.

 

РАЗДЕЛ 3

 

РУКОВОДСТВО ПРОГРАММИСТА

 

В данном разделе перечислены и описаны все функции, которые используются в программе:

· Главное окно, в котором находится TListBox, кнопки, определяющие все главные функции программы.

· Дополнительные окна, для интерфейса пользователя и удоства использования программы.

Функция выводит на экран всю информацию об имени текущего пользователя средствами функций WinAPI.

 

function GetComputerNetName:string; //узнаем имя компьютера

var

buffer:array[0..255] of Char;

size:DWORD;

begin

size:=256;

if GetComputerName(buffer,size) then

Result:=buffer

else Result:= '';

end;

 

Функция выводит на экран всю информацию об имени текущего пользователя средствами функций WinAPI.

 

function GetCurrentUserName:String; //узнаем имя текущего пользователя

const

cnMaxUserNameLen=254;

var

sUserName:String;

dwUserNameLen:DWORD;

begin

dwUserNameLen:=cnMaxUserNameLen-1;

SetLength(sUserName,cnMaxUserNameLen);

GetUserName(PChar(sUserName),dwUserNameLen);

SetLength(sUserName,dwUserNameLen);

Result:=sUserName;

end;

 

 


РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

 

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

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

 

Рис.3.4.Вид главного окна

 

 

Далее можно проверить работоспособность программы, например выберем информацию об оперативной памяти:

Рис. 3.5.Первое дополнительное окно, которое мы рассмотрим это «Информация о пользователе»:

Рис.3.6.Вид при активации доп. окна «Информация о пользователе»

 

Далее проверим на работоспособность дополнительное окно «Локальные диски», предназначенное для просмотра содержимого локальных дисков и съемных устройств:

Рис.3.7.Окно «Локальные диски»

Далее перейдем в окно «Дополнительная информация». Тут содержится информация, которая не попала не в один из разделов но является так же многозначительной:

Рис.3.8.Вид окна «Дополнительная информация»


ВЫВОДЫ

 

В процессе разработки данного приложения были изучены принципы программирования средствами WinAPI. Конечная программа имеет простейший в использовании интерфейс пользователя и в то же время имеет вполне широкий функционал. В результате разработки данной программы также была затронута тема реестра. Но основная часть программы написана на функциях Windows API. Программа InfoPC отличается от своих аналогов простым интерфейсом и структурированностью. Вся программа структурирована по отдельным разделам, что делает поиск нужного устройства еще более простым. Все вышеназванные цели были достигнуты.

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Финогенов К. Г. Win32. Основы программирования. - 2-е изд., испр. и дополн. - М.: ДИАЛОГ-МИФИ, 2006.

2. Гэри Неббет Справочник по базовым функциям API Windows NT/2000 = Windows NT/2000 Native API Reference. — М.: «Вильямс», 2002. — С. 528. — ISBN 1-57870-199-6

3. RSDN Magazine #4-2005

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.