Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

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


unit Ddemlclu;


interface


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

const NumValues = 3;


type

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

 TDataSample = array [1..NumValues] of Integer;

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


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

 TForm1 = class(TForm)

  MainMenu1: TMainMenu;

  File1: TMenuItem;

  exit1: TMenuItem;

  DDE1: TMenuItem;

  RequestUpdate1: TMenuItem;

  AdviseofChanges1: TMenuItem;

  PokeSomeData: TMenuItem;

  N1: TMenuItem;

  PaintBox1: TPaintBox;

  procedure FormCreate(Sender: TObject);

  procedure FormDestroy(Sender: TObject);

  procedure RequestUpdate1Click(Sender: TObject);

  procedure FormShow(Sender: TObject);

  procedure AdviseofChanges1Click(Sender: TObject);

  procedure PokeSomeDataClick(Sender: TObject);

  procedure Request(HConversation: HConv);

  procedure exit1Click(Sender: TObject);

  procedure PaintBox1Paint(Sender: TObject);

 private

  { Private declarations }

 public

  Inst: Longint;

  CallBackPtr: ^TCallback;

  ServiceHSz : HSz;

  TopicHSz : HSz;

  ItemHSz : array [1..NumValues] of HSz;

  ConvHdl : HConv;

  DataSample : TDataSample;

 end;


var Form1: TForm1;


implementation


const

 DataEntryName : PChar = 'DataEntry';

 DataTopicName : PChar = 'SampledData';

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


{$R *.DFM}


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

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

begin

 CallbackProc := 0; { В противном случае смотрите доказательство }

 case CallType of

 xtyp_Register:

  begin

   { Ничего ... Просто возвращаем 0 }

  end;

 xtyp_Unregister:

  begin

   { Ничего ... Просто возвращаем 0 }

  end;

 xtyp_xAct_Complete:

  begin

   { Ничего ... Просто возвращаем 0 }

  end;

 xtyp_Request, Xtyp_AdvData:

  begin

   Form1.Request(Conv);

   CallbackProc := dde_FAck;

  end;

 xtyp_Disconnect:

  begin

   ShowMessage('Соединение разорвано!');

   Form1.Close;

  end;

 end;

end;


{ Посылка DDE запроса для получения cf_Text данных с сервера. Запрашиваем данные для всех полей DataSample, и обновляем окно для их отображения. Данные с сервера получаем синхронно, используя DdeClientTransaction.}

procedure TForm1.Request(HConversation: HConv);

var

 hDdeTemp : HDDEData;

 DataStr : TDataString;

 Err, I : Integer;

begin

 if HConversation <> 0 then begin

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT