Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: Образование, Работа и Бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование на Delphi #17
Информационный Канал Subscribe.Ru |
Программирование на Delphi. Выпуск №17: 22.01.05.
|
||||||||||||||||||||||||||||||||||||||||
Почему никто не посещает форум? Для кого он открыт? Конечно для вас! Задавайте свои вопросы и туда! Кто-то же должен делать первые шаги... Top-10 Readers: ???
Примечание: читателям, которые нашли и разгадали ключевую фразу конкурса, 25 баллов уже начислены. Правила нашей рассылки: |
||||||||||||||||||||||||||||||||||||||||
53. Всем привет ! Хотел бы задать несколько вопросов. На Delphi подсел недавно - может быть вопросы покажутся вам примитивными :)))
54. Всем привет!!! У меня такой вопрос: как можно из Дельфы отслеживать события Винды, такие как выключение, спящий режим, открытие файла и вообще-события? А ещё как делать, чтобы программа запускалась не как задача, а как процесс(как антивирус к примеру). Заранее Большое спасибо! С уважением, Alex. [Ответить]. 55. Здравствуйте.
Прошу знающих помочь. Кто хоть немного соприкоснулся с Delphi 8.
В чем разница между WinForm и VCL.NET, В VCL.NET не смог найти как
работать с ADO, а в WinForm всё настолько запутанно ...(к примеру, по
нажатию кнопки необхрдимо создать и высветить новое окно). В D-5 и D-7
это решалось просто:
56. Вопрос следующего плана, во многоих программах в сетках (StringGrid, DBGrid) по щелчку в подписи столбца появляется стрелка вниз(вверх) и записи сортируются в прямом или обратном порядке. Есть ли стандартный способ или компонент, осуществляющий подобное, или только ручками... (есть такой HeaderControl? но что к чему не понятно...). [Ответить]. Вопросы, требующие ответа. 12. Привет. Может, кому-нибудь из читателей, удалось написать утилиту, показывающую все активные TCP/IP соединения (аналог Netstat) на Delphi без использования Fnugry Netstat Components. Поделитесь пожалуйста исходником, а то дядька Google мне отказался с этим помочь. [Ответить]. 40. Как мне определить скорость инета? Почитал msdn, понял, что надо юзать IPHLPAPI.DLL, а вот как? [Ответить]. |
||||||||||||||||||||||||||||||||||||||||
13. (Откуда скачать Delphi?). [Отвечает: Dron]: Можно скачать Trial-версию Delphi с официального сайта Borland. Вот здесь: http://borland.com/products/downloads/download_delphi.html. Но она большая - 170 Мб. 15. (Работа с компонентами других форм.). [Отвечает: Садовников Владимир]: На мой взгляд, здесь без Copy/Paste/Replace не обойтись. Открываешь форму другого компонента, копируешь его на твою форму, после чего меняешь его имя на то, которое тебе надо. 50. (Слайд-шоу с подписями для картинок). [Отвечает: Садовников Владимир]: Не совсем понял вопрос. Если ты хочешь сразу все рисунки отобразить, то тут надо немного помучаться - лично я бы воспользовался в данном случае таблицами (в которых твоему рисунку соответствует текст). Если хочешь отображать один рисунок - удобно воспользоваться базами данных (в них можно хранить рисунки или расположение файлов рисунков), в Delphi 6 можно использовать движок баз данных MS Access, что позволяет не включать в дистрибутив программы движок BDE. Тогда вся проблема сводится к заполнению строчек твоей таблицы соответствующими данными и дальнейшей работе с ними. [Отвечает: Dasha]: Если не надо будет менять рисунки, то проще, наверное, сохранить рисунки в ImageList, а текст к ним в массиве, чтобы номера совпадали с номерами рисунков. Тогда вызываешь рисунок и к нему текст с тем же номером. 37. (Отправка данных на сайт). [Отвечает: Iron Monk]: Всем привет! Чтобы что-то отправить на сайт, в документ, необходимо иметь FTP вход на этот сайт.
Допустим, что FTP вход есть.
Тогда создаём новый проект и добавляем на форму IdFTP1, Button1 и Statusbar1.
В свойствах IdFTP1 заполняем свойства Host, Password и Username. 51. (Изменение шрифта в отдельных ячейках StringGrid). [Отвечает: Садовников Владимир]: Посмотри событие OnDrawCell. Вот пример, изменяющий шрифт во втором столбце таблицы на Courier New (MyGrid - TStringGrid):
procedure TForm1.MyGridDrawCell(Sender: TObject; ACol, ARow: Integer; [Отвечает: Iron Monk]: Всем привет!
Это выполнимая задача.
Необходимо использовать событие "OnDrawCell". [Отвечает: Андрей Лучников]: По этому поводу могу предложить перерисовывать текст в ячейке ручками, используя обработчик onDrawCell. [Отвечает: Den]: У сетки есть событие OnDrawCell, там выбираешь ячейку (строку, if (ARow = 1)and(ACol = 1) then [Отвечает: Ершов Денис]: Возможны три пути решения проблемы:
49. (Блокировка повторного запуска приложения). [Отвечает: Iron Monk]: Всем привет! [Отвечает: Igor]: Вот простой и опробованный мною метод: В самом файле проекта, т.е. файле .dpr пишем следующий код: uses {$R *.res} var hnd:Longint; Где у вас Form1 и TForm1 имя главной формы и ее класса соответственно. [Отвечает: Тихонов Михаил]: Предлагаю еще один способ недопущения повторного запуска приложения. [Источник: http://www.softera.ru/literature.shtml?topic=visual&book=1&page=head3.htm] [Отвечает: yga72]: Uses [Отвечает: Ершов Денис]: Вижу человека не надо учить, как определить запущена ли уже program Project1; {$R *.RES} begin [Отвечает: fil]: По-моему тут дело в том в каком обработчике вы просматриваете другие приложения, если сделать в oncreate формы и выйти при нахождении дубликата, то окно даже не успеет отобразиться. Для активации окна можно сначала получить его handle по названию в заголовке, а затем послать ему сообщение sendmessage({handle},{wm_syscommand}, {sc_....},0); Извиняюсь, что пишу неподробно, т.к. сам использую контекстную подсказку Delphi по ctrl+space и поиск по текстам ее модулей. В принципе, есть много других способов избежать двойного запуска: например использование записи реестра (если в реестре есть запись, то не запускаться), и аналогичный способ с файлами. [Отвечает: Андрей Лучников]: uses Windows, SysUtils; [Отвечает: Feniks]: Существует множество вариантов: от самых простых до 1. Код проекта (*.DPR): var begin Пример: program Project1; Const begin program My1; Если программа уже запущена, управление будет передано существующей копии. [Отвечает: Четвертных В.В.]: Если программа, которую надо проверить, имеет окна, то можно использовать следующую функцию: [Отвечает: Dasha]: Спросила, потом сама придумала, как это сделать. Получилось так: [Отвечает: MagicSasha]: Вот два примера, а какой использовать выбирай сама: program Project1; 52. (Работа с HTML-справкой из программы). [Отвечает: Dron]: В качестве ответа на вопрос Dron прислал статью, см. раздел "Статья по Delphi"... Быстрые ответы. Как узнать с какими параметрами командной строки запустилось приложение? Подумал, что этот вопрос очень лёгкий и обсуждать его нет смысла. Количество параметров командной строки можно определить с помощью функции ParamCount. Узнать конкретный параметр - через ParamStr(номер параметра). При этом слудует учитывать, что всего существует нулевой параметр, содержащий полный путь выполняемой программы, т.е. ParamStr(0) выдаст строку вроде "C:\Prog\myprog.exe". Надеюсь, что осветил вопрос достаточно понятно. А вообще, не забывайте, что есть встроенный хелп :) Вы также можете ответить на предыдущие вопросы. Поскольку на них уже ответили как минимум раз, они больше не публикуются в рассылке. Но если вы можете что-то добавить к ответам других, пожалуйста, отвечайте - ответы будут опубликованы. Найти предыдущие вопросы вы можете на нашем сайте: http://www.delphi-faq.fatal.ru/ или в спец-выпусках рассылки. |
||||||||||||||||||||||||||||||||||||||||
Система для работы с HTML-справкой Удобно вендрять данную систему в самом начале разработки программы. Но я опишу способ внедрения в целом. В раздел глобальных переменных добавьте следующие переменные для работы со справкой: _HHwinHwnd: HWND = 0; HHCtrlHandle: THandle = 0; mHelpFile: String; Сразу после раздела глобальных переменных и перед implementation вставьте следующие строки кода: var HtmlHelpA: function(hwndCaller: HWND; pszFile: PAnsiChar; HtmlHelpW: function(hwndCaller: HWND; pszFile: PWideChar; HtmlHelp: function(hwndCaller: HWND; pszFile: PChar; const hhctrlLib = 'hhctrl.ocx'; const HH_DISPLAY_TOPIC = $0000; Где-нибудь в самом начале раздела implementation вставьте код: const hhPathRegKey = 'CLSID\{adb880a6-d8ff-11cf-9377-00aa003b7a11}\InprocServer32'; function GetPathToHHCtrlOCX: string; procedure LoadHtmlHelp; procedure UnloadHtmlHelp; В OnCreate главной формы приложения добавьте: mHelpFile := ExtractFilePath(ParamStr(0)) + 'Help.chm'; В обработчике пункта меню для загрузки справки (например, Справка - Содержание) пишем: if HHCtrlHandle = 0 then showmessage('Справка не поддерживается') else При выходе из программы необходимо закрыть все открытые окна справки, поэтому в OnClose главной формы добавляйте строку: HtmlHelp(0, nil, HH_CLOSE_ALL, 0); Часто в программах делают другие пункты меню, соответствующие разделам справки. Вот как их загружать: HtmlHelp(Handle,PChar(mHelpFile+'::/путь/страница.htm'),HH_DISPLAY_TOPIC,0); Аналогичным образом можно загружать любой необходимый раздел справки. [Статью прислал: Dron]. Присылайте свои статьи по адресу delphi-faq@list.ru с темой 'Clause' (без кавычек), и они будут опубликованы в ближайших выпусках рассылки. Большая просьба: статью оформляйте в -txt или -doc формате и используйте -zip или -rar сжатие (без самораспаковки). |
||||||||||||||||||||||||||||||||||||||||
В данном разделе публикуются различные ссылки, причём не только по Delphi но и по OpenGL, WinAPI, DirectX и т.д. (они могут быть на других языках, например, на Си). Присылайте свои ссылки на документацию по программированию. Сегодня новых ссылок нет :( |
||||||||||||||||||||||||||||||||||||||||
Предлагали добавить в раздел компонент AdvStringGrid - StringGrid с очень большими возможностями: для каждой ячейки индивидуальные настройки шрифтов, фона и хинтов, индивидуальные настройки размеров для строк и столбцов, объединение ячеек, возможность вставки в ячейку рисунка, и элементов управления (CheckBox и пр.), сохранение и загрузка таблицы из MS Excel. Но весит это "чудо" около 4 мегабайт, поэтому было решено на сайт не выкладывать. Вы сами можете скачать компонент с официального сайта - http://www.tmssoftware.com. Очень обидно, что вы ничего не присылаете в данный раздел, хотя он очень полезный. Присылайте сюда! Очень жду! Только большая просьба: не присылайте файлы сразу! Ну а сегодня я решил подготовить для вас много всего интересного. Итак... Компоненты: 7BEVEL- компонент, аналог стандартного TBevel. Но как можно заметить, там можно сделать только квадратные или прямоугольные формы. Данный компонент умеет отображать "бордюры" круглой или овальной формы. [8.04 Кб, ZIP]. CollapsePanel- Отличный компонент. Каждый знаком с панельками, которые сворачиваются и разворачиваются. В отличие от подобных "групп" в Windows XP, CollapsePanel имеют сравнительно простой внешний вид, но здорово украсят любую программу. [176 Кб, ZIP]. Cool Tray Icon- Лучший компонент для создания иконок программы в системном трее. Чтобы перечислить все возможности этого уникального пакета, потребуется не одна страница. Иконки как графические, так и текстовые, поддержка анимации и многое другое. Настоятельно рекомендую всем! [347 Кб, ZIP]. Easy Graph - Мощная система для построения графиков функций и вывода разнообразных математических схем. [316 Кб, ZIP]. Directory Dialog Box - Компонент, позволяющий вам выводить окошки выбора каталога, как в Windows. [7.33 Кб, ZIP]. Plug-in'ы для Delphi (впервые в рассылке): MsPropEdit - Расширяет возможности редактора свойств (Poperties Editor), делая многие пункты наглядными. Работает только под Delphi 6. Для получения версии для Delphi 7, зайдите на сайт разработчика. [130 Кб, ZIP]. Исходники программ : Paper Airplane - уникальная программа, наглядно показывающая процесс сборки различных фигур из листа бумаги. [427 Кб, ZIP]. |
||||||||||||||||||||||||||||||||||||||||
Здесь представлены ссылки на дружественные сайты нашего портала. Если вы тоже хотите стать нашим другом, разместите баннер на главной странице своего сайта. Подробнее о том, как стать другом, можно прочитать здесь: http://www.delphi-faq.fatal.ru/banner.htm, а узнать о всех наших друзьях - на странице http://www.delphi-faq.fatal.ru/friends.htm http://infomania2004.webhost.ru/ - Этот сайт создан для того, чтобы вы могли получить интересующую вас информацию с минимальными затратами сил и времени. Если вы не нашли здесь нужной информации, вы можете оставить заявку на ее поиск. Как только информация будет найдена, она появится на сайте, а вам сообщат об этом. |
||||||||||||||||||||||||||||||||||||||||
Компьютер без Windows - это как рыба без зонтика. *** Останавливает ГИБДДшник машину, из машины вываливается сильно пьяный водитель. ГИБДДшник спрашивает: *** Звонок в компьютерный магазин: *** - Дорогой, по-моему, я беременна! *** Школа с углубленным изучением компьютеров. Входит учительница и говорит: Присылайте свои "компьютерные" анекдоты по этой ссылке: delphi-faq@list.ru и они обязательно будут опубликованы! Нецензурные анекдоты не публикуются! |
||||||||||||||||||||||||||||||||||||||||
Товарищи программисты! Проявляйте свою активность. Давайте помогать друг другу! |
||||||||||||||||||||||||||||||||||||||||
|
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.delphifaq |
Отписаться |
В избранное | ||