home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sibylft1.zip / SAMPLES.DAT / SAMPLES / DDESRV / DDESRVU1.PAS < prev   
Pascal/Delphi Source File  |  1997-03-21  |  3KB  |  127 lines

  1. Unit DdeSrvU1;
  2.  
  3. Interface 
  4.  
  5. Uses
  6.   Classes, Forms, Graphics, StdCtrls, Buttons, Dialogs;
  7.  
  8. Type
  9.   TDDEServerForm = Class (TForm)
  10.     Label1: TLabel;
  11.     ListBox1: TListBox;
  12.     Label2: TLabel;
  13.     DdeServerConv1: TDdeServerConv;
  14.     DdeServerItem1: TDdeServerItem;
  15.     AddBtn: TButton;
  16.     RemoveBtn: TButton;
  17.     EditBtn: TButton;
  18.     Procedure EditBtnOnClick (Sender: TObject);
  19.     Procedure RemoveBtnOnClick (Sender: TObject);
  20.     Procedure AddBtnOnClick (Sender: TObject);
  21.     Procedure DdeServerConv1OnCreate (Sender: TObject);
  22.     Procedure DDEServerFormOnSetupShow (Sender: TObject);
  23.     Procedure ListBox1OnCreate (Sender: TObject);
  24.     Procedure DdeServerConv1OnExecuteMacro (Sender: TObject; Macro: TStrings;
  25.                                             Var Success: Boolean);
  26.     Procedure DdeServerItem1OnPokeData (Sender: TObject);
  27.   Private
  28.     {Insert private declarations here}
  29.   Public
  30.     {Insert public declarations here}
  31.   End;
  32.  
  33. Var
  34.   DDEServerForm: TDDEServerForm;
  35.  
  36. Implementation
  37.  
  38. Procedure TDDEServerForm.EditBtnOnClick (Sender: TObject);
  39. Var s:String;
  40. Begin
  41.   If ListBox1.ItemIndex<0 Then
  42.   Begin
  43.      ErrorBox('No item selected !');
  44.      exit;
  45.   End
  46.   Else
  47.   Begin
  48.      s:=ListBox1.Items[ListBox1.ItemIndex];
  49.      If InputQuery('Modify Item','New caption of item:',s) Then
  50.      Begin
  51.         ListBox1.Items[ListBox1.ItemIndex]:=s;
  52.         DDEServerItem1.Lines:=ListBox1.Items;
  53.      End;
  54.   End;
  55. End;
  56.  
  57. Procedure TDDEServerForm.RemoveBtnOnClick (Sender: TObject);
  58. Begin
  59.   If ListBox1.ItemIndex<0 Then
  60.   Begin
  61.      ErrorBox('No item selected !');
  62.      exit;
  63.   End
  64.   Else
  65.   Begin
  66.      ListBox1.Items.Delete(ListBox1.ItemIndex);
  67.      DDEServerItem1.Lines:=ListBox1.Items;
  68.   End;
  69. End;
  70.  
  71. Procedure TDDEServerForm.AddBtnOnClick (Sender: TObject);
  72. Var s:String;
  73. Begin
  74.   s:='';
  75.   If InputQuery('Add Item','Caption of item:',s) Then
  76.   Begin
  77.     ListBox1.Items.Add(s);
  78.     DDEServerItem1.Lines:=ListBox1.Items;
  79.   End;
  80. End;
  81.  
  82. Procedure TDDEServerForm.DdeServerConv1OnCreate (Sender: TObject);
  83. Begin
  84.   //specify the DDE service we support (DDESRV by default)
  85.   DdeMgr.AppName:='Sibyl DDESRV Demo';
  86. End;
  87.  
  88. Procedure TDDEServerForm.DDEServerFormOnSetupShow (Sender: TObject);
  89. Begin
  90.   //Set the font for the application to the font of the mainform
  91.   //this is useful for the dialogs (InputQuery) to display the correct font
  92.   Application.Font:=Font;
  93.  
  94.   DDEServerItem1.Lines:=ListBox1.Items;
  95. End;
  96.  
  97. Procedure TDDEServerForm.ListBox1OnCreate (Sender: TObject);
  98. Var t:Longint;
  99. Begin
  100.    For t:=1 To 10 Do
  101.      ListBox1.Items.Add('DDE Server Item #'+tostr(t));
  102. End;
  103.  
  104. Procedure TDDEServerForm.DdeServerConv1OnExecuteMacro (Sender: TObject;
  105.           Macro: TStrings; Var Success: Boolean);
  106. Var t:LongInt;
  107. Begin
  108.   For t:=0 To Macro.Count-1 Do
  109.   Begin
  110.       If Macro[t]='Change Color' Then
  111.       Begin
  112.           If Color=clDlgWindow Then Color:=clDkGray
  113.           Else Color:=clDlgWindow;
  114.       End;
  115.   End;
  116. End;
  117.  
  118. Procedure TDDEServerForm.DdeServerItem1OnPokeData (Sender: TObject);
  119. Begin
  120.   ListBox1.Items:=TDdeServerItem(Sender).Lines;
  121. End;
  122.  
  123. Initialization
  124.   RegisterClasses ([TDDEServerForm, TLabel, TListBox, TDdeServerConv, TDdeServerItem,
  125.     TButton]);
  126. End.
  127.