Оценить:
 Рейтинг: 0

Иcпользование API на Delphi 7

Год написания книги
2012
<< 1 ... 5 6 7 8 9 10 11 12 13 ... 15 >>
На страницу:
9 из 15
Настройки чтения
Размер шрифта
Высота строк
Поля

procedure Clear1(var edit1_text: pchar; var mm1: pchar; var scrollbar1_position: integer); stdcall; external 'repa.dll';

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

// Запись данных

begin

Save1(Pchar(edit1.text), Pchar(memo1.Lines.Text), scrollbar1.Position);

end;

procedure TForm1.Button2Click(Sender: TObject);

// Очистка данных

var e,m: pchar; k: integer;

begin

clear1(e, m, k);

edit1.text:=e; memo1.Lines.Text:=m; scrollbar1.Position:=k;

end;

procedure TForm1.Button3Click(Sender: TObject);

// Загрузка данных

var e,m: pchar; k: integer;

begin

Load1(e, m, k);

edit1.text:=e; memo1.Lines.Text:=m; scrollbar1.Position:=k;

end;

end.

ЛЕКЦИЯ №7

1. API – ФУНКЦИИ WINDOWS УПРАВЛЕНИЯ ВНЕШНИМИ ПРИЛОЖЕНИЯМИ

API-функции – это набор стандартных функций операционной системы Windows, через которые можно программно управлять всеми запущенными программами и ресурсами компьютера. API-функции являются некоторым современным аналогом функциям-прерываниям INT21h MS-DOS. Возможность использовать данные функции в Делфи организуется через автоматически подключаемый модуль «Windows».

Для получения справки по API-функциям из Делфи необходимо выбрать пункт «Help > Windows SDK (Win32 Developer's References)». Данный хелп содержит подробную информацию о правилах вызова основных API- функций (синтаксис языка «С»).

Все визуальные компоненты Делфи, например «Edit, Label, Button» и др. являются окнами, как и форма. Для универсальной работы с любыми окнами используются дескрипторы (handle) окон. Дескриптор окна – это указатель на окно в виде целого числа (аналог порядкового номера), типа «HWND» (прототип «Integer»). При открытии любого окна (видимого или невидимого, типа формы или кнопки), Windows присваивает ему уникальный дескриптор. Данный указатель действителен до закрытия окна или перезагрузки Windows. Любому окну Windows может присвоить любой дескриптор.

Для того, чтобы узнать дескрипторы окон какой-либо программы, применяется программа «WinSight32» из пакета программ Delphi или другая подобная программа.

2. ПРИМЕР РАБОТЫ С API-ФУНКЦИЯМИ

function GetText1(Wnd: HWND): string;

{ Получение текста из окна, способ 1 (универсальный) }

var textlength: Integer; Text: PChar;

begin

textlength := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0);

if textlength = 0 then Result := '' else begin

GetMem(Text, textlength + 1);

SendMessage(Wnd, WM_GETTEXT, textlength + 1, Integer(Text));

Result := Text;

FreeMem(Text);

end;

end;

function GetText2(h: HWND): string;

{ Получение текста из окна, способ 2 }

var i:LongWord; s:string;

begin

i:=GetWindowTextLength(h)+1; SetLength(s,i);

GetWindowText(h,pchar(s),i); SetLength(s,i-1);

GetText2:=s;

end;

procedure SetTxt1 (h: HWND; s: string);
<< 1 ... 5 6 7 8 9 10 11 12 13 ... 15 >>
На страницу:
9 из 15