Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: Образование, Работа и Бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Декабрь 2004 → | ||||||
3
|
4
|
|||||
---|---|---|---|---|---|---|
6
|
7
|
8
|
10
|
11
|
||
13
|
14
|
15
|
16
|
17
|
19
|
|
20
|
21
|
22
|
23
|
24
|
26
|
|
27
|
28
|
30
|
31
|
Статистика
-1 за неделю
Программирование на DELPHI в вопросах и ответах #9
Информационный Канал Subscribe.Ru |
Программирование на Delphi в вопросах и ответах.
|
||||||
За время, прошедшее с момента выпуска 8-ого выпуска рассылки, прошло совсем немного времени, но уже есть повод двигаться дальше. Новых вопросов пока что не пришло, но давайте разбираться с уже имеющимися. Итак, получено 4 ответа на 4 разных вопроса, что очень даже неплохо. Читая вопросы, видно, что большую их часть задали отнюдь не новички в программировании, поэтому и ответ дают несколько, а то и один человек. Голосование, естественно, продолжается. Пока проголосовали только 15 читателей. Интересно, где же остальные? ;) Сайт всё ещё под реконструкцией... Есть ли у вас собственный сайт? Также, если вас не затруднит, в тексте письма напишите адрес своего сайта. Он не будет нигде публиковаться! Правила нашей рассылки: |
||||||
Итак, сегодня вас ждёт вторая часть цикла статей "Написание инсталлятора на Delphi"...
Написание инсталлятора на Delphi (часть 2) Чтобы не смущать высокое собрание подробным рассмотрением алгоритма, приведу конкретный пример исходника.
Есть две грабли, на которые можно наступить в приведённом примере. Первые лежат в вызове функции GetTempPath . Если у вас нет переменных окружения TMP и TEMP , то временным каталогом станет текущий каталог программы , то есть, фактически, ваша дискета. Вы можете проверять, не находится ли временный каталог на сменном диске (с помощью вызова GetDriveType ), и, если находиться, считать временным каталогом C:\TEMP (если его нет — создайте самостоятельно). Вторые грабли заключаются в том, что после завершения инсталляции программу из временного каталога желательно удалить, но сделать этого вы не сможете, поскольку программа в этот момент выполняется. Вспомните, что в Windows выполняющуся программу удалять нельзя. В общем случае, решения этой проблемы я не знаю. Собственно, поскольку файл останется во временном каталоге, он будет одним из первых кандидатов на удаление (если пользователь хоть когда-нибудь чистит свой временный каталог :) Тем не менее, есть один хитрый способ удаления этого файла, о котором я расскажу ниже, в параграфе о деинсталляции. Примечание: Если для вас важен размер вашей инсталляции, вы можете взять только тот кусочек, который приведён выше, и сделать из него отдельную программу (которая будет очень небольшого объёма). Саму программу инсталляции вы предварительно сжимаете, а перед запуском распаковываете её во временный каталог (а не копируете, как это сделано здесь). Обратите внимание, что в этом случае программа должна распаковываться в любом случае, а не только если она запущена с дискеты.Ну вот и всё на сегодня по созданию инсталлятора. Начиная со следующего выпуска будут описываться конкретные шаги построения инсталлятора вместе с исходниками. Это, так сказать, была подготовка... Присылайте свои статьи по адресу delphi-faq@list.ru с темой 'Clause' (без кавычек), и они будут опубликованы в ближайших выпусках рассылки. Большая просьба: статью оформляйте в -txt или -doc формате и используйте -zip или -rar сжатие (без самораспаковки). |
||||||
Новых вопросов нет. Вопросы, ждущие ответа: 12. Привет. Может, кому-нибудь из читателей, удалось написать утилиту, показывающую все активные TCP/IP соединения (аналог Netstat) на Delphi без использования Fnugry Netstat Components. Поделитесь пожалуйста исходником, а то дядька Google мне отказался с этим помочь. [Ответить]. 14. Скажите, как узнать занятость принтера и передать задачу на другой принтер сети! [Ответить]. 15. Здраствуйте.Можете сказат как я могу выбрат компоненть из другого Application? Например в другом App. я использвал с одного Edit-a ( у него ест OnChange(), OnKeyPress() и.др ) или он может бьт не визуальным. И хочу что добавить код в новую Application( первому Form-у OnCreate ) чтобы он автоматически выбрал ту Component-у какую я дам в коде. Заранее блогодорен!!! [Ответить]. 17. Здравствуйте. Как двойным щелчком мышки по URL, скопоровать его в TMemo? [Ответить]. 18. Как сделать индикатор загрузки процессора в % как в диспетчере задач? Перерыл кучу всяких факов и конференций, но ничего не нашел. Помогите плиз....... *** Добро пожаловать на мою страничку http://sources.h11.ru/***. [Ответить]. 21. Задача состоит в следующем: необходимо непрерывно получать изображения со сканера (по крайней мере настолько, насколько это возможно, но без выгрузки основной программы). 22. Господа - программисты, расскажите как проще всего вывести на экран Delphi - программы готовую таблицу базы данных Microsoft Access? Заранее благодарен. [Ответить]. |
||||||
19. (Размещение прогресс-индикатора с строке состояния). [Отвечает: Ершов Денис]: Я так полагаю необходимо разместить в строке статуса индикатор типа ProgressBar или, что более симпатично, Gauge. Случайно однажды столкнулся с таким примером. Суть в следующем бросаешь компонент на любое место формы, но чтобы не мешался, и создаешь следующий обработчик. procedure TForm1.FormCreate(Sender: TObject); Гораздо приятней индикатор будет смотреться, если совместить индикатор по координате и размеру с одной из панелей StatusBar'а. Работоспособный пример можно найти в библиотеке Indy, пример для FTP клиента. 23. (Получение информации о компьютерах локальной сети). [Отвечает: Feniks]: Как можно узнать имена компьютеpов (или их ip-адpеса), имеющихся в
локальной сети? Вариант 1. procedure TFormMain.LoadNetResources; procedure TFormMain.EnumSubResources(Items: TTreeNodes; Node: TTreeNode; Res := WNetEnumResource(hEnum, Count, Resources, BufferSize); if (Res <> NO_ERROR) and (Res <> ERROR_MORE_DATA) then ----------------------------------------------------- Вариант 2. var Для Делфи 5 и выше (ниже - не проверял) надо объявлять переменные BufSize : Cardinal; -------------------------------------------------------------- Вариант 3. type var procedure TFormMain.ScanNet(aNR: pNETRESOURCE); begin Вызывать функцию следует так: ls2:=''; ls:=''; -------------------------------------------------------------- Вариант 4. У меня есть компонент TVSNetTreeView + пример к нему для этого дела. ЗЫ. Я лично пользуюсь именно Вариантом 3, т.к. остальные не проверял. 16. (Тени и отражения в 3D-графике). [Отвечает: Рудов Антон]: В книге М. Краснова "OpenGL. Графика в проектах Delphi" (кстати, где-то в Интернете её видел в электронном виде) про создание теней и зеркал неплохо написано. Всё это реализуется с помощью буфера трафарета. И ещё есть статья "Построение теней в OpenGL при помощи теневых буферов": http://www.gamedev.ru/articles/?id=20121. 20. (Работа с Word-документами из Delphi-программы). [Отвечает: Sandro]: Есть механизм OLE automation для этого свяжи ole conteiner c MS Word, а лучше сразу используй компонент MS application ( делфи не ниже 5), далее через объект Selection выделяешь весь текст и вперёд хоть форматируй, хоть печатай. все тонкости по объектам Word смотри в справке по WORD Visual basic, надеюсь ты установил её вместе с оффисом. А пытатся частично переписать оффис на делфи - мартышкин труд, учись его использовать через Ole и activeX. Вы также можете ответить на предыдущие вопросы. Поскольку на них уже ответили как минимум раз, они больше не публикуются в рассылке. Но если вы можете что-то добавить к ответам других, пожалуйста, отвечайте - ответы будут опубликованы. Найти предыдущие вопросы вы можете в архиве рассылки: http://subscribe.ru/archive/comp.soft.prog.delphifaq/, либо на сайте рассылки (http://www.delphi-faq.fatal.ru). |
||||||
Здесь представлены ссылки на дружественные сайты нашего портала. Если вы тоже хотите стать нашим другом, разместите баннер на главной странице своего сайта. Подробнее о том, как стать "другом", можно прочитать здесь: http://www.delphi-faq.fatal.ru/banner.htm. http://www.x-program.narod.ru/ - Бесплатный русский софт. Написание программ под заказ. |
||||||
- У моей бабули до сих пор лежит Евангелие 1804 года издания... - А, простите, сколько места на диске занимает Windows? Встречаются два хакера. Ну, там, за жизнь и все такое... Один как-то [Анекдоты прислал: Дмитрий Ермолаев]. Программист решил жениться и ввел в компьютер следующее описание: Сонники говорят, что когда снятся какашки, то это к деньгам. Представляете, что снится Биллу Гейтсу? Программиста спрашивают: Интернетчик орет на жену: Нет повести печальнее на свете, чем повесть о заклинившем reset'е. - Чем Бог отличается от Билла Гейтса? Присылайте свои "компьютерные" анекдоты по этой ссылке: delphi-faq@list.ru и они обязательно будут опубликованы! |
||||||
Товарищи программисты! Проявляйте свою активность. Давайте помогать друг другу! |
||||||
Сайт рассылки: http://www.delphi-faq.fatal.ru E-mail: Delphi-FAQ@list.ru |
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.delphifaq |
Отписаться |
В избранное | ||