PDA

Просмотр полной версии : Текст в Edit при выборе строки в ComboBox'е


4ipolino
21.05.2011, 21:14
нуб учит дельфи :goplol:
на форме есть компонент ComboBox и Edit1
загружаю содержимое файла loginlist.txt
cbb2.Items.LoadFromFile(ExtractFilePath(Applicatio n.ExeName)+'loginlist.txt');
как сделать чтобы при выборе строки в комбобокс появлялась надпись в edit1
п.с в комбобоксе список сайтов, в edit1 надо штоб появлялись ип етих сайтов

Jumper
21.05.2011, 21:20
cbb2.Items.LoadFromFile(loginlist.txt);
это первое, не пойму зачем такие трудности?!

а второе: в евентах combobox'а, выбираешь ONSELECT -> 2ой щелкоч, туда пишешь:

edit1.text:=combobox1.items[combobox1.itemindex]

Dinmaite
21.05.2011, 21:26
это первое, не пойму зачем такие трудности?!
Затем что "рабочий каталог" может быть не там, где лежит exe-файл программы.

4ipolino
21.05.2011, 21:32
каким методом можно засунуть туда имено ип сайта а не выбраное содержимое ?
в логинлисте могу написать адреса сайтов и их ип через : или другой знак, или кто подскажет как пропинговать сайт и записать ип в edit1?

Добавлено через 2 часа 44 минуты
Кто ищет тот всегда найдет :goplol:
мб кому надо будет:

добавляем Winsock в uses

function HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin
IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else begin
Result := False;
end;
finally
WSACleanup;
end
end;


procedure TForm1.cbb2Select(Sender: TObject);
var
IP: string;
begin
if HostToIp(cbb2.Text, IP) then edit1.Text:= IP;
end;

спс всем кто принимал участие :hd:
темку можно закривать :sceptic: