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

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


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

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

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

Выпуск № 204
от 09.08.2005, 17:44

Администратор:Калашников О.А.
В рассылке:Подписчиков: 220, Экспертов: 38
В номере:Вопросов: 5, Ответов: 12


Вопрос № 24513: Привет всем! Вопрос серьёзный, прошу хороший подход. Требуется создать утилиту, назначением которой будет создание exe-файлов (автозапусков для CD/DVD-дисков). Как сделать так, чтобы можно было создать exe-файл? Не тащить же за собой исходный код...
Вопрос № 24521: Добрый день, задача вроде не сложная, но встретились неожиданные испытания. И так надо отправить почтовое сообщение с приложением, через установленного у пользователя почтового клиента (не важно какого). Простой и дешёвый способ mailto не хочет добав...
Вопрос № 24529: Здравствуйте, уважаемые эксперты! Не подскажет ли кто местечко в сети, где можно взять книжицу или толковый туториал по Delphi 5? Чтобы с нуля всё объясеялось: синтаксис, IDE и т.д. Хоть отъявленным чайником себя не назову, но всё же... И...
Вопрос № 24530: Мельница - Ночная кобыла 1091 mp3 Алиса - Изгой 687 mp3 ДДТ - Пропавший без вести 487 mp3...
Вопрос № 24535: Здравствуйте уважаемые эксперты!!! Как сделать поиск в ListView по какому-нибудь столбцу? Допустим у меня два столбика: Номер и Наименование. Заранее спасибо....

Вопрос № 24.513
Привет всем!
Вопрос серьёзный, прошу хороший подход. Требуется создать утилиту, назначением которой будет создание exe-файлов (автозапусков для CD/DVD-дисков). Как сделать так, чтобы можно было создать exe-файл? Не тащить же за собой исходный код программы, все модули, которые она использует и ещё компилятор впридачу? Программа-шаблон может делать всё согласно данным, записанным в ini-файле, однако тащить за собой этот ini-файл не хочется. Хочется его как-нибудь "впаять" в сам exe-шник, будто это - отдельная программа.Подобные утилиты на свете существуют, например: CD Menu Creator, MakeCDROM, Traction CD Menu
Creator и др. Надеюсь, вопрос понятен. Благодарю за внимание!

P.S. Подобный вопрос задавался не так давно в рассылке по VB, но там ни одного разумного ответа не дали.
Отправлен: 03.08.2005, 19:04
Вопрос задал: Ерёмин Андрей (статус: Студент)
Всего ответов отправлено: 2

Отвечает: Denisss
Здравствуйте, Ерёмин Андрей!
Чтобы не тащить за собой INI файл, его можно:
а) дописать в конец EXE файла, а после записать размер в байтах этого INI файла (Можете воспользоваться модулем acRW - http://alex-co.com.ru/delphi/modules/acRW.rar [1.6K]).
б) можно записать в ресурсы программы. (Для осуществления записи в ресурсы программы, могу порекомендовать модуль madRes из набора madCollection - http://madshi.bei.t-online.de/madCollection.exe [~6M]).
Ответ отправил: Denisss (статус: Студент)
Отправлен: 03.08.2005, 19:35
Оценка за ответ: 5
Комментарий оценки:
5+!
Большое спасибо. Модуль acRW очень помог! Проблема решена!

Отвечает: sir henry
Здравствуйте, Ерёмин Андрей!
Может быть я не совсем правильно понял Ваш вопрос, но решить можно так.
Создать соответствующую структуру, типа запись и заполнять ее поля нужными Вам данными, на основе которого и будет потом создан экзешник. Т.е. это вариант хранения данных не в ini-файле, а внутри самой программы.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.08.2005, 20:50
Оценка за ответ: 4
Комментарий оценки:
Вы действительно не поняли вопроса. Таким образом можно создавать приложения, но каждое придётся компилировать отдельно. Смысл в другом: есть приложение, передав которому некоторые параметры, создаётся дисковое меню. Если хранить данные в ini, то можно легко их изменить и, соответственно, изменится меню. Задача в том, чтобы избавиться от ini, т.е. прицеплять данные к exe-файлу, но не во время разработки программы, а когда это требуется. Делать эту "прицепку" будет другая утилита.


Вопрос № 24.521
Добрый день, задача вроде не сложная, но встретились неожиданные испытания. И так надо отправить почтовое сообщение с приложением, через установленного у пользователя почтового клиента (не важно какого). Простой и дешёвый способ mailto не хочет добавлять приложенный файл. Через MapiSendDocuments, всё добавляет, но не задаёт адрес получателя, тему, текст сообщения, не удобно, MapiSendMail всё делает, но не добавляет файл.
TMapiMessage и TMapiRecipDesc в XP почему-то ведут себя крайне странно, хотя в 98 проблем не было, что ещё поковырять просто не знаю, был бы очень признателен, за любой намёк. Заранее спасибо.
Отправлен: 03.08.2005, 23:43
Вопрос задал: SuperMaxx (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Маренич Владимир
Здравствуйте, SuperMaxx!
Для этих целей я использовал компоненты Indy - получилось супер :)
Думаю из этого примера все понятно. Удачи.

Приложение:

Ответ отправил: Маренич Владимир (статус: 1-ый класс)
Отправлен: 04.08.2005, 00:22
Оценка за ответ: 4
Комментарий оценки:
Не совсем то, отправка нужна через почтового клиента пользователя, а не на прямую. Так слишком много заморочек для пользователя, начиная от ввода данных и заканчивая фаерволом или брандмауром.

Отвечает: Rusland
Здравствуйте, SuperMaxx!
Есть компонент MapiControl, который занимается отправкой почты как раз через почтовые программы Outlook Express, The bat. Файл занимает всего 9 Кб. Ссылка на компонент: http://source.atlant.ru/delphi_download/sendmail.zip Удачи.
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: 9-ый класс)
Отправлен: 04.08.2005, 13:10


Вопрос № 24.529
Здравствуйте, уважаемые эксперты!
Не подскажет ли кто местечко в сети, где можно взять книжицу или толковый туториал по Delphi 5?
Чтобы с нуля всё объясеялось: синтаксис, IDE и т.д. Хоть отъявленным чайником себя не назову, но всё же...
Или если не ссылку, то какого лучше автора смотреть/искать?
Заранее громадное спасибо!
Отправлен: 04.08.2005, 08:05
Вопрос задал: Strori (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Denisss
Здравствуйте, Strori!
Вот тут есть много по Delphi:
http://alex-co.com.ru/delphi/Documents/Papers.php
http://edu.krasu.ru/DATA/docs/delphi/ (здесь есть оч. хорошая книга - d5_dev_guide1.zip [4,7M], d5_dev_guide2.zip [5,6M])
Ответ отправил: Denisss (статус: Студент)
Отправлен: 04.08.2005, 09:39

Отвечает: Ballon
Здравствуйте, Strori!

Попробуй поискать книгу Архангельского "Программирование в Delphi 5"
Ответ отправил: Ballon (статус: 3-ий класс)
Отправлен: 04.08.2005, 12:52

Отвечает: Rusland
Здравствуйте, Strori!
Насчет 5-ой версии не могу сказать, а по 6-ой много книг на ситфоруме http://www.citforum.ru/programming/delphi.shtml Удачи.
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: 9-ый класс)
Отправлен: 04.08.2005, 13:25


Вопрос № 24.530
Мельница - Ночная кобыла 1091 mp3
Алиса - Изгой 687 mp3
ДДТ - Пропавший без вести 487 mp3
Отправлен: 04.08.2005, 08:08
Вопрос задал: Strori (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Rusland
Здравствуйте, Strori!
Полностью с вами согласен :-D
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: 9-ый класс)
Отправлен: 04.08.2005, 13:27

Отвечает: Ерёмин Андрей
Здравствуйте, Strori!
А в чём, собственно, суть вопроса?
---------
Если б не было бы глюка, жизнь была б такая скyка...
Ответ отправил: Ерёмин Андрей (статус: Студент)
Отправлен: 09.08.2005, 06:57


Вопрос № 24.535
Здравствуйте уважаемые эксперты!!!
Как сделать поиск в ListView по какому-нибудь столбцу? Допустим у меня два столбика: Номер и Наименование. Заранее спасибо.
Отправлен: 04.08.2005, 09:27
Вопрос задал: xXx (статус: 3-ий класс)
Всего ответов отправлено: 3

Отвечает: Kazakh
Здравствуйте, xXx!

Примерно так

with listView1 do
for i:=0 to count-1 do
if items[i].caption='10' then Showmessage('строка #10 найдена')
// поиск по 1 столбцу.

или

with listView1 do
for i:=0 to count-1 do
if items[i].subitems[0]='Спички' then Showmessage('строка #10 найдена')
//поиск по 2 столбцу, третий столбец будет соответственно items[i].subitems[1]
Ответ отправил: Kazakh (статус: 1-ый класс)
Отправлен: 04.08.2005, 09:44

Отвечает: Ерёмин Андрей
Здравствуйте, xXx!
Писал я одну такую программку... Был TListView (большооой такой). Что я делал: просто пробегал с помощью цикла все его строки и делал сравнение. Если требуется точное сравнение, то сравниваем со значением ячейки:
For i:=0 To ListView.Items.Count-1 Do
if search_str = ListView.Items[i].SubItems[1] Then ShowMessage('Найдено!');

Ну а если требуется совпадение с любой частью поля - использовать Pos() и, если возвратит значение, большее 0 (нуля), значит найдено. Чтобы сделать поиск без регистра, нужно строку, которую ищем и текст ячейки, в которой ищем, приводить к верхнему или нижнему регистру. Вот такова общая схема поиска. В целом, реализация достаточно проста. Удачи!
---------
Если б не было бы глюка, жизнь была б такая скyка...
Ответ отправил: Ерёмин Андрей (статус: Студент)
Отправлен: 04.08.2005, 09:58

Отвечает: Маренич Владимир
Здравствуйте, xXx!
Перебираем все итемы и сравниваем их позицию с нужной. Если совпадает, тогда сравниваем текст, если совпадает, то нашли, если нет - ищем дальше. Может этот пример тебе поможет.

Приложение:

Ответ отправил: Маренич Владимир (статус: 1-ый класс)
Отправлен: 04.08.2005, 10:24


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

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

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

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

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


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


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

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное