Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.026 c
1-1090501632
юзверь
2004-07-22 17:07
2004.08.08
помогите, спасите от мучений:) с текстом


1-1090513591
saimon
2004-07-22 20:26
2004.08.08
Hint в ListBox e


8-1085328726
miek
2004-05-23 20:12
2004.08.08
алгоритм "Плазма"


1-1090750299
Wiz@rd
2004-07-25 14:11
2004.08.08
Double + Double = Double


8-1085639461
Александр
2004-05-27 10:31
2004.08.08
Проблемы с TCanvas




   Наверх