![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Unconnected |
![]()
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Нужно представить файл в шестнадцатеричном виде и найти в нём определённую текстовую строку. Вот что я смог:
var f:file of byte; По идее пограмма читает файл "порциями" по 14 символов(строка,которую надо найти,такой длины), потом переводит в шестнадцатеричный вид и, если строка соответствует нужной, останавливает цикл. Только не работает ![]() Сейчас ещё нашёл,что нужно в ASCII виде представить это... Сообщение отредактировано: Unconnected - 28.10.2008 20:13 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Volvo, использую код,предложенный тобой, перевёл нужную для поиска строку в HeX, убедился,что она есть в нужном файле(Hex-редактором)...не ищет почему-то...
![]() Код var f:file of byte; s,z,buf:string; x:byte; a,b,bufsize:integer; begin assignfile(f,'C:\owner.mdb'); reset(f); for a := 0 to filesize(f) - 21 do begin s := ''; Seek(f, a); for b := 1 to 21 do begin read(f, X); s := s + IntToHex(X, 2); end; if s='55006e0063006f006e006e00650063007400650064' then begin edit1.text:=s; break; end; end; А вот когда я в качестве S ввёл 00,то бишь точка, то нашло... -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 13:49 |