Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Здесь есть возможность читать онлайн «Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Советы по Delphi. Версия 1.4.3 от 1.1.2001»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Советы по Delphi. Версия 1.4.3 от 1.1.2001», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Edit3: TEdit;

procedureOKBtnClick(Sender: TObject);

procedureFormShow(Sender: TObject);

private

{ Private declarations }

public

S1, S2, S3: String;

{ Public declarations }

end;

var DataEntry: TDataEntry;

implementation

{$R *.DFM}

procedureTDataEntry.OKBtnClick(Sender: TObject);

begin

S1 := Edit1.Text;

S2 := Edit2.Text;

S3 := Edit3.Text;

end;

procedureTDataEntry.FormShow(Sender: TObject);

begin

Edit1.Text := '0';

Edit2.Text := '0';

Edit3.Text := '0';

Edit1.SetFocus;

end;

end.

{ *** КОНЕЦ КОДА DDEDLG.PAS *** }

Как добавить группу в Program Manager?

Delphi 1

interface

procedureCreateGroup;

implementation

procedureTSetupForm.CreateGroup;

{ Для установки группы в Program Manager используем компонент TProgMan }

var

ItemList: TStringList;

GroupName: String;

ItemName: String;

i: word;

begin

{ Получаем из INI-файла строку GroupName }

GroupName := IniFile.ReadString('General', 'PMGroup', '');

{ Если один есть, устанавливаем группу }

ifGroupName <> '' then begin

ItemList := TStringList.Create;

try

{ читаем элементы для установки }

IniFile.ReadSectionValues('PMGroup', ItemList);

withTProgMan.Create(Self) do try

CreateGroup(GroupName);

fori := 0 toItemList.Count – 1 do begin

{ получаем имя файла }

ItemName := Copy(ItemList.Strings[i], 1, Pos('=', ItemList.Strings[i]) – 1);

{ прибавляем путь к имени файла и добавляем элемент }

AddItem(GetTarget(ItemList.Values[ItemName][1]) + ItemName, ItemName);

end;

finally

Free;

end;

finally

ItemList.Free;

end;

end;

end;

OLE

OLE-автоматизация в Delphi 1

Delphi 1

Delphi 16 также может осуществлять автоматизацию OLE, как она может и многое другое. Другое дело, что у нее нет компонентов-инкапсуляторов, и нет традиционных объектов, делающих работу с OLE такой же легкой, как это происходит с другими вещами в Delphi. Delphi32 таки должен иметь какие-то характеристики для работы с OLE (я так надеюсь).

Так, если вы собираетесь делать какие-то действия с любым типом OLE-сервера, то для этого вам необходимо будет использовать все нудные и противные рутинки из набора Windows SDK. Но будет лучше, если всем этим будет заправлять специализированный компонент. Но этот вопрос уже не к Borland.

OLE сервер

Delphi 1

Следующий код компилируется без проблем. Он не так ясен и понятен, но он может вам помочь:

unitUnit1;

interface

functionOLEfunction(x, y, z: integer): integer; cdecl; export;

implementation

functionOLEfunction(x, y, z: integer): integer;

begin

end;

procedurebuildOLEstructure;

varF: pointer;

begin

F := @OLEfunction; { Компилируется без проблем … }

end;

end.

Используйте метод, приведенный ниже. Вы должны объявить одну вызывающую функцию к каждой комбинации параметров, которые вы собираетесь передавать. Затем вы вызываете вызывающую функцию (сорри) и передаете ей как указатель функцию, которую вы хотите вызвать (еще раз сорри). Непонятно? Поясню на примере:

librarypcdecl;

functionolefunction(a1: pchar; a2: longint; x: integer): integer; cdecl; export;

begin

end;

functioncallolefunction(func: pointer; a1: pchar; a2: longint; x: integer): integer; assembler;

asm

push x { помещаем параметры в обратном порядке }

push word ptr a2 + 2 { если 32-битная величина передается в этих двух шагах, то начинаем с самой «высокой» (high) части }

push word ptr a2

push word ptr a1 + 2

push word ptr a1

call func

add sp, 10 { восстанавливаем стек добавлением вытолкнутых байтов. Обратите внимание на то, что func не была вытолкнута }

end;

procedurebuildolefunction;

var

f: pointer;

reslt: integer;

begin

f := @olefunction;

{ --- }

reslt := callolefunction(f, 'Здравствуй, мир', 1000000, 25);

{ --- }

end;

begin

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Представляем Вашему вниманию похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Обсуждение, отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x