Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова...и опять HEX [D7, XP]


Страницы:   1 2 3

MOO ©   (2008-01-05 22:42:00) 

Воопсчем так, загружаю я фалег с помощью потока TFileStream и с помощью него читаю определенный блок байтов например: " 00 00 00 D465 7F"
Я читаю выделенные четыре байта, но выходит так, что он их переворачивает и они становятся вида: " D4 00 00 00"
Может я что то неправильно делаю, но видел HEX редактор сделанный на DElphi там точно также. Есть какой-нибудь другой способ уже готовый или всё таки самому писать свою функцию?


{RASkov}   (2008-01-06 01:16:00) [1]

> [55] MOO   (06.01.08 01:13)

Вот эту можно почитать до кучи
http://www.podgoretsky.com/ftp/Docs/Delphi/Podgoretsky/bits.html
.... пригодится)


{RASkov}   (2008-01-06 01:13:00) [2]

> [53] Германн ©   (06.01.08 01:06)

Будем надеяться, что "тута никто никому ничего не сломал" :)


MOO   (2008-01-06 01:13:00) [3]


> DVM ©   (06.01.08 01:04) [52]

Читаю...


{RASkov}   (2008-01-06 01:08:00) [4]

> [53] Германн ©   (06.01.08 01:06)

Эх... точно (
:)


Германн   (2008-01-06 01:06:00) [5]


> {RASkov} ©   (06.01.08 01:03) [51]

Диалог из недавно обсуждавшегося фильма:
Ипполит - Ты мне руку сломаешь.
Женя - Ничего. Сам сломаю, сам и вылечу.
:)


DVM   (2008-01-06 01:04:00) [6]


> MOO

кстати, вот почитай про порядок байт и тому подобное:

http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2


{RASkov}   (2008-01-06 01:03:00) [7]

> [50] MOO   (06.01.08 00:54)
> > {RASkov}
>
> Так всё таки и надо зачепить меня гг ;)

Да не волнуйся ты так, все будет в шоколаде. Если, что зачипим, причипим.... вообщем, как говорится - поможем чем сможем :)


MOO   (2008-01-06 00:54:00) [8]


> palva ©   (06.01.08 00:43) [48]
>

Ну не знай, если бы я учился в Высшем Учебном то может быть мой вопрос и был похожим на все эти.


> {RASkov}

Так всё таки и надо зачепить меня гг ;)


{RASkov}   (2008-01-06 00:48:00) [9]

> [48] palva ©   (06.01.08 00:43)
> Интересующихся мало.

Интерес бывает разный :(
Мало ли, что за файлик, форматом которого заинтересовался автор....
Шучу конечно, но... :)


palva   (2008-01-06 00:43:00) [10]

> Поэтому ничего серьезного, просто интерес
Молодец. А то у нас тут все то препод задал, то начальник приказал. Противно вопросы читать. Интересующихся мало.


MOO   (2008-01-06 00:42:00) [11]


> palva
> DVM

Спасибо, мда мне до этого далеко ;)


MOO   (2008-01-06 00:40:00) [12]


> Ты хочешь ХексВьювер сделать?

Нет, я просто разбираюсь с форматом файла одного. Поэтому ничего серьезного, просто интерес


DVM   (2008-01-06 00:40:00) [13]


> Перевернуть целое можно такой функцией

надо же. как просто.


{RASkov}   (2008-01-06 00:39:00) [14]

> [40] DVM ©   (06.01.08 00:30)

> [43] palva ©   (06.01.08 00:38)

Колдуны :)


palva   (2008-01-06 00:38:00) [15]

Перевернуть целое можно такой функцией

function revint(n:Integer): Integer;
asm
 BSWAP EAX
end;

вот пример использования

{$APPTYPE CONSOLE}
uses SysUtils;
function revint(n:Integer): Integer;
asm
 BSWAP EAX
end;
var
 d: Integer;
begin
 d := $12345678;
 WriteLn(IntToHex(revint(d), 8)); // 78563412
end.


{RASkov}   (2008-01-06 00:36:00) [16]

> [39] MOO   (06.01.08 00:27)
> Видимо вы просто пропускали уроки Телепатии.

Видимо....
Я в начале тебя об этом предупредил :)

Ты хочешь ХексВьювер сделать?
Если да, то может все-таки лучше с байтами работать, нежели с более "тяжелыми" элементами, а потом над ними еще и колдовать....


MOO   (2008-01-06 00:34:00) [17]

Всем спасибо...DVM мне бы хотелось конечно, самому дойти до этой функции.


DVM   (2008-01-06 00:30:00) [18]


> Вот и я об этом думаю

function ReverseBytes(const N: LongInt): LongInt;
begin
 Result := ((N and $000000FF) shl 24) or ((N and $0000FF00) shl 8) or ((N and  $00FF0000) shr 8) or ((N and $FF000000) shr 24);
end;


MOO   (2008-01-06 00:27:00) [19]


> Делай как знаешь....
> Ты толком не можешь объяснить, что хочешь.... к советом
> прислушиваться не хочешь....
> Какие могут быть предложения???

Для меня то понятно, что я объяснил. Видимо вы просто пропускали уроки Телепатии.

> DVM ©

Вот и я об этом думаю


palva   (2008-01-06 00:24:00) [20]

А потом в цикле каждый байт переводи в Hex Хлопотно, но надежно.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо