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

Вниз

Писать и читать   Найти похожие ветки 

 
Керик   (2004-07-23 09:02) [0]

Научите меня, плиз, писать и читать в файл ПОБАЙТНО с помощью TFileStream. В школе плохо учился :-)


 
Reindeer Moss Eater ©   (2004-07-23 09:04) [1]

var b : byte;
begin
FileStream.Read(b,SizeOf(b));


 
Керик   (2004-07-23 09:05) [2]

Пробовал, не работает! Всегда b равен 0!


 
Reindeer Moss Eater ©   (2004-07-23 09:06) [3]

Ну и что что равен 0?


 
Керик   (2004-07-23 09:11) [4]

А мне нужно получить значение байта!


 
Reindeer Moss Eater ©   (2004-07-23 09:14) [5]

Дык ноль -  и есть значение байта.


 
Керик   (2004-07-23 09:16) [6]

Нет, я WinHexом смотрел, оно не нулевое!


 
Reindeer Moss Eater ©   (2004-07-23 09:17) [7]

Не там смотрел откуда читаешь


 
Vit@ly ©   (2004-07-23 09:17) [8]

Seek
BlockRead
BlockWrite


 
Fay ©   (2004-07-23 09:17) [9]

SizeOf(Byte) - это круто 8)


 
Reindeer Moss Eater ©   (2004-07-23 09:20) [10]

SizeOf(Byte) - это круто 8)

Просто стильно, но не круто


 
Керик   (2004-07-23 09:29) [11]

Vit@ly Не получается - ошибка Read beyond end of file.


 
Reindeer Moss Eater ©   (2004-07-23 09:31) [12]

Не читай данные за концом файла.
тем более что их там нет.


 
Керик   (2004-07-23 09:33) [13]

В Seek я ставил 13, а размер файла - 1528 байт!


 
Reindeer Moss Eater ©   (2004-07-23 09:35) [14]

Не у того файла


 
Reindeer Moss Eater ©   (2004-07-23 09:37) [15]

В Seek я ставил 13, а размер файла - 1528 байт!

Ну и что?
Делаем сик на +13 байт с позиции soFromEnd/
И пофик на размер файла.
Хоть 13 гигабайт


 
Керик   (2004-07-23 09:50) [16]

Такая ошибка у меня вылетала, когда я делал как сказал Vit@ly - BlockRead не метод TFileStream, и я делал AssignFile. Когда пробовал TFileStream.Seek я ставил soBeginning.


 
Fay ©   (2004-07-23 09:51) [17]

Код давай уже!!!!


 
Reindeer Moss Eater ©   (2004-07-23 09:53) [18]

Давайте здесь рассказывать какие у кого ошибки вылетали когда-то.
Может и не сразу ветку закроют.


 
Anatoly Podgoretsky ©   (2004-07-23 11:18) [19]

Fay ©   (23.07.04 09:51) [17]
Рано еще


 
sniknik ©   (2004-07-23 11:26) [20]

код дают только те кому действительно нужно (и на доп вопросы они же грамотно отвечают), остальные треплются.


 
Anatoly Podgoretsky ©   (2004-07-23 11:28) [21]

Уже поздно


 
Керик   (2004-07-23 14:38) [22]

procedure ReadByte;
var F: TFileStream;
   B: Byte;
begin
 F := TFileStream.Create(Edit1.Text, fmOpenReadWrite);
 F.Seek(13, soFromBeginning);
 F.Read(B, 1);
 F.Free;
end;


B всегда равен нулю. Что я делаю не так?


 
Iconka ©   (2004-07-23 14:45) [23]

Все правильно. Ищи ошибку в другом месте.


 
KosilkA ©   (2004-07-23 14:52) [24]


> Керик   (23.07.04 14:38) [22]


у меня все работает ,а как ты узнал что в b возвращается ноль?
Попробуй, проверь вот так:

var F: TFileStream;
  B: Byte;
begin
F := TFileStream.Create("c:\keygen.exe", 0);
F.Seek(13, soFromBeginning);
F.Read(B, 1);
showmessage(inttohex(b,2));
F.Free;
end;


 
Iconka ©   (2004-07-23 14:54) [25]

100% ошибка в другом месте!!!!


 
Knight ©   (2004-07-24 01:53) [26]

А можно ли читать по-битно?


 
Knight ©   (2004-07-24 01:56) [27]

/шутка/ :)



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

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

Наверх




Память: 0.52 MB
Время: 0.05 c
3-1089633365
Tempo
2004-07-12 15:56
2004.08.08
Параметры Locate


1-1090628404
nick_mas
2004-07-24 04:20
2004.08.08
Подскажите, как лучше закодировать информацию?


1-1090444840
Diver
2004-07-22 01:20
2004.08.08
Тоже большие числа?


1-1090424132
limon_
2004-07-21 19:35
2004.08.08
Servers


3-1089955641
Rater
2004-07-16 09:27
2004.08.08
dbf поле длинна 2 тип Numeric. В RunTime создать можно?