Подскажите пожалуйста, как можно просуммировать потоки. Стоит задача в конец .exe файла дописывать свои данные, используя его как контейнер. Элемент ActionWriteRead не подошел, т.к. он нормально записывает, но не считывает, обрезая данные когда размер дописанного текста превышает некий критический порог Кб (например, 400 кб). (может подскажете как пофиксить это? А так компонент удобный.)
Пока решил задачу так (см. аттач). Схема извлекает sample.exe хранящийся в ней и затем дописывает ему в конец текст. В этом можно убедиться открыв сгенерированный sample.exe в редакторе кода Hiasm.
Но в таком подходе есть недостаток пришлось 2 потока преобразовывать в строки, объединить их и затем опять преобразовать в поток. А если вместо текста я захочу добавить видео-файл весом в 700 мб? Явно будет неоправданным такое преобразование. Может кто знает как объединять потоки (склеивать вместе последовательно) "на лету"?
Этот топик читают: Гость
Ответов: 1302
Рейтинг: 48
|
|||
карма: 3 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
карма: 10 |
| ||
файлы: 1 | sumthreads.rar [53.7KB] [171] |
Ответов: 1302
Рейтинг: 48
|
|||
Спасибо, Assasin, то что надо. [flood]Вы профессиональный Hiasm problem-killer
![]() ------------ Дoбавленo в 14.45: Хорошо бы такой компонент написать StreamAdder для объединения 2-х и более потоков в один.. ------------ Дoбавленo в 18.20: Нашел такой элемент - StreamPack, наверное лучше сделать это через него: Пример из Helpa - для упаковки данных:
Для распаковки:
Справку хорошо переделали, теперь ее стоит перечесть прежде чем спрашивать... Извиняюсь за беспокойство.. ![]() ![]() |
|||
карма: 3 |
| ||
файлы: 1 | sumthreads_video.rar [53.6KB] [208] |
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Единственное что не забывай: нельзя подавать на точку StreamPack-а сам исполняемый файл: тогда он не будет запускаться (в самое начало результирующего файла тогда запишется размер этого exe, а не ожидаемый MZP<..>). Так же можешь еще попробовать Types (Вкладка "Работа с типами")
|
|||
карма: 10 |
|
Ответов: 1302
Рейтинг: 48
|
|||
Спасибо, Assasin, если не секрет, что нужно подавать на StreamPack чтоб потом запускалось? Или как..
------------ Дoбавленo в 19.47: Types пробовал, че-то не вышло у меня.. |
|||
карма: 3 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Aziz писал(а): Types пробовал, че-то не вышло у меня..Схему, пожалуйста. ------------ Дoбавленo в 19.50: Aziz писал(а): Спасибо, Assasin, если не секрет, что нужно подавать на StreamPack чтоб потом запускалось? Или как.. Это невозможно ------------ Дoбавленo в 19.51: Черт, тоже теперь не могу отправлять большие сообщения ![]() |
|||
карма: 10 |
|
Ответов: 8948
Рейтинг: 824
|
|||
Assasin, [flood]Вы превысили установленное число ответов не заключённых вот в этих тегах
![]() |
|||
карма: 19 |
|
Ответов: 1302
Рейтинг: 48
|
|||
Схема уничтожена, потому что не вышло..))) Может позже попробую еще. А сейчас нашел в upload еще элемент OperationsCombinedFiles - вроде тоже делает похожее.
|
|||
карма: 3 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Aziz, если хочешь, могу сделать IC, по функциям схожий с ActionWriteRead, только без шифрования.
|
|||
карма: 10 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2025-01-20 13:39:40 |
|||
карма: 0 |
|
Ответов: 1302
Рейтинг: 48
|
|||
[offtop]NetByNet - это был я.[/offtop]
|
|||
карма: 3 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
карма: 10 |
|
Ответов: 1302
Рейтинг: 48
|
|||
Спасибо большое, попробую прикрутить к своей программе..
|
|||
карма: 3 |
|
13