Показать сообщение отдельно
  #4  
Старый 25.06.2010, 20:03
Аватар для T-dayne
T-dayne T-dayne вне форума
Начинающий
 
Регистрация: 26.01.2010
Сообщения: 180
Репутация: 31
По умолчанию

На самом деле все очень просто, особенно с IP , смотрим:

Сначала определяем Ip адрес на машине клиента:
Код:
 function address: string;
var
ip: string;
p: integer;
begin
ip:=idhttp1.get('http://www.myip.ru/get_ip.php?loc=');

  P := Pos('<TABLE',ip);  
  P := PosEx('<TABLE',ip,P+1); 
  P := PosEx('<TABLE',ip,P+1); 
  P := PosEx('<TD',ip,P+1); 
  P := PosEx('<TD',ip,P+1); 
  P := PosEx('>',ip,P+1); 
  Delete(ip,1,P);  
  ip := Copy(ip,1,Pos('<',ip)-1);  
 result:=ip;
 end;

Далее отсылаем его серверу:

Код:
clientsocket1.sendtext('#IP'+address);

На сервере ловим так:
Код:
 procedure TForm.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var smessage: string;
begin
smessage:=socket.ReceiveText;
 if copy(smessage,1,3)='#IP' then
 begin
  delete(smessage,1,3);
  //все! адрес находится в переменной smessage, делаем че хотим.
 end;
end;

Для того чтобы сбор статистики выполнялся через каждые 10 минут, ставим таймер со значением interval = 6000000 и помещаем 1й код в обработчик срабатывания.
Если есть вопросы обращайся!
Ответить с цитированием