home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk15 / ddedemo.pak / DDESRV.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-08-24  |  1.4 KB  |  70 lines

  1. unit Ddesrv;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, StdCtrls, DdeMan,
  6.   Menus, ExtCtrls;
  7.  
  8. type
  9.   TDdeSrvrForm = class(TForm)
  10.     DdeTestTopic: TDdeServerConv;
  11.     DdeTestItem: TDdeServerItem;
  12.     Label3: TLabel;
  13.     Label4: TLabel;
  14.     MainMenu1: TMainMenu;
  15.     File1: TMenuItem;
  16.     Edit2: TMenuItem;
  17.     Copy1: TMenuItem;
  18.     Label1: TLabel;
  19.     Bevel1: TBevel;
  20.     Edit1: TMemo;
  21.     procedure doOnPoke(Sender: TObject);
  22.     procedure doOnChange(Sender: TObject);
  23.     procedure doMacro(Sender: TObject; Msg: TStrings);
  24.     procedure CopyClick(Sender: TObject);
  25.  
  26.   private
  27.     FInPoke: Boolean;
  28.   public
  29.     { Public declarations }
  30.   end;
  31.  
  32. var
  33.   DdeSrvrForm: TDdeSrvrForm;
  34.  
  35. implementation
  36.  
  37. uses Dialogs;
  38.  
  39. {$R *.DFM}
  40.  
  41. procedure TDdeSrvrForm.doOnPoke(Sender: TObject);
  42. begin
  43.   FInPoke := True;
  44.   Edit1.Lines := DdeTestItem.Lines;
  45.   FInPoke := False;
  46. end;
  47.  
  48. procedure TDdeSrvrForm.doOnChange(Sender: TObject);
  49. begin
  50.   if not FInPoke then
  51.     DdeTestItem.Lines := Edit1.Lines;
  52. end;
  53.  
  54. procedure TDdeSrvrForm.doMacro(Sender: TObject;
  55.   Msg: TStrings);
  56. var
  57.   Text: string;
  58. begin
  59.   Text := '';
  60.   if Msg.Count > 0 then Text := Msg.Strings[0];
  61.   MessageDlg ('Executing Macro - ' + Text, mtInformation, [mbOK], 0);
  62. end;
  63.  
  64. procedure TDdeSrvrForm.CopyClick(Sender: TObject);
  65. begin
  66.   DdeTestItem.CopyToClipboard;
  67. end;
  68.  
  69. end.
  70.