Как загрузить в свою программу бин файл для работы с ним.
Загрузка во время работы с программой
Этот топик читают: Гость
|
Ответов: 1321
Рейтинг: 37
|
|||
| карма: 0 |
|
|
Ответов: 4641
Рейтинг: 334
|
|||
|
Roma писал(а): бин файл для работы с ним.посмотреть элементы из раздела Файлы-Потоки |
|||
| карма: 1 |
|
|
Ответов: 1321
Рейтинг: 37
|
|||
|
а точно ,я просто давно этими элементами давно не пользовался
------------ Дoбавленo в 09.52: спасибо Ravilr,рас уж помог ,то помоги пожалуйста еще,я хочу найти CRC32 сумму файла но используя только файловый поток это невозможно,что делать??? |
|||
| карма: 0 |
|
|
Ответов: 4641
Рейтинг: 334
|
|||
| карма: 1 |
|
|
Ответов: 1321
Рейтинг: 37
|
|||
|
Да про этот элемент я знаю,я и спрашиваю как загрузить BIN файл чтоб найти crc32,через поток загрузить ,потом через конвертер ,а затем
crc32 ,но в начале надо загрузить |
|||
| карма: 0 |
|
|
Ответов: 4641
Рейтинг: 334
|
|||
|
Roma писал(а): как загрузить BIN файл чтоб найти crc32,через поток загрузить ,потом через конвертер ,а затем
crc32 вот и загружай, потом через конвертор, а потом через CRC32 |
|||
| карма: 1 |
|
|
Ответов: 273
Рейтинг: 29
|
|||
|
Да, и мне подскажите, как посчитать crc32 для огромного файла?
Есть компонент в инструментах, но он вычисляет crc только для строк. А мне нужно посчитать для огромного файла. Как правильно это оформить? Насколько я понял нужно отмапить файл в память, а дальше... а дальше можно читать ограниченными кусками - весь файл отмапить не смогу. У каждого куска получится своя crc. А че дальше с ними делать? А, все, разобрался... Все оказалось проще Только crc неправильный был - пришлось полиномы искать. Заодно и узнал подробнее про сам алгоритм Сделал себе компонент на будущее. Нет. Все-таки грабли еще есть. Этот алгоритм грузит в память весь файл и его обсчитывает. Нужен маппинг - памяти всегда мало. Копаю дальше. Добавил маппинг Очевидно он считает crc только для спроецированного куска файла. При этом crc маленьких файлов (50кб) правильные - влазят в этот кусок. Так не пойдет. Надеялся, что механизм проецирования сам автоматом будет двигать зону проекции по файлу. |
|||
| карма: 0 |
| ||
| файлы: 1 | code_23259.txt [1.2KB] [133] |
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
tomas писал(а): но он вычисляет crc только для строкВопрос -- а чем отличается ASCII строка от бинарного файла |
|||
| карма: 22 |
|
|
Ответов: 273
Рейтинг: 29
|
|||
|
nesco писал(а): Вопрос -- а чем отличается ASCII строка от бинарного файлаВсем. Строка - текстовая, файл бинарный. При этом строки ограничены размером памяти, а файл - размером диска. И что характерно, размер диска почти всегда больше В этом и засада. Конвертор потока в hex + подсчет crc в режиме hex работают отлично, но размер файла ограничен оперативкой. Мне надо посчитать CRC32 для файла, размером больше оперативки. Пока копаюсь с маппингом. Надо почитать, как он устроен. Автоматом не работает. Угу, кажется догнал. Все работает автоматом, но размер области проецирования нужно выделять больше файла. При ее увеличении постепенно все более большие файлы начинают обретать правильный crc. Я всегда думал, что маппинг - это когда специальным механизмом в память проецируется небольшой кусок файла, и этот механизм двигает окно проецирования по файлу в зависимости от того, к какой части файла обращаются. Оказалось все проще - просто проецируется весь файл (или кусок) в виртуальную память. Думаю дальше справлюсь сам - осталось механизм автоматического определения размера прикрутить. Ага. Справился. Вот алгоритм просчета crc32 со стандартным полиномом и мапингом. Что делает: мапит 1 блок, смотрит сколько надо, закрывает файл и еще раз мапит, но полностью весь файл. Мне хватит. Но если кто-то попытается сделать на его основе утилиту для массовой обработки - можно немного поднять скорость, если вместо двойного мапинга рассчитывать размер блока перед открытием "вручную". Либо при первом мапинге смотреть, если текущий размер >= необходимого - не мапить второй раз. |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
tomas писал(а): Строка - текстовая, файл бинарныйОткуда такие познания по представлению строк в HiAsm-e Объясни мне, что такое строка, как ты себе ее представляешь И чем отличается тип PByte от типа PChar (Млин, чувствуюяя я, что скоро мне придется писать развернутое описание по ASCII строкам) |
|||
| карма: 22 |
|
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
|
nesco писал(а): И чем отличается тип PBite от типа PCharГм, а что такое PBite? Ни гугл, ни яндекс не дает ответа |
|||
| карма: 10 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
Assasin писал(а): Гм, а что такое PBite?Очепятка, торопился я -- PByte надо было написать |
|||
| карма: 22 |
|
|
Ответов: 16884
Рейтинг: 1239
|
|||
|
nesco писал(а): скоро мне придется писать развернутое описание по ASCII строкам)tomas писал(а): Строка - текстовая, файл бинарный.И в памяти это единички и нолики. |
|||
| карма: 25 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
Tad писал(а): Это результат прелестей кубикостроенияНо никто же не мешает развиваться дальше, было бы желание |
|||
| карма: 22 |
|
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
|
nesco писал(а): Но никто же не мешает развиваться дальше, было бы желаниеИ думаю, я - вполне подходящий этого пример |
|||
| карма: 10 |
|



Поиск
Друзья
Администрация