Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2009, 19:39   #1
mavlon_m
Форумчанин
 
Регистрация: 04.08.2009
Сообщений: 101
По умолчанию Cообщение (ShowMessage)

Скажите пожалуйста как мне отправить сообщение на удаленном компьютере? Спасибо!
mavlon_m вне форума Ответить с цитированием
Старый 05.08.2009, 02:07   #2
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

через сокеты, или тот же TITICQClien.
в сокетах помоему шлеш текст с клиента на свой сервер программу
и там обрабатуеш
вот код для сервера
Код:
procedure TForm1.ServerSocket1ClientRead(Sender:TObject;
 Socket : TCustomWinSocket);
var
s : string;
begin
s:=Socket.ReceiveText;
if s='msg' then
ShowMessage('ok');
end;
для клиентской части немного иначе
Код:
procedure TForm1.Button1Click(Sender : TObject);
begin
ClientSocket1.Host:=Edit1.Text;
ClientSocket1.Active:=true;
ClientSocket1.Socket.SendText('msg');
ClientSocket1.Active:=false;
end;
иначе я незнаю как.
DeDoK вне форума Ответить с цитированием
Старый 05.08.2009, 02:49   #3
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Писал давно уже... Обрати внимание на следующие моменты:
1. В данном случае я использу библиотеку из JediAPI
2. Т.к. этот код я переделывал уже под Д2009, то и использовал уже юникод, а потому и WideChar.
3. Служба Messenger должна быть запущена как на локальной, так и на удаленной машине.

Код:
uses  JwaLmMsg;

var
  wDest: PWideChar;
  wSource: PWideChar;
  wMsg: PWideChar;
begin
wDest := nil;
wSource := nil;
wMsg := nil;

try
  GetMem(wMsg, Length(msg) * SizeOf(WideChar) + 1);
  GetMem(wDest, 20 * SizeOf(WideChar) + 1);
  StringToWideChar(msg, wMsg, Length(msg) * SizeOf(WideChar) + 1);
  StringToWideChar(Dest, wDest, 20 * SizeOf(WideChar) + 1);

  if Source = '' then
  Result := NetMessageBufferSend(nil, wDest, nil, PByte(wMsg),
  Length(msg) * SizeOf(WideChar) + 1)
  else
  begin
    GetMem(wSource, 20 * SizeOf(WideChar) + 1);
    StringToWideChar(Source, wSource, 20 * SizeOf(WideChar) + 1);
    Result := NetMessageBufferSend(wSource, wDest, wSource, PByte(wMsg),
    Length(msg) * SizeOf(WideChar) + 1);
    FreeMem(wSource);
  end;//Else
finally
FreeMem(wMsg);
FreeMem(wDest);
end;
Баламут вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cообщение segail Microsoft Office Excel 1 19.06.2009 15:40
showmessage Neymexa Помощь студентам 2 24.01.2009 18:00
ShowMessage DM_bite Помощь студентам 14 12.09.2008 01:02
Как в Showmessage Михаил Юрьевич Общие вопросы Delphi 2 03.07.2008 06:00
Проблема с ShowMessage ~LiS~ Помощь студентам 11 14.11.2007 23:00