Форум: "Сети";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизМастера нужна помощь ! ( комманды Msdos) Найти похожие ветки
← →
and_1 (2002-11-28 21:12) [0]Здравствуйте Мастера ! Решил я создать прогу которая упростит работу в сети!
Перейдем к описанию проги:
Ггрубо говоря все будет выглядеть так: просто кликаешь бутон и на мемке появляется инфа(взависимости что за кнопка)
1)
Будет несколько вкладок(ping,net,nbtstat...)
Вкладка ping. внизу эдит где должен располагаться IP адресс и сама конечно же кнопка пинг. Сколько раз я не спрашивал всегда получал непонятные ответы и не мог въехать в это!
Не могли бы вы написать код который идет после процедуры нажатия на кнопки пинг. (примечания: IP записывается эдите, а результаты в мемке появляются)
2)
В MsDos есть комманда net send <имя компа или IP> <мессага>
Хотелось бы тоже самое сделать на делфе! Как это сделать ?
Ситуация аналогичная, все просто: мемка, эдит(IP или имя компа)
и буттон.
3) И наконец такая комманда как nbtstat с параметром -a <IP> чтоб узнать имя компа.
Все также Мемка, эдит и буттон.
Заранее благодарен. Спасибо.
← →
and_1 (2002-11-28 22:33) [1]Вот пинг я нашел в статьях!!! Но появился вопрос!!! Вот код:
***
pHostEn := gethostbyname( "delphi.mastak.com");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
А я хотел бы, чтоб можно было вводить имя в эдите! пробовал вот так:
***
pHostEn := gethostbyname( "edit1.text");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
Но не выходит в чем проблема ? подскажите как сделать так чтобы имя бралось из текста эдита!!! заранее благодарен!
← →
and_1 (2002-11-28 22:36) [2]В статьях нарыл про пинг! Тока вопрос! Как сделать чтобы имя компа бралось из эдита ????
***
pHostEn := gethostbyname( "delphi.mastak.com");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
Пробовал вот так и не получилось!
***
pHostEn := gethostbyname( "edit1.text");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
Как сделать ??? помогите мастера плз!
← →
and_1 (2002-11-28 22:37) [3]В статьях нарыл про пинг! Тока вопрос! Как сделать чтобы имя компа бралось из эдита ????
***
pHostEn := gethostbyname( "delphi.mastak.com");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
Пробовал вот так и не получилось!
***
pHostEn := gethostbyname( "edit1.text");
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
***
Как сделать ??? помогите мастера плз!
← →
and_1 (2002-11-28 22:38) [4]сори за три ответа.
← →
VideoLord (2002-11-28 23:11) [5]Может стоит так сделать :-)
pHostEn := gethostbyname(edit1.text);
error := GetLastError();
if (error <> 0) then
begin
Memo1.SetTextBuf("Error in call to"+
"gethostbyname().");
Memo1.Lines.Add("Error code: "+IntToStr(error));
Exit;
end;
← →
videolord (2002-11-28 23:15) [6]А по поводу NetSend и NbtStat придется разбираться в протоколе NetBEUI (NetBIOS). Если не хочется копаться в протоколе, то можно сделать через ж..у, но работать тоже будет :-)
Когда мне нужно было такое сделать, я просто из своей проги на делфях вызывал (типа WinExec или CreateProcess) например:
nbtstat.exe -a 192.168.0.1 > aaa.txt
Ждал завершения процесса
WaitForSingleObject()
и смотрел, что написано в aaa.txt
Читай хелп по вышеуказанным функциям и все легко сделаешь...
← →
Opuhshii (2002-11-29 08:09) [7]2and_1 © (28.11.02 21:12)
в MsDos нет комманды net
← →
alexteam (2003-01-15 13:08) [8]команды net нет
а команда net send есть
вот пример отправки сообщения "ты труп" на машину с ip 192.168.0.2 из под cmd
c:\net send 192.168.0.2 ты труп
{прикол в том что на 2-й машине (действие разворачивалось в комп клубе) чувак играл в counter-strike ...... было смешно }
← →
Wonder (2003-01-15 13:18) [9]А Windows какая?
← →
Zzzzzz (2003-01-27 16:00) [10]Чтобы в Pinge адрес брался из Editа необходимо его перевести в PChar, т.е правильно будет
pHostEn := gethostbyname(PChar(edit1.text));
← →
NickBat (2003-01-27 17:40) [11]Вообще-то net send это не команда ДОС, а директива командной строки Виндоус. Вот только не помню начиная с какой версии.
В Вин2000 отправить сообщение проще простого:
net send comp1 "Тра-ля-ля!"
← →
GobliNGuT (2003-01-27 21:44) [12]А net send это команда NTVDM (не DOS!!!), и соответственно если ты пишешь под 9х то ничего не получится. Команда работает только на NT системах. По поводу версий - по-моему она была еще на 3-й NT...
NickBat: Это команда для отправки административных сообщений.
А под 9х - через mailslot делается ... нужен пример-пиши
← →
Ila (2003-02-20 11:58) [13]Комманда как nbtstat с параметром -a <IP> чтоб узнать имя компа.
Можно так (узнать имя компа)
uses Winsock,......;
function My_GetHostName(Address:String):String;
var wVersionRequested : WORD;
lwsaData : WSAData;
pHostEn : PHostEnt;
destAddress : In_Addr;
pAddress:Pointer;
Err:Integer;
begin
Result:="";
wVersionRequested:=MakeWord(1,1);
Err:=WSAStartup(wVersionRequested,lwsaData);
if (Err <> 0) then
begin
Result:=("Error in call to "+"WSAStartup"+IntToStr(Err));
Exit;
end;
try
if (Trim(Address)="") then
Exit;
destAddress.S_addr:=inet_addr(PChar(Address));
pAddress:=@destAddress;
pHostEn:=gethostbyaddr(pAddress,SizeOf(destAddress),AF_INET);
if (pHostEn=nil) then
begin
Err:=WSAGetLastError;
if (Err <> 0) then
Exit;
end;
Result:=String(pHostEn.h_name);
finally
WSACleanup();
end;
end;
← →
Anatoly Podgoretsky (2003-02-20 12:15) [14]NickBat © (27.01.03 17:40)
Начнем с того, что данная команда была в ДОС еще до появления Виндоус, это относится к LanMan
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c