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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2008, 15:47   #1
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
Вопрос Передача данных по локальной сети

Дело в том, что я никогда не работал с сетью в Delphi, потому сразу извеняюсь если такая тема уже затрагивалась! У меня есть локальная сеть из нескольких компьютеров, на двух из них нужно поставить программы(очень простые):
1) на первом stringgrid в который будут вводиться данные, и button
нажатием на который эти данные должны передаться на другой
компьютер.
2) на втором тоже stringgrid в которые эти данные будут переноситься и
всё!!!
Прошу выложить код или ссылку на подобную тему, всё что я нашёл в поиске по сайту так это то, как реализовать чат, но это немного другое...
Если эта информация имеет значение для кода, так эти две машины не являются серваками сети.
Заранее огромное спасибо!!!
zzzzz вне форума Ответить с цитированием
Старый 13.11.2008, 17:16   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
всё что я нашёл в поиске по сайту так это то, как реализовать чат, но это немного другое...
Ну, и зря... Чат, написанный при помощи IdUDPServer и IdUDPClient работает быстро и безглючно. Но, если данные нельзя показывать всем клиентам....
Вот здесь лежит исходник программы по обмену сообщениями. Будет работать только в WinXP при включеной службе обмена сообщениями. Я пробовал писать похожую прогу при помощи этой функции:
Код:
function NetSend(const sTo, sMessage: string): Boolean;
type
  PNetMessageBufferSend = ^TNetMessageBufferSend;
  TNetMessageBufferSend = function(
    servername: PWideChar;
    msgname: PWideChar;
    fromname: PWideChar;
    buf: PBYTE;
    buflen: DWORD
    ): Integer; stdcall;
var
  wMessage, wTo: PWideChar;
  i, hLib: Integer;
  NetMessageBufferSend: TNetMessageBufferSend;
begin
  Result := False;
  hLib := LoadLibrary('NetApi32.dll');
  if hlib > 0 then
  try
    @NetMessageBufferSend := GetProcAddress(hLib, 'NetMessageBufferSend');
    if @NetMessageBufferSend <> nil then
    begin
      wMessage := CoTaskMemAlloc((Length(sMessage) + 1) * sizeof(WideChar));
      try
        wTo := CoTaskMemAlloc((Length(sTo) + 1) * sizeof(WideChar));
        try
          StringToWideChar(sMessage, wMessage, Length(sMessage) + 1);
          StringToWideChar(sTo, wTo, Length(sTo) + 1);
          i := NetMessageBufferSend(nil, wTo, nil, PBYTE(wMessage),
            (Length(sMessage) + 1) * sizeof(WideChar));
          Result := i = ERROR_SUCCESS;
          if not Result then
            MessageBox(GetForegroundWindow, 'Сообщение не отправлено.', nil,
              $1010);
        finally
          CoTaskMemFree(wTo);
        end;
      finally
        CoTaskMemFree(wMessage);
      end;
    end
    else
      MessageBox(GetForegroundWindow,
        'Функция NetMessageBufferSend не обнаружена.', nil, $1010);
  finally
    FreeLibrary(hLib);
  end
  else
    MessageBox(GetForegroundWindow, 'NetApi32.dll не загружена.', nil, $1010);
end;
... но чат работал лучше.
_SERGEYX_ вне форума Ответить с цитированием
Старый 02.07.2011, 19:24   #3
ser_joy
Новичок
Джуниор
 
Регистрация: 02.07.2011
Сообщений: 2
По умолчанию

вот тебе готовая програма! скачай и не парся!
http://depositfiles.com/files/xnvzz0q9e
ser_joy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача файлов по локальной сети(Indy) Biowulf86 Помощь студентам 1 08.05.2008 13:08
Эмулятор локальной сети andrey4623 Софт 4 20.08.2007 19:58
СУБД в локальной сети Chapay БД в Delphi 6 04.03.2007 02:35
Paradox в локальной сети Freedom БД в Delphi 8 28.11.2006 13:21