Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.01;
Скачать: CL | DM;

Вниз

Stream.Write   Найти похожие ветки 

 
ANTPro ©   (2006-11-21 00:37) [0]


Var
ID:Cardinal;
...

// пишу в файл

ID := $00454249;
fStream.Write(ID, 4);//Почему идет запись наоборот?
//В файле будет записанно: 49 42 45 00

...
//читаю это из файла…

fStream.Read(ID, 4);
if (ID <> $49424500)) then//Здесь будет True, почему?
...


 
thaddy   (2006-11-21 01:14) [1]

This may be a studid answer, but...
fStream.pos := fStream.pos -4;//?? before you read back.

;) It"s a stream!

And it works. You know that, you"re too good to forget.


 
Боб   (2006-11-21 07:53) [2]

2 ANTPro
Я думаю так :
в памяти байты расположены начиная с младшего, т.е. 49 42 45 00.
В таком же порядке они пишутся в файл и в таком же читаются из файла.
поэтому после чтения  ID <> $49424500 а должно быть
как раз   ID = $00454249.


 
ANTPro ©   (2006-11-21 17:10) [3]

> [0] ANTPro ©   (21.11.06 00:37)
> fStream.Read(ID, 4);
> if (ID <> $49424500)) then//Здесь будет True, почему?

Тупой вопрос... ночью надо спать :)


> [1] thaddy   (21.11.06 01:14)

Запись и чтение в разных процедурах... (разными fStream)


> [2] Боб   (21.11.06 07:53)
> в памяти байты расположены начиная с младшего, т.е. 49 42
> 45 00.

Это единственное объяснение пока...


 
Galkov ©   (2006-11-21 17:29) [4]


> > [1] thaddy   (21.11.06 01:14)
>
> Запись и чтение в разных процедурах... (разными fStream)

Чаво :roll:


 
Vga ©   (2006-11-21 17:58) [5]

> // пишу в файл
>
> ID := $00454249;
> fStream.Write(ID, 4);//Почему идет запись наоборот?
> //В файле будет записанно: 49 42 45 00

Потому что Intel использует кодировку Little Endian.

> fStream.Read(ID, 4);
> if (ID <> $49424500)) then//Здесь будет True, почему?

Естественно, что записано, то и считается, а $00454249<>$49424500



Страницы: 1 вся ветка

Текущий архив: 2007.07.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
15-1180764370
ganda
2007-06-02 10:06
2007.07.01
Перевести значение String к типу LongInt


15-1180808004
Иксик
2007-06-02 22:13
2007.07.01
Проверка введенного значения


15-1180612744
Шакал
2007-05-31 15:59
2007.07.01
Поиск максимального значения +1


2-1181127648
jaanis
2007-06-06 15:00
2007.07.01
Определить какая .exe открыла порт


9-1155182459
Cg
2006-08-10 08:00
2007.07.01
Что можно почитать на русском про Cg?