Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 764
от 29.03.2007, 08:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 454, Экспертов: 85
В номере:Вопросов: 2, Ответов: 3


Вопрос № 79491: Здраствуйте ув. эксперты подскажите как через Делфи поменять айпишник на своем компьютере . Заранее Спасибо....
Вопрос № 79532: Здраствуйте эксперты... Помогите, плиз... У меня есть несколько компонентов типа TChart, один из которых создается виртуально при нажатии кнопки и отображается на виртуальной форме.... Есть компонент PopupMenu, у которого определен один пункт мен...

Вопрос № 79.491
Здраствуйте ув. эксперты подскажите как через Делфи поменять айпишник на своем компьютере .
Заранее Спасибо.
Отправлен: 23.03.2007, 12:32
Вопрос задал: VaNuk (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Dragon
Здравствуйте, VaNuk!
В приложении приводится модуль.
Чтение IP в функции ReadIP, присвоение в процедуре SetIP.
В компоненте Edit ставится нужный IP и по нажатии на кнопку меняется. В COMBO отображается название сетевой платы. но чтобы увидеть результат необходимо отключить сетевое подключение и заново запустить.
Удачи!

Приложение:

Ответ отправил: Dragon (статус: 1-ый класс)
Ответ отправлен: 23.03.2007, 13:27

Отвечает: василий1
Здравствуйте, VaNuk!
Здравствуйте, VaNuk!

Функция, представленная в этом примере может быть и не очень элегантна, но позволяет узнать собственный ip адрес. Функция получает в качестве параметра строку, содержащую IP адрес, и возвращает строку с IP адресом в виде DWord значения. Результат легко можно проверить командой "Ping". Попробуйте на ее основе сделать обратное преобразование.
Обратите внимание, что необходимо добавить "Math" в "Uses" для функции "IntPower";

function IP2HEX(OrgIP:string):string;
var
// Сохраняем оригинальное значение IP адреса
OrgVal: string;
// части оригинального IP
O1,O2,O3,O4: string;
// шестнадцатиричные части
H1,H2,H3,H4: string;
// Здесь будут собраны все шестнадцатиричные части
HexIP: string;
XN: array[1..8] of Extended;
Flt1: Extended;
Xc: Integer;
begin

// Сохраняем в обратном порядке для простого случая
Xn[8]:=IntPower(16,0);Xn[7]:=IntPower(16,1); Xn[6]:=IntPower(16,2);Xn[5]:=IntPower(16,3);
Xn[4]:=IntPower(16,4);Xn[3]:=IntPower(16,5); Xn[2]:=IntPower(16,6);Xn[1]:=IntPower(16,7);

// Сохраняем оригинальный IP адрес
OrgVal:=OrgIP;
O1:=Copy(OrgVal,1,Pos('.',OrgVal)-1);Delete(OrgVal,1,Pos('.',OrgVal));
O2:=Copy(OrgVal,1,Pos('.',OrgVal)-1);Delete(OrgVal,1,Pos('.',OrgVal));
O3:=Copy(OrgVal,1,Pos('.',OrgVal)-1);Delete(OrgVal,1,Pos('.',OrgVal));
O4:=OrgVal;

H1:=IntToHex(StrToInt(O1),2);H2:=IntToHex(StrToInt(O2),2);
H3:=IntToHex(StrToInt(O3),2);H4:=IntToHex(StrToInt(O4),2);

// Получаем шестнадцатиричное значение IP адреса
HexIP:=H1+H2+H3+H4;

// Преобразуем это большое шестнадцатиричное значение в переменную Float
Flt1:=0;

for Xc:=1 to 8 do
begin
case HexIP[Xc] of
'0'..'9': Flt1:=Flt1+(StrToInt(HexIP[XC])*Xn[Xc]);
'A': Flt1:=Flt1+(10*Xn[Xc]);
'B': Flt1:=Flt1+(11*Xn[Xc]);
'C': Flt1:=Flt1+(12*Xn[Xc]);
'D': Flt1:=Flt1+(13*Xn[Xc]);
'E': Flt1:=Flt1+(14*Xn[Xc]);
'F': Flt1:=Flt1+(15*Xn[Xc]);
end;
end;
Result:=FloatToStr(Flt1);
end;


Ответ отправил: василий1 (статус: 1-ый класс)
Ответ отправлен: 23.03.2007, 13:39


Вопрос № 79.532
Здраствуйте эксперты... Помогите, плиз...
У меня есть несколько компонентов типа TChart, один из которых создается виртуально при нажатии кнопки и отображается на виртуальной форме.... Есть компонент PopupMenu, у которого определен один пункт меню "Печать".... Этот компонент связан со всеми компонентами Tchart...
Как написать обработчик нажатия на пункт меню "Печать", при котором должен печататься график, на котором выбрано меню?
Отправлен: 23.03.2007, 17:39
Вопрос задал: Зверев Макс (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Зверев Макс!

Procedure OnMenuItemClick(sender:TObject);
begin
if popupmenu1.popupcomponent is TChart then
begin
TChart(popupmenu1.popupcomponent )......................................
................................
end;
end;
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 7-ой класс)
Ответ отправлен: 23.03.2007, 18:14
Оценка за ответ: 5
Комментарий оценки:
спасибо большое, все работает отлично


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: support@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.46 от 18.03.2007
Яндекс Rambler's Top100

В избранное