![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помгите с записью ресурсов
regdown © (2006-10-17 15:58:00)Никак не могу разобраться. У меня такой вопрос, допустим у меня есть 2 программы, на каждой из которой есть поле memo. Мне нужно сделать следующее. Я открываю 1 программу ввожу что-то в мемо, нажимаю на кнопку, и она эти данные записывает во 2 программу. А когда я запускаю 2 программу, то я уже вижу эти данные. Не нужно предлагать сохранить в файл.загрузить в файл, не пойдет. Я что-то слышал про функции UpdateResource... Только в инете ничего не нашел. Если у кого есть предложения, то с нетерпением буду ждать.
Сергей М. (2006-10-17 16:29:00) [1]
> Судя по-всему это требует хорошего напряга мозгов
Вот и напряги)
Сходи на msdn.microsoft.com, набери там в строке поиска "UpdateResource" и сиди-думай-напрягай-чеширепу.
Учти что всё это коту под хвост, если целевой модуль находится на read-only-ресурсе или занят в момент апдейта.
regdown (2006-10-17 16:19:00) [2]
>
> А почему нельзя создать файл отдельный с вопросами, привязанный
> к конкретному exe (ну пусть зашифрованный)? Зачем такие
> сложности на свою шею создавать?
У меня уже есть такое, вот заело у меня уместить все в один файл и все! Судя по-всему это требует хорошего напряга мозгов, вот и хочу научиться.
Ketmar (2006-10-17 16:19:00) [3]ага. seek на размер_файла-4, read 4 байта. (лучше 8 -- +4 "подписи", чтобы не налететь на мусор случайно). потом seek, например, на прочитаное число с конца, и читаем файл. всё тривиально. тут даже код просить стыдно. %-)
Ketmar (2006-10-17 16:17:00) [4]>[7] DVM(c) 17-Oct-2006, 16:15
>Зачем такие сложности на свою шею создавать?
судя по всему, автор просто хочет монолитный .exe. чтобы не вспоминать, что ещё скопировать надо.
regdown (2006-10-17 16:17:00) [5]как? может ссылку кинешь или подскажешь? Типа такого чтоль:
ф.сеек()
ф.рид
ф.врайт
DVM (2006-10-17 16:15:00) [6]
> А второе это скомпилировать отдельный exe файл при открытии
> которого начнется тестирование. Так вот как я решил сделать
> это, я заранее создаю программу для тестирования.
А почему нельзя создать файл отдельный с вопросами, привязанный к конкретному exe (ну пусть зашифрованный)? Зачем такие сложности на свою шею создавать?
Ketmar (2006-10-17 16:13:00) [7]а не проще дописать нужные данные просто в конец .exe. и последними 4-мя байтами .exe сделать размер дописаных данных. тогда их чтение становится тривиальным, и все проблемы с добавлениями улетучиваются.
regdown (2006-10-17 16:10:00) [8]Если я не ошибаюсь, если сохранять в отдельный поток, то при копировании эти данные теряются. Я создаю программу редактортестов для института, в ней подготавливаются БД с вопросами.ответами и другой фигней. Потом есть 2 варианта, 1 это сохранять эту БД отдельно в файл, с чем я справился, так как это не трудно. А второе это скомпилировать отдельный exe файл при открытии которого начнется тестирование. Так вот как я решил сделать это, я заранее создаю программу для тестирования. А с помощью редактора тестов записываю туда БД и сохраняю в другое место, так получается отдельная программа уже готовая.
Ketmar (2006-10-17 16:05:00) [9]я отлично это понял. я не понял, зачем трогать .exe. можно ведь, например, сохранить в дополнительный поток, если использовать NTFS. тоже решение. и ничекого дополнительного "мусора". но не факт, что тебе это решение подойдёт. потому и говорю: озвучь задачу конкретно. для чегоэто надо?
regdown (2006-10-17 16:03:00) [10]ну если ты знаешь другие методы, то подскажи, у меня например ума не хватает, поэтому и пишу тут. как например действует РесХакер? Ты не понял, мне и надо записать в файл, в exe. Тока незнаю как.
Ketmar (2006-10-17 16:01:00) [11]ззыж ты точно уверен, что тебе будет проще разобраться с UpdateResource()? задачу поконкретней поставь, что ли. может, есть другие методы?
Ketmar (2006-10-17 16:00:00) [12]прям таки ничего? весь-весь интернет облазил? и msdn внимательно читал? и гугля пытал двое суток?
зыж ты не поверишь, но UpdateResource() -- это тоже "запись в файл". ага.