Помощь - Поиск - Пользователи - Календарь
Полная версия: Как читать из файла после #26?
Форум «Всё о Паскале» > Разработка ПО, алгоритмы, общие вопросы > Общие вопросы разработки программ
Baumanec
Так вот нужно прочитать в файле ".exe" информацию которая содержится после #26 символа Там точно есть информация.
Принимаються любые решения я понимаю что тут просто без Асемблера не обойтись, но этот язык неведом мне...
Как это можно решить на дэльфи а проще говоря нужно упоковать exe файл в массив byte, где код соответствует символу прочитанному из файла...
andriano
Цитата(Baumanec @ 22.04.2008 21:34) *

Так вот нужно прочитать в файле ".exe" информацию которая содержится после #26 символа Там точно есть информация.
Принимаються любые решения я понимаю что тут просто без Асемблера не обойтись, но этот язык неведом мне...
Как это можно решить на дэльфи а проще говоря нужно упоковать exe файл в массив byte, где код соответствует символу прочитанному из файла...

Ассемблер здесь ни при чем. Просто надо работать с бинарным файлом, а ты пытаешься работать с ним как с текстовым.
т.е.:
var
f : file;
begin
assign(f,'MyProgram.exe');
reset(f,1);
blockread(f,...
Baumanec
Вопрос, можете рассказать чуть больше о работе с бинарным файлом...
andriano
Собственно, любой файл можно считать бинарным. Именно так и делают функции файлового ввода/вывода ОС. Но, кроме этого в ЯВУ обычно реализуют более высокоуровневый доступ к частному случаю файла, называемому текстовым файлом. Четкой структуры у этого файла, в отличие от подавляющего большинства форматов файлов у текстового файла нет, он трактуется как файл, состоящий из однобайтовых (обычно) символов, причем часть символов являются знаками алфавита, цифрами либо знаками препинания, а часть - является служебными символами. К последним относятся символы конца строки, перевода строки, кнаца страницы, табуляции, конца файла...
При работе с файлом при помощи процедур, ориентированных именно на работу с текстовыми файлами, содержимое не просто переносится в память, а производится дополнительная обработка, в частности отслеживаются концы строк, а также по символу конца файла считается, что файл закончился. Такое поведение продиктовано совместимостью с ОС для 8-разрядных компьютеров CP/M-80, в которой длина файла определялась с точностью до сектора 128 байт, т.е. текстовый файл обычно содержал "хвост", не содержащий полезной информации, причем на уровне ОС этот "хвост" распознать было нельзя. Для его маркирования и ввели символ конца файла.
Чтобы этот символ не обрабатывался, нужно исключить разбор файла срествами библиотеки ЯВУ, работать с ним либо непосредственно функциями ОС, либо выполняющими аналогичную функцию средствами ЯВУ.
Фрагмент я привел. Более подробно об использовании можно прочитать во встроенной справке.
Baumanec
Я посмотрел в справке там вообще ничего не понятно можете кто-нить просто привести пример типо вот я написал
и вот что она будет делать...
Baumanec
Ужо не надо полностью разобрался...
Если кому кто ещё не знает интерсно, то http://informatics.lgg.ru/pascal10.html
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.