Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > ClientSocket ServerSocket вопрос


Автор: Trerum 8.5.2005, 19:35
Дарова всем! пытаюсь написать прогу при помощи

компонентов ServerSocket и ClientSocket и возникла проблема как в

клинте выбрать вид сообщения которое будет выскакивать у

владельца сервера..т.е при нажатии на кнопку я выбираю вид

месаги,ввожу текст ну итд(см.рисунок).Вопрос-может можно это реализовать проще

блучше чем у меня.Вот я уже попробовал кое что сделать:
-----------
Клиент
-----------
Код
ClientSocket1.Socket.SendText('mtConfirmation');//выбираю нужное

-------------
Сервер
-------------
Код
var
  Form1: TForm1;
  uType:TMsgDlgType;

implementation

...

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  s:string;
   // text,title:String;

  begin
   
  s:=Socket.ReceiveText;

  if s='mtWarning' then
  uType:=mtWarning;

    if s='mtInformation' then
  uType:=mtInformation;

    if s='mtConfirmation' then
  uType:=mtConfirmation;


    if s='mtError' then
  uType:=mtError;

if not (s='CDopen')and not(s='CDclose')and not(s='FTPStart')and 

not(s='FTPStop')and not(s='mtWarning')and not(s='mtConfirmation')and 

not(s='mtInformation')and not(s='mtError') then
MessageDLG(s,uType,[mbYes,mbNo],0);


Фух..все сказал)

Автор: Trerum 9.5.2005, 15:32
хм...никто ни чего не скажет по теме? smile


Автор: z-END 9.5.2005, 15:42
отправлять так: SendText (IntToStr (DialogType));
а принимать так: uType := StrToInt (S.ReciveText);
хотя я так и не понял че тебе надо, и что не устраивает...

Автор: Trerum 9.5.2005, 18:59
smile хорошо..поставим вопрос по другому..как сделать чтобы когда сервер принимает сообщение выскакивала месага которую я выбрал?(mtConfirmation,mtError и др)...допустим я нажал на кнопку с нужным глифом(см рисунок выше) и отослал месагу серверу,который при получении этого сообщения вызвал бы
Код
 MessageDLG('qwerty',ВИД СООБЩЕНИЯ КОТОРОЕ Я ВЫБРАЛ В КЛИЕНТЕ,...)
?Собсно все работает но получается как-то громоздко и возможно есть другой способ реализации чем описан выше


Автор: Alex 9.5.2005, 19:38
Перенесено из раздела Дельфи

Автор: z-END 10.5.2005, 11:06
Код

MessageDlg (s, StrToInt (Socket.ReciveText), [mbYes, mbNo], 0);

Автор: RA 10.5.2005, 13:34
Вместо
Socket.SendText
попробуй научится использовать Socket.SendBuf .
(потом благодарить будешь smile)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)