Вопрос № 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