Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Как проверить, доступен ли комп в локальной сети?   Найти похожие ветки 

 
AlexV   (2004-09-15 18:20) [0]

Здравствуйте!
--------------
У меня есть строка, представляющая собой сетевой путь
к файлу или папке, например \\diman\scorpio\projects.txt

Можно ли, особо не замудряясь, определить, есть ли доступ к
машине с именем diman ?

FileExists("\\diman\scorpio\projects.txt") работает долго.

Заранее благодарен. Михаил.


 
Rouse_ ©   (2004-09-15 20:21) [1]

NetShareEnum даст тебе информацию о типе доступа к ресурсу...


 
AlexV   (2004-09-21 12:04) [2]

К сожалению, NetShareEnum - это довольно сложная процедура.
Мне всего лишь надо проверить, включен ли комп с заданным именем.

А вообще, у меня есть сетевые пути файлов и папок, например
\\diman\folder1\
\\diman\folder1\sos.dat
\\diman\scorpio\projects.txt

Я хочу проверить доступны ли эти сетевые файлы и папки в текущий момент.
DirectoryExists("\\diman\folder1\") или
FileExists("\\diman\scorpio\projects.txt") долго работают, если компа с именем \\diman в сети нет. Видимо эти функции долго сеть опрашивают... или что-то вроде того. Когда эти функции выполняют проверку наличия файлов/папок по сети, то проц в это время загружен капитально.

Как бы сделать так, чтобы до DirectoryExists и FileExists проверить, есть ли вообще комп с именем \\diman в сети в данный момент?

Или в крайнем случае хочется уменьшить загрузку процессора во время опроса с пом. DirectoryExists и FileExists

Заранее благодарен.


 
Rouse_ ©   (2004-09-21 14:25) [3]

пингуй компьютер, если ответил - значит есть...


 
SergeySEM   (2004-09-21 15:17) [4]


> Rouse_ ©   (21.09.04 14:25) [3]
> пингуй компьютер, если ответил - значит есть...


Есть идеи как это сделать???


 
AlexV   (2004-09-21 17:35) [5]

Вот я тоже хотел спросить, как это сделать. Я конечно понимаю, что надо пингануть, но как это сделать наиболее просто из Дельфей?


 
Poirot ©   (2004-09-21 18:05) [6]

есть уж если просто подойти к этому вопросу целая компонента на Indy закладочках:)))


 
Rouse_ ©   (2004-09-21 20:36) [7]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdRawBase, IdRawClient,
 IdIcmpClient;

type
 TForm1 = class(TForm)
   IdIcmpClient1: TIdIcmpClient;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure IdIcmpClient1Reply(ASender: TComponent;
     const AReplyStatus: TReplyStatus);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 IdIcmpClient1.Host := "www.ya.ru";
 IdIcmpClient1.Ping;
end;

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
 const AReplyStatus: TReplyStatus);
begin
 ShowMessage(Format("Пинг по адресу %s успешен.", [AReplyStatus.FromIpAddress]));
end;

end.


 
AlexV   (2004-09-21 22:29) [8]

Спасибо товарищи! Я уже и сам разобрался со своей проблемой.
Оказывается, если компа с именем diman нет в сети, то DirectoryExists("\\diman\"); мгновенно ответит, что нет такого каталога. Таким образом можно проверить, включен ли комп diman. А вот DirectoryExists("\\diman\folder1\folder2\folder3\") будет куда дольше работать, т.к. видимо тратится много времени чтобы зайти во все эти подпапки.



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.049 c
14-1100091864
YurikGL
2004-11-10 16:04
2004.11.28
Скрепка в outlook express 6.0


1-1100467560
dron-s
2004-11-15 00:26
2004.11.28
Ключ реестра


14-1099847186
Undert
2004-11-07 20:06
2004.11.28
Помогите пожалуйста с SQL запросом


4-1097144751
Delphi5.01
2004-10-07 14:25
2004.11.28
Может у кого есть пример как использовать ReadDirectoryChangesW?


1-1100370863
able
2004-11-13 21:34
2004.11.28
Сравнивание строк..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский