Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 28.05.2008, 17:48   #1
SeЯgey
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 50
Вопрос Поскажите как определить ip адреса компьютеров в сети и их имена?ов в

Поскажите как определить ip адреса всех компьютеров в локальной сети и их имена?
SeЯgey вне форума Ответить с цитированием
Старый 28.05.2008, 17:53   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Раз вы так акцентируете вопрос, то есть встречный вопрос: что вы понимаете под локальной сетью ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 29.05.2008, 11:40   #3
SeЯgey
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 50
По умолчанию

несколько компьютеров обьединенных в сеть между собой.
Другие подключения( внешние и хамачи меня не интерисуют).
SeЯgey вне форума Ответить с цитированием
Старый 29.05.2008, 12:51   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Достаточно известный код в вложении.
Только по определениям всед остаточно размыто...
Вложения
Тип файла: txt 1.txt (4.3 Кб, 323 просмотров)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 29.05.2008, 13:05   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Так подойдет?
Код:
unit Unit1;

interface

uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  EnumHandle: THandle;  Workgroup: string;
  WorkgroupRS: TNetResource;
  Buf: array [1..500] of TNetResource;
  BufSize: cardinal;
  Entries: cardinal;
  Res: Integer;
  Computer:string[255]; { array [1..500] of  string[25];}

  ComputerCount: Integer;

begin
  ComputerCount := 0;
  Workgroup := 'Тут твоя рабочая группа'+ #0;
  FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
  with WorkgroupRS do
  begin
    dwScope := 2;
    dwType := 3;
    dwDisplayType := 1;
    dwUsage := 2;
    lpRemoteName := @Workgroup[1];
  end;

  WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @WorkgroupRS, EnumHandle);

  repeat
    Entries := 1;
    BufSize := SizeOf(Buf);

    Res := WNetEnumResource(EnumHandle, Entries, @Buf, BufSize);
    if (Res = NO_ERROR) and (Entries = 1) then
    begin
      Inc( ComputerCount );
      Computer{[ ComputerCount ]} := StrPas(Buf[1].lpRemoteName);
      ListBox1.Items.Add(Computer{[ ComputerCount ]});
    end;
  until
    (Entries <> 1) or (Res <> NO_ERROR);

  WNetCloseEnum( EnumHandle );
end;

end.
Stilet вне форума Ответить с цитированием
Старый 30.05.2008, 17:55   #6
SeЯgey
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 50
Вопрос Из имени компьютера в ip адресс

Функция GetIPAddress выдает IP адрес по имени компьютера

Приложение:

помогите переделать , так чтобы если ip компьютера не определился не было ошибки, а вместо ip выводила -"Ip не определен!"

Uses WinSock;


const
WINSOCK_VERSION = $0101;

function GetIPAddress(Name:String): string;
var
WSAData : TWSAData;
p : PHostEnt;
begin
WSAStartup(WINSOCK_VERSION, WSAData);
p := GetHostByName(PChar(Name));
Result := inet_ntoa(PInAddr(p.h_addr_list^)^) ;
WSACleanup;
end;
SeЯgey вне форума Ответить с цитированием
Старый 01.06.2008, 23:03   #7
SeЯgey
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 50
По умолчанию

Никто не поможет?
SeЯgey вне форума Ответить с цитированием
Старый 02.06.2008, 09:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Код:
if p<>nil then Result := inet_ntoa(PInAddr(p.h_addr_list^)^)
else result:='Ip не определен!';
SeЯgey, нечего кросспостит, горчичник получить можно за настойчивые нарушения.
Stilet вне форума Ответить с цитированием
Старый 02.06.2008, 12:46   #9
SeЯgey
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 50
По умолчанию

Больше не буду, спасибо за помощь и предупреждение
SeЯgey вне форума Ответить с цитированием
Старый 07.10.2010, 22:39   #10
Lost'яра))
 
Регистрация: 02.10.2010
Сообщений: 4
По умолчанию

Дико извиняюсь за то, что влезаю в чужую (и давношнюю) тему, однако столкнулся с похожей проблемой [и, дабы не дублировать подобные вопросы, обращаюсь сюда]

Задание: Создать программу на Делфи для определения IP-адреса компьютера в сети. Определить количество компьютеров, подключённых к сети на данный момент времени (Wi-Fi) и графически отобразить структуру сети.

IP определять я научился
С рисунком структуры что-нибудь придумаю, это не страшно

А вот количество компьютеров меня смущает
Сеть (по заданию) - это 1 сервер и от 1 до 30 компьютеров. Вот нужно с одного из них (не с сервера) определить количество подключённых в данный момент к сети компьютеров

Я так понимаю, что возможна такая схема: узнать адрес сервера, обратиться к нему с таким вопросом и вывести ответ на экран
Но: во-первых, я вообще не уверен, что это возможно;а во-вторых, даже если возможно, к своему стыду - абсолютно не представляю, как этого добиться =(

В приведённом выше коде не совсем понял, что делать с рабочей группой О_о

В общем, прошу помощи :-[
Lost'яра)) вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск рабочих групп и компьютеров в них GAGARIN-NEW Общие вопросы Delphi 3 30.07.2011 12:02
Связь 2-х и более компьютеров в сети DOLBY Работа с сетью в Delphi 3 27.12.2007 10:39
Как определить IP-адресс компьютера в локальной сети? SalasAndriy C/C++ Сетевое программирование 2 29.11.2007 03:09
Поскажите как отфильтровать данные в выбраном диаппазоне DateTimePicker-ами: Denzel БД в Delphi 1 26.01.2007 17:31