![]() |
|
![]() ![]() ![]() |
|
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Ситуация такая:
Нужно в программе создать блок, который бы на поле Мемо, или какое другое выводил файл в виде массива. Во второй программе (в коде) нужно этот массив назад преобразовать в файл. Что бы понять ситуацию яснее, объясню на примере. Есть текстовый файл (программа должна обрабатывать любые файлы), я его открываю первой программой и она в поле Мемо показывает мне код типа такого:
Я этот код вставляю во вторую программу и она мне по нажатию на определенную кнопку делает точно такой же файл в указаном месте. Может, кто сталкивался с такой проблемой? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
Gordon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 9.7.2006 Репутация: нет Всего: 6 |
А если просто скопировать файл?
-------------------- |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
На другом компьютере, где будет работать вторая программа, это файла не будет!
Он должен сам создаться (один в один) -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Используй именованные каналы или сокеты.
поиск по google -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Блин, что мне теперь для этого сеть создавать?
А если на компьютере сети нет. Вариант домашнего??? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
После нажатия кнопки Button1 у тебя будет массив байт pMem и его размер - cb. Чего хочешь с ним - то и делай. |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Все замечательно.
Функций ввода вывода очень много, что-то подобное я сам написал, вот только при выводе на экран (Мемо) они будут отображаться совсем по другому, и если их вставить в КОД программы (хочу подчеркнуть именно в код второй программы), то при записи этого массива будет различаться с исходником. То есть в том коде, что был в предыдущем топике все нормально, но основная проблема: преобразовать массив в удобочитаемый код, который потом легко можно было преобразовать обратно в массив. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
то есть?
можно примерчик в студию хотя бы в общих чертах -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Ну что то в этом виде....
Если можно будет его перевести (я пишу про массив) из char в hex и потом обратно, то этот вариант подойдет. У кого нибудь есть идеи как это сделать? можно конечно по символу брать
Но мне кажется это будет долго, и я не знаю, как назад преобразовать в массив. к тому же, как этот дамп записывать в коде программы? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
ну допустим делаю я инстолятор (на самом деле это не так, но задача похожа). Мне в одной программе (далее по тексту я буду называть ее "второй") нужно, что бы программа сама из себя создала несколько файлов. То есть в самом коде программы должны быть присутствовать данные всех файлов (не только текстовых).
Для этого "первая программа" должна подготовить данные для второй программы. версии копирования и распаковки файлов не подойдут. Архиваторы тоже не подходят, по независящи от меня условиям. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Зачем тогда его в Memo выводить и делать такое непонятное преобразование??
Это как? Это сообщение отредактировал(а) 586 - 25.8.2006, 14:48 |
||||||
|
|||||||
Bima |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
вот допустим есть текстовый файл, который имеет внутри все три цифры - "123" первой программой я читаю его и она у меня формирует строку в Мемо:
потом при разработке второй программы я вставляю ее (полученную строчку) в код программы. После этого, вторая программа запишет этот массив StrMain в файл, который не будет отличаться от того, который я считывал первой программой. Это все я рассказал на примере текстового файла. Но если взять исполняемый файл, там есть не печатанные символы, их Мемо не поймет. В результате, файл создастся не такой, как оригинальный. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||
|
|||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Я не хочу его просматривать!!! и тем более не хочу его редактировать Мне нужно создать код, что бы он создавал точно такие же файлы, который я читаю первой программой. Что у них находится внутри, мне не интересно. Файлы могут быть ЛЮБЫЕ (txt, exe, bin, cab, rar и т.д.). Мемо нужен для того, что бы вывести туда информацию, точнее сгенерированный код для будущей программы. я просто не знаю, более удобного варианта... (ну можно на крайний случай вывести в RichText). Проблема не в считывании и записывании файла, а в преобразовании в текстовый вид, а потом назад в бинарный. Вариант преобразования в шеснадцатитиричную форму меня бы устроил, только как все это сделать (желательно быстро). Скорость, нужна, что бы вторая программа не 20 минут думала, что бы переворить внутреннюю информацию и создать файл в 10 кб. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
ок.
как мне создать код программы, который делал бы мне файл ну скажем cmd.exe (из стандартной поставки винды) ??? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
исходные данные: файл cmd.exe. На этом же компьютере установлен ВСВ.
Задача: нужно создать программу, что бы на другом компьютере, она создала ТОЧНО ТАКОЙ-ЖЕ ФАЙЛ cmd.exe (примем, что его там нет). -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
мдя... вот почему порой целесообразно писать о том, чего хочется добиться в результате.
где-то тут на форуме есть около миллиона топиков о сохранении файлов в ресурсы. ключевые слова для поиска: FindResource, LoadResource |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
В принципе тему можно считать закрытой, хотя вопрос не решили, как я хотел.
Тема создавалась для того, чо бы скрыть файл в другом файле, а если быть точнее, то несколько файлов. При создании ресурсов, любой мало-мальский редактор ресурсов может спокойно вытянуть все эти файлы из exe-ка. Своего рода это инсталятор, который делает еще кучу функций, по защите программы. А при создании ресурсов, эту программу можно очень легко вскрыть ![]() -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
ресурсы - не единственное решение, но в данном случае, пожалуй, самое оптимальное.
шифруй ресурсы. |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
а что, есть возможность на лету их зашифровать и расшифровать?
-------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
586 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Кажется, я тебя понял. Вот код:
На форме Memo1, Button1. Скорость хорошая - ~ 1.2 мб/сек Конвертирует файл в код типа:
Это сообщение отредактировал(а) 586 - 26.8.2006, 22:41 |
||||
|
|||||
stmamont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 13.3.2004 Где: влг Репутация: 3 Всего: 3 |
Сообщение мое стерлось.
Теперь расписывать не буду. Предыдущий пост - круто , но не понятно, можно комментарии что там проиходит? Можно еще попробвать MIME - кодирование. Можно попробовать покопать как делают исталляторы (хотя б идею) Можно воспользоваться каким нибудь инсталлятором (NSIS например). Возможно он поможет полностью тебе. (он скриптовый, и может быть ничего не придется кодить))) А вообще асм рулит) (но не понятно(() |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Да ничего сложного. Достаточно открыть справочник по асм.
------- * test cx, 11111111b - устраняет проблему со вставкой строки в Билдер (поскольку строка будет длинная (>1024 символов) то выскакивает ошибка), не придумал ничего, лучше этого. Если в регистре ecx 8 первых бит равны 1, то в строку добавляется символ "\n". Это сообщение отредактировал(а) 586 - 27.8.2006, 01:12 |
|||
|
||||
Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Супер.
586 ОГРОМНОЕ СПАСИБО Это то, что нужно!!!! Великолепное решение задачи, и скорость отличная!!! -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |