Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение HEX из бинарника 
:(
    Опции темы
Somebody32
Дата 2.4.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Overclocker
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 2.1.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Yanis, пример можно, и что делать с нулями, я так и не знаю...

PM MAIL ICQ   Вверх
Yanis
Дата 2.4.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Попробуй сам поискать по форуму фразу TFileStream. Примеров до кучи. Сейчас нарисовать пример не могу.

Добавлено через 10 минут и 51 секунду
http://forum.vingrad.ru/index.php?showtopic=109545
http://forum.vingrad.ru/index.php?showtopic=107911
http://forum.vingrad.ru/index.php?showtopic=105640
как то так...


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Somebody32
Дата 2.4.2007, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Overclocker
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 2.1.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Почитал, но не нашел решения проблемы. Сейчас - все идеально, кроме одного:
при записи 
00002A002A002A002A читается все, кроме некоторых нулей! Как это обойти, я так и не понял =(
PM MAIL ICQ   Вверх
Yanis
Дата 2.4.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Цитата(Somebody32 @  2.4.2007,  22:52 Найти цитируемый пост)
Как это обойти, я так и не понял =( 

Читать это в буфер типа Char или Byte. Не используй Integer или Word/DWORD.

Маленький пример:
Код
var
  f: TFileStream;
  buf, buf2: array[0..13] of Char;
begin
  buf := #$00#$2a#$00#$ab#$f0#$00#$00#$fe#$0e#$ab#$ce#$00#$00#$af;
  f := TFileStream.Create('c:\test.bin', fmCreate);
  f.WriteBuffer(buf, SizeOf(buf));
  f.Seek(0, soFromBeginning);
  f.ReadBuffer(buf2, SizeOf(buf2));
  ShowMessage(buf2);
  f.Free;
end;


Может я чего недопонял... Утро вечера мудреннее ;)

Это сообщение отредактировал(а) Yanis - 3.4.2007, 19:24


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Somebody32
Дата 3.4.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Overclocker
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 2.1.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Хмм, ну,если следовать твоему совету/коду, то, после записи открываем хекс редактором и видим, что записано совсем не то...
PM MAIL ICQ   Вверх
Yanis
Дата 3.4.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Прошу прощения за косяк. Уже исправил.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Somebody32
Дата 3.4.2007, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Overclocker
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 2.1.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Теперь все пишется, но ничего не читается... Пустой бокс выдает.

Это сообщение отредактировал(а) Somebody32 - 3.4.2007, 19:33
PM MAIL ICQ   Вверх
Yanis
Дата 3.4.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Цитата(Somebody32 @  3.4.2007,  20:33 Найти цитируемый пост)
Теперь все пишется, но ничего не читается... Пустой бокс выдает.

Господи, ну читается, но только там первым стоит символ #0, Delphi считает что строка на нём заканчивается.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.