home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Pascal / Source□ / Talk Source / Talk ƒ / TalkInput.p < prev    next >
Encoding:
Text File  |  1992-04-20  |  1.9 KB  |  99 lines  |  [TEXT/PJMM]

  1. unit TalkInput;
  2.  
  3. { This program was written by Peter N Lewis, Mar 1992 in THINK Pascal 4.0.1 }
  4.  
  5. interface
  6.  
  7.     procedure InitTalkInput;
  8.     procedure FinishTalkInput;
  9.     procedure Talk;
  10.  
  11. implementation
  12.  
  13.     uses
  14.         MyAddressInput, MyUtilities, OOMainLoop, AppGlobals, Preferences, {}
  15.         TCPTypes, TCPStuff, TCPConnections, TalkUtils, Talks, MyDialogs, TalkTos;
  16.  
  17.     type
  18.         TIObject = object(AIObject)
  19.                 procedure PackStringBlank (var s: str255);
  20.                 override;
  21.                 procedure PackString (var s: str255);
  22.                 override;
  23.                 procedure UnPackString (s: str255);
  24.                 override;
  25.                 function IsOKOn: boolean;
  26.                 override;
  27.                 function IsSetDefaultOn: boolean;
  28.                 override;
  29.                 procedure DoCommand (s: str255);
  30.                 override;
  31.             end;
  32.  
  33.     procedure TIObject.PackStringBlank (var s: str255);
  34.     begin
  35.         if (default_machine = '') and (default_user = '') then
  36.             s := '@'
  37.         else
  38.             PackName(s, default_user, default_machine);
  39.     end;
  40.  
  41.     procedure TIObject.PackString (var s: str255);
  42.     begin
  43.         PackName(s, default_user, default_machine);
  44.     end;
  45.  
  46.     procedure TIObject.UnPackString (s: str255);
  47.     begin
  48.         UnPackName(s, default_user, default_machine);
  49.     end;
  50.  
  51.     function TIObject.IsOKOn: boolean;
  52.         var
  53.             s, s1, s2: str255;
  54.             nsetdefon: boolean;
  55.     begin
  56.         GetItemText(window, ai_user, s1);
  57.         GetItemText(window, ai_machine, s2);
  58.         PackName(s, s1, s2);
  59.         IsOKOn := s <> '?';
  60.     end;
  61.  
  62.     function TIObject.IsSetDefaultOn: boolean;
  63.         var
  64.             s, s1, s2: str255;
  65.             nsetdefon: boolean;
  66.     begin
  67.         GetItemText(window, ai_user, s1);
  68.         GetItemText(window, ai_machine, s2);
  69.         PackName(s, s1, s2);
  70.         IsSetDefaultOn := (s <> '?') or ((s1 = '') and (s2 = ''));
  71.     end;
  72.  
  73.     procedure TIObject.DoCommand (s: str255);
  74.     begin
  75.         TalkTo(s);
  76.     end;
  77.  
  78. {$ Init}
  79.     procedure InitTalkInput;
  80.     begin
  81.         InitAddressInput;
  82.     end;
  83.  
  84. {$ Term}
  85.     procedure FinishTalkInput;
  86.     begin
  87.     end;
  88.  
  89. {$S}
  90.     procedure Talk;
  91.         var
  92.             fio: TIObject;
  93.     begin
  94.         new(fio);
  95.         fio.Create(talk_input_dialog_id);
  96.         ShowWindow(fio.window);
  97.     end;
  98.  
  99. end.