Сергей Талипов - Иcпользование API на Delphi 7

Иcпользование API на Delphi 7
Название: Иcпользование API на Delphi 7
Автор:
Жанр: Программирование
Серии: Нет данных
ISBN: Нет данных
Год: 2021
О чем книга "Иcпользование API на Delphi 7"

В данном сборнике приведены лекции по использованию API в Delphi 7: ini-файлы, реестр Windows, Drag&Drop, Sockets TCP/IP, dll-библиотеки, win-handle и др.

Бесплатно читать онлайн Иcпользование API на Delphi 7


ЛЕКЦИЯ №1

1. РАБОТА С INI – ФАЙЛАМИ

Ini-файл – это текстовый файл, в котором информация сгруппирована по секциям, ключам. Данные файлы широко применяются во многих приложениях и в операционной системе Windows для хранения различных программных данных и настроек пользователя. В таком файле можно хранить, например, положение окон программы, дату, время и продолжительность работы программы, пути к разным данным и данным, выбранные в программе настройки пользователя Ниже приведена структура и пример Ini-файла:


Для работы с Ini-файлами применяется дополнительный модуль Delhi «inifiles». Ссылку на данный модуль необходимо прописать в разделе «uses» работающей с Ini-файлами форме программы. Вся работа с Ini-файлами осуществляется через тип «TiniFile» модуля «inifiles». Основные методы данного типа следующие:


CreateОткрытие Ini-файла для чтения или записи
FreeЗакрытие открытого Ini-файла
UpdateFileОбновляет данные из/в файла на диске
SectionExistsПроверка существования в файле данной секции
ValueExistsПроверка существования в файле ключа в данной секции
ReadSectionsПолучение перечня всех секций файла
EraseSectionУдаление данной секции со всеми ее ключами
DeleteKeyУдаление ключа в данной секции
ReadSectionПолучение перечня ключей данной секции
ReadSectionValuesПолучение значений всех ключей (с именами) данной секции
ReadStringЧтение строкового значения из ключа данной секции
ReadBoolЧтение логического значения из ключа данной секции
ReadDateЧтение даты из ключа данной секции
ReadDateTimeЧтение даты и время из ключа данной секции
ReadFloatЧтение вещественного значения из ключа данной секции
ReadIntegerЧтение целого значения из ключа данной секции
ReadTimeЧтение времени из ключа данной секции
WriteStringЗапись (обновление) строкового значения в ключ данной секции
WriteBoolЗапись логического значения в ключ данной секции
WriteDateЗапись даты в ключ данной секции
WriteDateTimeЗапись даты и времени в ключ данной секции
WriteFloatЗапись вещественного значения в ключ данной секции
WriteIntegerЗапись целого значения в ключ данной секции
WriteTimeЗапись времени в ключ данной секции


Рассмотрим на подробном примере процедуру записи информации в Ini-файл:

procedure TForm1.Button3Click(Sender: TObject);

var t_Ini: TIniFile;

  k: integer; s, path_pr, nfile: string; td: tdatetime;

begin

  k:=736; s:='Okey'; td:=now;

  path_pr:=ExtractFilePath(application.exename) +'tsn.ini';

  t_Ini := TIniFile.Create(nfile);

  try

  with t_Ini do begin

     WriteInteger('TSN', 'str1', k);

     WriteFloat('TSN', 'str2', 736.123);

     WriteString('TSN', 'str3', s);

     WriteDate('TSN', 'str4', strtodate('01.02.2012'));

     WriteTime('TSN', 'str5', td);

     Writebool('TSN', 'str6', true);

  end;

  except

    showmessage('Нет доступа к Ini-файлу !');

  end;

  t_Ini.Updatefile; t_Ini.Free;

end;


Рассмотрим на примере процедуру считывания ранее сохраненной информации из Ini-файла:


procedure TForm1.Button4Click(Sender: TObject);

var t_Ini: TIniFile;

  k: integer; s, path_pr, nfile: string; td: tdatetime;

begin

  path_pr:=ExtractFilePath(application.exename) +'tsn.ini';

  t_Ini := TIniFile.Create(nfile);

  try

  with t_Ini do begin

     k:=ReadInteger('TSN', 'str1', -1); showmessage(inttostr(k));

     s:=ReadString('TSN', 'str3', '-1'); showmessage(s);

     td:=ReadDate('TSN', 'str4', strtodate('1.1.2000'));

     showmessage(datetostr(td));

     showmessage(floattostr(ReadFloat('TSN', 'str2', -1.123)));

     showmessage(timetostr(ReadTime('TSN2', 'str5', now)));

     showmessage(inttostr(byte(ReadBool('TSN2', 'str6', false))));

  end;

  except

    showmessage('Нет доступа к Ini-файлу !');

  end;

  t_Ini.Free;

end;


ЛЕКЦИЯ №2

1. РАБОТА С РЕЕСТРОМ WINDOWS


Реестр Windows – это база данных, в которой операционная система Windows и внешние программы сохраняют нужные им данные. Логическая структура реестра напоминает строение Ini-файла, отличие состоит в том, что Ini-файл состоит из разделов (секций) и ключей раздела со значениями, а реестр состоит из разделов, вложенных подразделов (неограниченное число) и ключей (параметров) разделов/подразделов со значениями.


Реестр Windows имеет древовидную структуру, подобную файловой системе, где разделы и подразделы соответствуют каталогам и подкаталогам, а ключи со значениями – именам файлов:


Рис. 1


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


ПараметрИспользование реестра WindowsИспользование Ini-файлов
Перенос данных с компьютера на компьютерТрудность переноса данных с использованием экспорта/импорта ветвей реестра через программу редактора реестра («regedit»)Легкость переноса данных путем простого копирования Ini-файла с одного компьютера на другой
Модификация данныхЧерез функции прикладной программы или программу редактора реестраЧерез функции прикладной программы или корректировки в обычном текстовом редакторе
Привязка к конкретному пользователю WindowsАвтоматически на уровне операционной системы через корневой раздел «HKEY_CURRENT_USER»Трудно через функции прикладной программы
Привязка к конкретному компьютеруАвтоматически на уровне операционной системы через корневой раздел «HKEY_LOCAL_MACHINE»Трудно через функции прикладной программы

Таблица 1


Реестр состоит из шести корневых разделов, два из которых представляют наибольший интерес: раздел «HKEY_LOCAL_MACHINE» предназначен для хранения данных, доступных всем пользователям Windows, а раздел «HKEY_CURRENT_USER» хранит данные, доступные только для текущего пользователя Windows. Другие корневые разделы обычно используются только операционной системой и некоторыми системными программами.


Язык программирования Delphi 5 позволяет производить с реестром Windows любые манипуляции через подключение модуля «Registry» в разделе «interface -> uses». Рассмотрим на примере основные базовые операции при записи и считывании данных с реестра:


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

{ Процедура записи данных в реестр }

var Reg: tRegistry;

begin

  Reg:=tRegistry.Create;

  Reg.RootKey:=HKEY_LOCAL_MACHINE;

  try

    if Reg.OpenKey('\Software\TSN736\', true) then begin

      if not Reg.KeyExists('setup') then Reg.CreateKey('setup');

      if Reg.OpenKey('\Software\TSN736\setup', false) then begin

        Reg.WriteInteger('Left', form1.left); Reg.WriteInteger('Top', form1.top);

        Reg.CloseKey;

      end;

    end;

  finally

    Reg.Free;

  end;

end;


procedure TForm1.FormCreate(Sender: TObject);

{ Процедура чтения данных с реестра }

var Reg: tRegistry;

begin

  Reg:=tRegistry.Create;

  Reg.RootKey:=HKEY_LOCAL_MACHINE;

  try


С этой книгой читают
В данном пособии приведен необходимый учебный материал для изучения основ программирования на Java в среде разработки NetBeans. Особенность пособия заключается в его направленности на быструю начальную разработку программ с графическим интерфейсом, что позволяет в дальнейшем без проблем изучать и осваивать более сложный теоретический материал и технологии программирования на Java.
Основы программирования на Python3 с визуальными компонентами PyQt5 (для PyCharm Community).
Лекции по Си и C++ для начинающих. Рассмотрены основные темы и простейшие примеры, работающие на современных компиляторах.
Лекции по Delphi 7, который в свое время многим открыл путь в мир программирования.
Эта книга состоит из двух частей: художественной, где рассказывается удивительная история мальчика, захотевшего стать белым хакером (хотя в ней, конечно же, есть и девочка, а также его друзья), и научно-популярной, в которой дается обучение (она так и называется в книге, ты увидишь ее, когда начнешь читать) программированию и разным другим компьютерным вещам, очень нужным в современном мире. Но на самом деле это единая история, позволяющая задума
Увлекательная книга, которая знакомит юных читателей с основами программирования через простые примеры и интерактивные задания. В каждой главе раскрываются ключевые концепции, такие как алгоритмы, переменные, циклы, ветвления и функции. Дети узнают, как составлять инструкции для компьютеров, решать задачи и создавать свои первые программы на языке Python. Простые объяснения, аналогии из повседневной жизни и практические задания помогут начинающим
Telegram Bot V2. Создание бота и Монетизация для профессионалов – это практическое руководство, которое шаг за шагом проводит вас через все этапы разработки и монетизации Telegram-ботов. В книге раскрыты технические аспекты настройки, интеграции API, UX/UI дизайна, а также современные стратегии монетизации, включая подписки, рекламу, партнёрские программы и донаты. Она подходит для опытных разработчиков, которые хотят создать востребованного бота
Python. Первый шаг в программировании для детей и начинающих – это практическое руководство, которое откроет дверь в мир программирования для самых юных и начинающих разработчиков. Книга объясняет основы Python простым и понятным языком, сопровождая каждую тему живыми примерами, увлекательными задачами и веселыми проектами. Читатели узнают, как создавать программы, игры и графические рисунки, а также поймут, как решать задачи с помощью кода.Эта к
Маленькие чудеса, могут ждать нас, где угодно.
N – Множество натуральных чисел. am – ante meridiem дословно – «до полудня»
Обыкновенный город. Обыкновенные наши дни. Обыкновенный молодой человек снимает обыкновенную квартиру, в которой начинают происходить необыкновенные вещи.
Многие века между людьми и эльфами шла непримиримая борьба. И всякий остроухий, оказавшийся среди людей, неизбежно привлекал внимание Охотников. Почти пятнадцать лет полукровке Эриал Найт удавалось жить в неведении, пока смерть приемной матери и предательство друга не вынудили ее покинуть убежище и выйти в неспокойный мир. Но даже скрываясь от Охотников, Эри надеется на счастье. На пути к нему ей предстоит пережить немало приключений, влюбиться и