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

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

raiseEProgManError.Create('Не могу добавить элемент ' + ItemName);

finally

FreeMem(P, PSize);

end;

End;

end.

GROUPFILE и ADDITEM для групп

Delphi 1

Вот код для создания файла группы и добавления в группу файла-элемента. Чтобы использовать эту процедуру, определите DDE clientconv App как ProgMan.

procedureTMainForm.CreateWinGroup(Sender: TObject);

var

Name: string;

Name1: string;

Macro: string;

Macro1: string;

Cmd, Cmd1: array[0..255] ofChar;

begin

{destDir - dos-каталог, хранящий YourFile.Ext'}

Name := 'GroupName';

Name1 := destDir + 'YourFile.Ext, FileName_in_Group ';

Macro := Format('[CreateGroup(%s)]', [Name]) + #13#10;

Macro1 :=Format('[Additem(%s)]',[Name1]) +#13#10;

StrPCopy(Cmd, Macro);

StrPCopy(cmd1, Macro1);

DDEClient.OpenLink;

if notDDEClient.ExecuteMacro(Cmd, False) then

MessageDlg('Невозможно создать группу '+Name, mtInformation, [mbOK], 0)

else begin

DDEClient.ExecuteMacro(Cmd1, False);

end;

DDEClient.CloseLink;

end;

Как можно работать с DDE под Delphi, используя вызовы API?

Delphi 3

Кстати, достаточно легко: следующий пример демонстрирует как можно научить общаться клиентскую программу с программой-сервером. Обе программы полностью созданы на Delphi. В итоге мы имеем 2 проекта, 3 формы и 3 модуля. Для работы с DDE-запросами данный пример использует методы DDE ML API.

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

1. Клиент может "пропихивать" (POKE) данные на сервер.

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

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

Как работает программа.

Ниже приведены 8 файлов, сконкатенированных в единое целое. Каждый файл имеет следующую структуру:

{ *** НАЧАЛО КОДА FILENAME.EXT *** } КОД{ *** КОНЕЦ КОДА FILENAME.EXT *** },

поэтому вам остается всего-лишь взять код, расположенный между маркерами { *** }, скопировать в файл с соответствующим именем, и собрать оба проекта в среде Delphi.

{ *** НАЧАЛО КОДА DDEMLCLI.DPR *** }

programDdemlcli;

usesForms,Ddemlclu in'DDEMLCLU.PAS' {Form1};

{$R *.RES}

begin

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

{ *** КОНЕЦ КОДА DDEMLCLI.DPR *** }

{ *** НАЧАЛО КОДА DDEMLCLU.DFM *** }

objectForm1: TForm1

Left = 197

Top = 95

Width = 413

Height = 287

HorzScrollBar.Visible = False

VertScrollBar.Visible = False

Caption = 'Демонстрация DDEML, Клиентское приложение'

Font.Color = clWindowText

Font.Height = -13

Font.Name = 'System'

Font.Style = []

Menu = MainMenu1

PixelsPerInch = 96

OnCreate = FormCreate

OnDestroy = FormDestroy

OnShow = FormShow

TextHeight = 16

object PaintBox1: TPaintBox

Left = 0

Top = 0

Width = 405

Height = 241

Align = alClient

Color = clWhite

ParentColor = False

OnPaint = PaintBox1Paint

end

objectMainMenu1: TMainMenu

Top = 208

objectFile1: TMenuItem

Caption = '&Файл'

objectexit1: TMenuItem

Caption = 'В&ыход'

OnClick = exit1Click

end

end

objectDDE1: TMenuItem

Caption = '&DDE'

objectRequestUpdate1: TMenuItem

Caption = '&Запрос на обновление'

OnClick = RequestUpdate1Click

end

objectAdviseofChanges1: TMenuItem

Caption = '&Сообщение об изменениях'

OnClick = AdviseofChanges1Click

end

objectN1: TMenuItem

Caption = '-'

end

objectPokeSomeData: TMenuItem

Caption = '&Пропихивание данных'

OnClick = PokeSomeDataClick

end

end

end

end

{ *** КОНЕЦ КОДА DDEMLCLU.DFM *** }

{ *** НАЧАЛО КОДА DDEMLCLU.PAS *** }

{***************************************************}

{ }

{ Delphi 1.0 DDEML Демонстрационная программа }

{ Copyright (c) 1996 by Borland International }

{ }

{***************************************************}

{ Это демонстрационное приложение, демонстрирующее использование DDEML API в клиентском приложении. Оно использует серверное приложение DataEntry, которое является частью данной демонстрации, и служит для ввода данных и отображения их на графической панели.

Сначала вы должны запустить приложение-сервер (в DDEMLSRV.PAS), а затем стартовать клиента. Если сервер не запущен, клиент при попытке соединения потерпит неудачу.

Интерфейс сервера определен списком имен (Service, Topic и Items) в отдельном модуле с именем DataEntry (DATAENTR.TPU). Сервер делает Items доступными в формате cf_Text; они преобразовываются и хранятся локально как целые. }

unitDdemlclu;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, VBXCtrl, ExtCtrls, DDEML, Menus, StdCtrls;

constNumValues = 3;

type

{ Структура данных, представленная в примере }

TDataSample = array[1..NumValues] ofInteger;

TDataString = array[0..20] ofChar; { Размер элемента как текста }

{ Главная форма }

TForm1 = class(TForm)

MainMenu1: TMainMenu;

File1: TMenuItem;

exit1: TMenuItem;

DDE1: TMenuItem;

RequestUpdate1: TMenuItem;

AdviseofChanges1: TMenuItem;

PokeSomeData: TMenuItem;

N1: TMenuItem;

PaintBox1: TPaintBox;

procedureFormCreate(Sender: TObject);

procedureFormDestroy(Sender: TObject);

procedureRequestUpdate1Click(Sender: TObject);

procedureFormShow(Sender: TObject);

procedureAdviseofChanges1Click(Sender: TObject);

procedurePokeSomeDataClick(Sender: TObject);

procedureRequest(HConversation: HConv);

procedureexit1Click(Sender: TObject);

procedurePaintBox1Paint(Sender: TObject);

private

{ Private declarations }

public

Inst: Longint;

CallBackPtr: ^TCallback;

ServiceHSz : HSz;

TopicHSz : HSz;

ItemHSz : array[1..NumValues] ofHSz;

ConvHdl : HConv;

DataSample : TDataSample;

end;

varForm1: TForm1;

implementation

const

DataEntryName : PChar = 'DataEntry';

DataTopicName : PChar = 'SampledData';

DataItemNames : array[1..NumValues] ofpChar = ('DataItem1', 'DataItem2', 'DataItem3');

{$R *.DFM}

{ Локальная функция: Процедура обратного вызова для DDEML }

functionCallbackProc(CallType, Fmt: Word; Conv: HConv; hsz1, hsz2: HSZ; Data: HDDEData; Data1, Data2: Longint): HDDEData; export;

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

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x