Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2011, 04:43   #1
rublik
 
Регистрация: 12.10.2011
Сообщений: 3
По умолчанию Ресурсы в экзешнике.

День добрый. Я в дельфи своего рода дилетант, помогите пожалуйста советом, в моей программе ведётся запись участников текстовые данные заносятся в таблицу excel, а фото участников загружается просто в папку с фотографиями, имеется ли возможность скрыть с глаз долой папку и файл xls в какой-нибудь файл ресурсов либо скрыть их в самой программе, т.е. записать в exe.
rublik вне форума Ответить с цитированием
Старый 18.10.2011, 07:42   #2
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию

Зачем вы создали столько много тем?

Цитата:
Сообщение от rublik Посмотреть сообщение
День добрый. Я в дельфи своего рода дилетант, помогите пожалуйста советом, в моей программе ведётся запись участников текстовые данные заносятся в таблицу excel, а фото участников загружается просто в папку с фотографиями, имеется ли возможность скрыть с глаз долой папку и файл xls в какой-нибудь файл ресурсов либо скрыть их в самой программе, т.е. записать в exe.
Ну разумеется можно.
Создаете Текстовый файл, например MyFiles.txt
Дальше заносите туда пути и названия файлов К примеру:

handling DATA data\handling.cfg
animgrp DATA data\animgrp.dat
animviewer DATA data\animviewer.dat


Первое слово (handling, animgrp, animviewer) это название файла, по которому программа будет искать данный ресурс, Второе (DATA), я собственно не совсем понел зачем это, но я ставлю обычно DATA даже если формат допустим rar или mp3 и работает все. DATA также необходима для поиска файла в ресурсах, и data\handling.cfg это уже путь к файлу. В данном случае показано, что файл handling.cfg лежит в папке data. После того как вы внесли туда все файлы, сохраняете файл MyFiles.txt как MyFiles.rc.

Копируете из папки bin в Delphi файл brcc32.exe.
создаете тамже ярлык в который пишете примерно следующее:
"Путь\brcc32.exe" MyFiles.rc
Запускаете, если зделано все правильно то появится файл MyFiles.Res
Далее ищете в Delphi строку:
{$R *.dfm}
И добавляете ниже:
{$R MyFiles.RES}

Далее уже процедура чтения из ресурсов:
Код:
procedure TAntiCheat.ReWriteClick(Sender: TObject);
var
rStream: TResourceStream;
rStream := TResourceStream.Create(hInstance, PWideChar('animgrp.dat') ,'DATA') ;
end;
Вот вы и загрузили в rStream файл animgrp.dat. С вашим примером аналагично. Если будут вопросы обращайтесь.
P.S. Если есть ошибки в словах извините, писал торопясь.
Каждый день узнаю новое...
Anton911 вне форума Ответить с цитированием
Старый 18.10.2011, 08:30   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Создать шесть одинаковых тем с разными заголовками - это нужно очень постараться. Создавайте свой файл, на момент входа в прогу - выдергивайте из него ваши папки с фотками и xls, по выходу - опять записывайте. Можно это сделать каким нибудь архиватором. А смысл сего действа? Рано или поздно при такой технологии потеряете информацию
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.10.2011, 08:57   #4
rublik
 
Регистрация: 12.10.2011
Сообщений: 3
По умолчанию

Anton911, ваш способ хорошо подходит только для чтения ресурсов которые были добавлены не из самой программы, а вручную, через прописывание их в блокноте и формирования с помощью brcc32.exe. Но как же записать файл, неизвестного происхождения, т.е. картинка или допустим электронная таблица с неизвестными до момента их получения именами из самой программы. Может быть кроме процедуры чтения есть процедура записи в файл res?


Много тем получилось из-за того, что форум ругался на неправильное имя темы, вот я и создавал темы с другими именами, а потом все темы которые я перепробовал появились в форуме, можно попросить модератора удалить темы без ответов?


_________________
Не используйте форум как чат - не пишите несколько коротких сообщений подряд!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.10.2011 в 09:15.
rublik вне форума Ответить с цитированием
Старый 18.10.2011, 09:14   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Много тем получилось из-за того, что форум ругался на неправильное имя темы, вот я и создавал темы с другими именами,
Никогда! Слышите - НИКОГДА так больше не делайте!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ресурсы JeyKip Win Api 2 11.04.2010 10:26
Ресурсы VladimirVB Win Api 3 23.08.2009 12:47
Ресурсы W0LF Общие вопросы Delphi 1 01.08.2009 13:36
Ресурсы Witaliy Общие вопросы Delphi 1 27.04.2008 17:40
Ресурсы, зачем нужны ресурсы Hallo Обсуждение статей 0 12.12.2006 21:30