Вопрос № 73860: Здравствуйте, уважаемые!
Нужно из программы менять свойства локальной сети, в частности маску подсети. А затем всё это "применить". Т.е. совершить те же действия, которые совершаются при нажатии кнопки "ОК" в диалоговом окне &...Вопрос № 73878: Здравствуйте уважаемые эксперты. Я еще не силен в программировании на Delphi7 и у меня возник такой вопрос.
На форме (TForm1) находятся две кнопки (Button1: TButton; Button2: TButton;). Как сделать так, что бы кнопка Button1: TButton; открывала ...Вопрос № 73880: Добрый день, уважаемые эксперты
Меня интересует, есть ли какие риски при использовании форм в длл?
Например я встроил уже такую одну, также из длл работаю с Оле - обьектами, с АДО - все что хочешь, короче. Пока что работало без сбоев. Но...Вопрос № 73927: Работаю в делфи 6, как поведет себя система если установлю 2006, не помешает работать дальше в д6 и в тоже время в 2006?...Вопрос № 73930: Приветствую всех!
Вопросы следующего характера:
1. Есть веб страничка. Ее нужно загрузить. Потом выбрать из исходного текста этой страницы все, что стоит после этого тэга: <a href= .... </a>
Страницу я загружаю вот так:
..Вопрос № 73964: Здравствуйте уважаемые эксперты!
Подскажите как изменить цвет заливки в ячейке "Word"-вского документа из Delphi через OLE. ...Вопрос № 73974: Здравствуйте, все!
Подскажите, как вытащить все ссылки из HTML файла.
У меня установлен ReGet (качалка файлов из интернета), он делает в контекстном меню пункт "Закачать все при помощи ReGet".
После этого появляется окно со...
Вопрос № 73.860
Здравствуйте, уважаемые!
Нужно из программы менять свойства локальной сети, в частности маску подсети. А затем всё это "применить". Т.е. совершить те же действия, которые совершаются при нажатии кнопки "ОК" в диалоговом окне "Свойства: Протокол интернёта (TCP/IP)". У кого-нибуть будут какие соображения на этот счёт?
Отвечает: sir henry
Здравствуйте, Фомичёв Вячеслав Степанович!
Как и с любым устройством Windows, Вам придется работать с реестром. Надеюсь, что как работать с реестром Вы знаете. Если нет, зададите дополнительный вопрос.
По сути Вашего вопроса:
1. Необходимо получить список подразделов из раздела
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionNetworkCards
Поскольку сетевых устройств может быть несколько, то дополнительные подразделы будут именоваться 1, 2 и т.д.
2. У каждого из этих подразделов (1, 2, ...) считываете параметр Descriptions и проверяете, совпадает ли его значение с названием Вашей сетевой карты.
Если совпадает, то переходим к следующему пункту.
3. Считываем в найденом подразделе параметр ServiceName, который имеет вид {шестнадцатиричные_цифры-шестнадцатиричные_цифры-...}
Это идентификатор сервиса, в котором записаны нужные Вам сетевые параметры.
4. Теперь считываем раздел
HKLMSystemCurrentControlSet{найденый_идентификатор_сервиса}ParametersTcpip
В нем, в параметрах IPAddress, SubnetMask, DefaultGateway хранятся нужные Вам значения сетевых настроек.
Значения имеют тип REG_MULTI_SZ или по простому - строка UNICODE. Поэтому если передаете туда переменную (типа (Edit.Text) не забывайте преобразовать в UNICODE.
----------------------------
Где-то в инете валяется отличная утилитка regrem (она доступна в исходниках), там дан отличный пример, как получить сетевые параметры компьютера. Написана она на Си, но ее без труда можно перевести на Дельфи, т.к. используются только WinAPI функции.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 03.02.2007, 11:20
Вопрос № 73.878
Здравствуйте уважаемые эксперты. Я еще не силен в программировании на Delphi7 и у меня возник такой вопрос.
На форме (TForm1) находятся две кнопки (Button1: TButton; Button2: TButton;). Как сделать так, что бы кнопка Button1: TButton; открывала форму (TForm2) в том месте, где находилась форма (TForm1), скрывая эту самую (TForm1).
Функцией Hide мне удается только скрыть (TForm1). А функцией Show открыть (TForm2), от чего она появляется в другом месте экрана. Т.е. надо в одном диалоговом окне открыть (TForm2),закрыв все что находится на (TForm1). Заранее спасибо.
Отправлен: 03.02.2007, 11:28
Вопрос задал: Ausepp (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Базанов Иван Александрович
Здравствуйте, Ausepp!
Варианта 2:
1. Настроить в дизайнере обе формы на одинаковый размер и положение на экране.
2.
procedure RForm1.Button1Click(Sender : TObject)
begin
Form2.Left := Left;
Form2.Top := Top;
Form2.Height := Height;
Form2.Width := Width;
Hide;
Form2.ShowModal;
Show;
end;
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Отвечает: Павлов Сергей Сергеевич
Здравствуйте, Ausepp!
Я новичек, но все же попробуй сделать
так чтобы при нажатии
Button1 у тебя все На Form1 ставилось в hide
а то что на Form2 появлялось!
Или проще! В Delphi Наложи форму одну на другую!
То тогда Form2 появится в томже месте!
Ответ отправил: Павлов Сергей Сергеевич (статус: 1-ый класс)
Ответ отправлен: 03.02.2007, 15:08
Отвечает: monah
Здравствуйте, Ausepp!
Для form2 создаем обработчик onShow в нем устанавиваем
form2.Left:=form1.left;
form2.top:=form1.top;
Неодходимо подключить модуль unit1(модуль в котором описан класс TForm1) в предложении uses после implementation.
--------- festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 03.02.2007, 20:09
Вопрос № 73.880
Добрый день, уважаемые эксперты
Меня интересует, есть ли какие риски при использовании форм в длл?
Например я встроил уже такую одну, также из длл работаю с Оле - обьектами, с АДО - все что хочешь, короче. Пока что работало без сбоев. Но поскольку по поводу длл очень много скептических утверждений, то и возник такой вопрос
Отправлен: 03.02.2007, 11:39
Вопрос задал: Leshka (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: monah
Здравствуйте, Leshka!
Риск есть при передаче типа string в качестве параметра в экспортируемых функиях. Лучще сразу привыкать к PChar. И есть риск утечки ресурсов, необходимо уничтожать форму. До выгрузки DLL. Это самое основное. остальные подводные камни очень спецфичны, и на начальных этапах Вы с ними не столкнетесь.
--------- festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 03.02.2007, 20:41 Оценка за ответ: 5 Комментарий оценки: форма конечно же создается и уничтожается динамически, вместо string используем WideString. а обязательно, чтобы PChar?
Вопрос № 73.927
Работаю в делфи 6, как поведет себя система если установлю 2006, не помешает работать дальше в д6 и в тоже время в 2006?
Отвечает: Coupler
Здравствуйте, Negruzzi Cristian!
У меня стояло три delphi: 5, 6 и 2005 - никаких конфликтов. Так что, думаю, и с 2006 все будет нормально. Разве что ассоциации файлов пострадают - все проекты будут открываться именно в 2006.
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 03.02.2007, 17:01
Отвечает: Ерёмин Андрей
Здравствуйте, Negruzzi Cristian!
Нет, они вполне нормально будут себя чувствовать вместе. Только при первом запуске 2006 может спросить, следует ли установить её дебаггером в системе по умолчанию. Лучше ответить "Нет" и поставить галочку в окне, чтобы больше этот вопрос не показывался. В дополнение к ответу Coupler'а: ассоциации, как правило, можно задать во время установки. Да и даже если 2006 сама без спроса ассоциирует себя с файлами проектов, модулей и т.п., восстановить ассоциацию легко средствами Windows. Желаю удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Rusland
Здравствуйте, Negruzzi Cristian!
6 и 2006 абсолютно не мешают друг другу (у меня так стоит). Однако у некоторых после установки 2006 "слетает" справка у Delphi6 (если это пройзойдет, то нужно будет поставить D6 последней). После работы в 2006 вы вряд ли вернетесь на 6-ку.
У BDS2006 есть небольшая проблема - на проектах, в которых свыше 10000 строк кода редактор начинает тормозить. Чтобы этого не происходило, при установке BDS2006 уберите галочку c компонента Together.
Ответ отправил: Rusland (статус: Профессионал) Россия, Казань Адрес: Мой адрес не дом и не улица, мой адрес советский союз WWW:Логотипы для сотовых телефонов ---- Ответ отправлен: 05.02.2007, 10:18
Вопрос № 73.930
Приветствую всех!
Вопросы следующего характера:
1. Есть веб страничка. Ее нужно загрузить. Потом выбрать из исходного текста этой страницы все, что стоит после этого тэга: <a href= .... </a>
Страницу я загружаю вот так:
procedure TFormSimpleWB.btOpenClick(Sender: TObject);
var
_URL, Flags, TargetFrameName, PostData, Headers: Olevariant;
begin
_URL := 'ссылка на веб страницу';
Flags := 0; TargetFrameName := 0; Postdata := 0; Headers := 0;
WebBrowser1.Navigate2(_URL, Flags, TargetFrameName, PostData, Headers);
end;
2. Как загрузить веб страницу не полностью, а всего лишь первые 20 строк изи исходного кода?
Удачи!
Отправлен: 03.02.2007, 17:29
Вопрос задал: Warrior (статус: 3-ий класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Крылов Александр Владимирович
Здравствуйте, Warrior!
>>выбрать из исходного текста этой страницы все, что стоит после этого тэга: <a href= .... </a>
можно открыть страничку как обычный текстовый файл и работать функцией Pos()
>>первые 20 строк изи исходного кода?
сделать копию странички с первыми 20 строками и при окончании работы удалить
Ответ отправил: Крылов Александр Владимирович (статус: 2-ой класс)
Ответ отправлен: 03.02.2007, 19:20 Оценка за ответ: 3
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Warrior!
1. См. код в приложении
2. Методом Navigate2, действительно, никак. Кроме уже предложенного здесь способа. Только через компоненты более низкого уровня типа сокетов.
Приложение:
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 03.02.2007, 19:35 Оценка за ответ: 5
Вопрос № 73.964
Здравствуйте уважаемые эксперты!
Подскажите как изменить цвет заливки в ячейке "Word"-вского документа из Delphi через OLE.
Ответ отправил: Синельников Сергей (статус: 2-ой класс)
Ответ отправлен: 04.02.2007, 09:22 Оценка за ответ: 5 Комментарий оценки: Спасибо за быстрый ответ. Вы мне очень помогли.
Вопрос № 73.974
Здравствуйте, все!
Подскажите, как вытащить все ссылки из HTML файла.
У меня установлен ReGet (качалка файлов из интернета), он делает в контекстном меню пункт "Закачать все при помощи ReGet".
После этого появляется окно со списком всех ссылок.
Так вот хочется сделать аналогично.
Чтобы в итоге получалось, например:
file1.zip http://www.myhost.ru/file1.zip
здесь http://www.filearchive.ru/setup.zip
и т.д.
Спасибо!
Отправлен: 03.02.2007, 21:51
Вопрос задал: Antares (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Antares!
Посмотрите модуль GruString (скачать можно здесь). В этом модуле множество полезных функций для обработки строк и есть в том числе для вытягивания ссылок. Это как раз то, что Вам нужно. Желаю удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.