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


Авторские права

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

Здесь можно скачать бесплатно "Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
Рейтинг:
Название:
Советы по Delphi. Версия 1.4.3 от 1.1.2001
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

Описание и краткое содержание "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать бесплатно онлайн.



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






• требуется настройка клиентов (DCOM Configuration Utility — DCOMCNFG.EXE);

• встроенная поддержка модели безопасности Windows NT;

• поддержка обратных вызовов (методов);

CORBA

• на клиентах и серверах требуется наличие Common Object Request Broker;

• требуется настройка клиентов;

• поддержка обратных вызовов (методов);

OLE Enterprise:

• на клиентах и серверах требуется наличие OLE Enterprise;

• требуется настройка клиентов;

• поддержка обратных вызовов (методов);

DDE 

DDE – передача текста

Delphi 1 

Вот я как работаю с Excel:

type

 DDEClientConv1.SetLink('Excel','Sheet1');

try

 DDEClientConv1.OpenLink;

 DDEClientItem1.DDEItem:= 'R1C1';

 DDEClientConv1.PokeData(DDEClientItem1.DDEItem, StrPCopy(P, SomeString)));

finally

 DDEClientConv1.CloseLink;

end;

Как вы можете здесь видеть, свойство DDEItem определяется сервером. Если ваш сервер является приложением Delphi, то DDEItem – имя DDEServerItem. На вашем месте я бы не стал так долго заниматься отладкой DDE-программ. Воспользуйтесь синхронизацией, позволяющей понять при отладке правильность действий.

Управление Program Manager в Win95 с помощью DDE

Delphi 1

Для управления программными группами в Program Manager с помощью DDE мною был использован следующий модуль. За основу был взят код Steve Texeira (sp) из руководства Dephi Developers Guide.

Работает под Win 3.1 и '95.

unit Pm;


interface


uses SysUtils, Classes, DdeMan;


type

 EProgManError = class(Exception);


 TProgMan = class(TComponent)

 private

  FDdeClientConv: TDdeClientConv;

  procedure InitDDEConversation;

  function ExecMacroString(Macro: String): Boolean;

 public

  constructor Create(AOwner: TComponent); override;

  destructor Destroy; override;

  Procedure CreateGroup(GroupName: String; ShowGroup:Boolean);

  procedure DeleteGroup(GroupName: String);

  procedure DeleteItem(ItemName: String);

  procedure AddItem(CmdLine, ItemName: String);

 end;


implementation


uses Utils;


const

 { DDE-макростроки для Program Manager }

 SDDECreateGroup = '[CreateGroup(%s)]';

 SDDEShowGroup   = '[ShowGroup(%s, 1)]';

 SDDEDeleteGroup = '[DeleteGroup(%s)]';

 SDDEDeleteItem  = '[DeleteItem(%s)]';

 SDDEAddItem     = '[AddItem(%s, "%s", %s)]';


constructor TProgMan.Create(AOwner: TComponent);

begin

 inherited Create(AOwner);

 InitDDEConversation;

end;


destructor TProgMan.Destroy;

begin

 if Assigned(FDDEClientConv) then FDdeClientConv.CloseLink;

 inherited Destroy;

end;


function TProgMan.ExecMacroString(Macro: String): Boolean;

Begin

 StringAsPchar(Macro);

 Result := FDdeClientConv.ExecuteMacro(@Macro[1], False);

End;


Procedure TProgMan.InitDDEConversation;

begin

 FDdeClientConv := TDdeClientConv.Create(Self);

 If NOT FDdeClientConv.SetLink('PROGMAN', 'PROGMAN') then

  raise EProgManError.Create('Не могу установить DDE Link');

end;


Procedure TProgMan.CreateGroup(GroupName: String; ShowGroup:Boolean);

Begin

 { Удаляем группу, если она существует }ExecMacroString(Format(SDDEDeleteGroup, [GroupName]));

 If NOT ExecMacroString(Format(SDDECreateGroup, [GroupName])) then

  raise EProgManError.Create('Не могу создать группу ' + GroupName);

 If ShowGroup then

  If not ExecMacroString(Format(SDDEShowGroup, [GroupName])) then

   raise EProgManError.Create('Не могу показать группу ' + GroupName);

End;


Procedure TProgMan.DeleteGroup(GroupName: String);

Begin

 if NOT ExecMacroString(Format(SDDEDeleteGroup, [GroupName])) then

  raise EProgManError.Create('Не могу удалить группу ' + GroupName);

End;


Procedure TProgMan.DeleteItem(ItemName: String);

Begin

 if NOT ExecMacroString(Format(SDDEDeleteGroup, [ItemName])) then

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

End;


Procedure TProgMan.AddItem(CmdLine, ItemName: String);

Var

 P: PChar;

 PSize: Word;

Begin

 PSize := StrLen(SDDEAddItem) + (Length(CmdLine) *2) + Length(ItemName) + 1;

 GetMem(P, PSize);

 try

  StrFmt(P, SDDEAddItem, [CmdLine, ItemName, CmdLine]);

  if NOT FDdeClientConv.ExecuteMacro(P, False) then

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

 finally

  FreeMem(P, PSize);

 end;

End;

end.

GROUPFILE и ADDITEM для групп

Delphi 1

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

procedure TMainForm.CreateWinGroup(Sender: TObject);

var

 Name: string;

 Name1: string;

 Macro: string;

 Macro1: string;

 Cmd, Cmd1: array[0..255] of Char;

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 not DDEClient.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 *** }

program Ddemlcli;


uses Forms,Ddemlclu in 'DDEMLCLU.PAS' {Form1};

{$R *.RES}


begin

 Application.CreateForm(TForm1, Form1);

 Application.Run;

end.

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


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

object Form1: 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


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

Книги похожие на "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Валентин Озеров

Валентин Озеров - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.