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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 66
от 13.03.2005, 17:20

Администратор:Калашников О.А.
В номере:Вопросов: 6, Ответов: 12


Вопрос № 17957: Здравствуйте, уважаемые эксперты. Я недавно стал изучать Delphi и у меня возник, наверное, очень простой для вас вопрос. Мне нужно чтобы моя программа, после того как я подключусь к интернету, сразу же делала кое-какие действия. Так вот я не знаю, ка...
Вопрос № 17961: Здравствуйте! Подскажите, как в Delphi7 прочитать какой-то урывок с текстового файла (не весь файл!) и вставить, например его в StringGrid. Очень нужно! Заранее благодарен!...
Вопрос № 17962: Здравствуйте господа ЭКСПЕРТЫ. К сожалению мне тоже часто приходят рассылки с кракозябликами. Вот расшифровка вопроса 17686: Уважаемые эксперты, как во время выполнения программы добавить колонку в DBGrid а затем убрать ее С Уважением Gi...
Вопрос № 17967: Я пишу один проект, который закачивает файлы из сети. Использую модуль WinInet. Но с ним вполне оправдано тормозил интерфейс моей программы. После разных опросов было рекомендовано занести процедуру закачки как отдельный поток, для чего было использо...
Вопрос № 17980: Здравствуйте. Спасибо за ответ на вопрос 17957 Bob Johnson. Как вторым способом воспользоваться я понял. А вот использовать функцию InternetGetConnectedState у меня не получается. Я программирую на Делфи7....
Вопрос № 17993: Здравствуйте уважаемые эксперты.Подскажите как можно узнать ID HDD, как в прочем и других девайсов. GetVolumInfomation дает лишь уникальный идентификатор тома который после Fdisk поменяется. Т.Е. необходимо идентифицировать конкретный BOX,не ...

Вопрос № 17957
Здравствуйте, уважаемые эксперты. Я недавно стал изучать Delphi и у меня возник, наверное, очень простой для вас вопрос. Мне нужно чтобы моя программа, после того как я подключусь к интернету, сразу же делала кое-какие действия. Так вот я не знаю, как отследить это (подключен я к интернету иль нет) и с помощью чего лучше это сделать. Заранее благодарен.
Отправлен: 07.03.2005, 20:56
Вопрос задал: Alexander K. (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Bochvarov NikB
Здравствуйте, Alexander K.!
Тебе здорово надо читать :)
Начиная с Sockets, через InternetExpress, Indy - все ето интернет.
Пиши что тебе надо? HTML page, FTP или MySQL или другое?
В [url]http://www.delphimaster.ru/cgi-bin/forum.pl?n=4[/url] часто обсуждаетса ето тема - подключение к интернет.
Ответ отправил: Bochvarov NikB (статус: 1-ый класс)
Отправлен: 08.03.2005, 00:15

Отвечает: Bob Johnson
Здравствуйте, Alexander K.!
Попробуй функцию InternetGetConnectedState. Другой вариант - это переодически пробовать соединяться с каким-либо хостом, если соединение получилось - значит подключен . Но на старых осях это может вызывать появление диалога на установку соединения

* EMan2.0: ---===*** Debug mode ***===---

Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 08.03.2005, 00:30
Оценка за ответ: 4

Отвечает: sir henry
Здравствуйте, Alexander K.!
Самый лучший способ узнать подключены Вы к интернету или нет - это пропинговать какой-нибудь интернетовский IP. Поверьте, это самый наинадежнейший способ. :)
Разместите на свой форме тайиер (или создайте его програмно, если Ваша программа без форм) и пингуйте периодически, например раз в минуту. Как только пинг прошел - таймер выключайте.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.03.2005, 06:34
Оценка за ответ: 5
Комментарий оценки:
Спасибо


Вопрос № 17961
Здравствуйте!
Подскажите, как в Delphi7 прочитать какой-то урывок с текстового файла (не весь файл!) и вставить, например его в StringGrid.
Очень нужно!
Заранее благодарен!
Отправлен: 07.03.2005, 22:22
Вопрос задал: Nikan (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Bochvarov NikB
Здравствуйте, Nikan!
Такстовие файльи можно читать как все осталние (tStream), но надо знат интересующая позиция (tStream.seek).
Если твой файл "не очень болщой" :) прочитай весь файл (tStringList.LoadFromFile) и потом смотри что тебе надо (tStringList.Strings - ето все).
Ответ отправил: Bochvarov NikB (статус: 1-ый класс)
Отправлен: 08.03.2005, 00:08

Отвечает: sir henry
Здравствуйте, Nikan!
1. Вы не знаете как читать из текстового файла, как его открывать-закрывать?
2. Вы не знаете как работать с клипбордом?
Ответить на эти вопросы очень нужно. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.03.2005, 06:36


Вопрос № 17962
Здравствуйте господа ЭКСПЕРТЫ.
К сожалению мне тоже часто приходят рассылки с кракозябликами. Вот расшифровка вопроса 17686:
Уважаемые эксперты, как во время выполнения программы добавить колонку в DBGrid а затем убрать ее
С Уважением Gin (Начинающий).
Отправлен: 07.03.2005, 22:36
Вопрос задал: Gin (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Bochvarov NikB
Здравствуйте, Gin!
Каждой DBGrid.Columns[i] связан с какой то TField. Если хочеш - можно добавит вьичислимой tField. Лекче (конечно) управлят Visible:=true/false уже существующих tFields
(DBGrid.DataSource.DataSet.FieldByName('Имя').Visible := false/true;
Так добавляетса/убирается колонка.
Ответ отправил: Bochvarov NikB (статус: 1-ый класс)
Отправлен: 08.03.2005, 00:02
Оценка за ответ: 3
Комментарий оценки:
Уважаемый, Bochvarov NikB, не я задал вопрос. Я всего лишь выслал расшифровку вопроса № 17686. Извините за беспокойство.
С Уважением Gin.

Отвечает: sir henry
Здравствуйте, Gin!
Большое спасибо. Этот вопрос, скорее, к модераторам рассылки. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.03.2005, 06:39
Оценка за ответ: 3
Комментарий оценки:
Рад был помочь. Но я-то не разбираюсь в этом - где взял туда и положил.
С Уважением Gin.

Отвечает: Boriss
Здравствуйте, Gin!
То есть, можно добавать новую колонку
DBGrid1.Columns.Add;
А затем прописывать ее свойства
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 09.03.2005, 11:58


Вопрос № 17967
Я пишу один проект, который закачивает файлы из сети. Использую модуль WinInet. Но с ним вполне оправдано тормозил интерфейс моей программы. После разных опросов было рекомендовано занести процедуру закачки как отдельный поток, для чего было использовано TThread...
----
Исходники в приложении. Если, что-то с код-синтаксом - поправьте.
----
Очень сильно надеюсь, что исходник и комментарии ясны.
Однако повторю свою проблему: у меня все равно тормозит интерфейс, особенно, когда модем захлебнется (а у меня такое бывает часто). Я вот смотрю, например, на FlashGet - модем чихает, а интерфейс у него не кривится! Некоторые попытки втыкнуть Application.ProcessMessages приводят к тому, что интерфейс просто подтормаживает, жмешь "Пауза" и только после того, как все доделается пришется ошибка "Отказано в доступе к потоку". А иногда, когда по-другому втыкнешь Application.ProcessMessages после всей закачки списка уже поток поиска ссылок пишет, что не может получит доступа к файлу который первым закачивался 1-2 мин назад!!!
Пожайлуста, помогите мне (хоть подсказками), как правильно сделать поток, чтобы последний не тормозил интерфейс программы. Если не трудно - примерчики (хоть легенькие).

Приложение:

Отправлен: 08.03.2005, 05:11
Вопрос задал: Vj (статус: 10-ый класс)
Всего ответов отправлено: 1

Отвечает: Васильев Павел
Здравствуйте, Vj!
Тебе надо вынести процедуру скачивания в основную процедуру нитки. А в Synchronize оставить только обновление интерфейса. А так у тебя нитка считай впустую работает, поскольку все основное время выполняется в Synchronize.
Ответ отправил: Васильев Павел (статус: 1-ый класс)
Отправлен: 08.03.2005, 09:35
Оценка за ответ: 5
Комментарий оценки:
Еще не попробовал, но написано вроде как верно. И почему я этот вариант не приметил?
Молодец! За храбрость и отважное и уверенное начало - 5! Так держать!


Вопрос № 17980
Здравствуйте. Спасибо за ответ на вопрос 17957 Bob Johnson. Как вторым способом воспользоваться я понял. А вот использовать функцию InternetGetConnectedState у меня не получается. Я программирую на Делфи7.
Отправлен: 08.03.2005, 13:50
Вопрос задал: Alexander K. (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: sir henry
Здравствуйте, Alexander K.!
Там два параметра:
1 - это набор флагов:
INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
из них Вам пригодятся первые три.
2 - должно быть 0, этот параметр зарезервирован.
В MSDN по поводу этой функции вывешано предупреждение, что проверка с помощью нее не является достоверной. Точной формулировки я уже не помню, но примерно так и есть.
Самый надежный способ - пинговать.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.03.2005, 13:05
Оценка за ответ: 5

Отвечает: Bob Johnson
Здравствуйте, Alexander K.!
А в чем проблема с этой функцией?
Физически она находится в библиотеке wininet.dll - может быть потребуется "ручной" вызов через LoadLibrary/GetProcAddress.

* EMan2.0: ---===*** Debug mode ***===---

Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 10.03.2005, 00:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо


Вопрос № 17993
Здравствуйте уважаемые эксперты.Подскажите как можно узнать ID HDD, как в прочем и других девайсов.
GetVolumInfomation дает лишь уникальный идентификатор тома который после Fdisk поменяется.
Т.Е. необходимо идентифицировать конкретный BOX,не имеющий сетевой карты(т.е. МАК адресс не подойдет).
Спасибо за ответ.если будут линки приму с благодарностью.
Отправлен: 08.03.2005, 17:19
Вопрос задал: 11w (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, 11w!
Вот есть ссылка на ассемблере:
http://www.vbnet.ru/forum/show.aspx?id=31954&page=1
сам не проверял, может быть и не то...
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 09.03.2005, 12:49


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное