Вниз
Скачать: CL | DM;

Сохранить массив, по хитрее   Найти похожие ветки 

← →
Sfagnum ©   (2003-08-28 17:09) [0]

есть такой массив:
[code]array of array[0..MAXPLEN, char] of byte;[/code]
его надо сохранять пердически и чаще считывать, не подскажете методу/или_что_там_ещё шоб это делать легко и без болезненно...

хотелось бы обойтись модулем System

заранее спасибо


← →
pasha_golub ©   (2003-08-28 17:13) [1]

Я так понял это динамический массив массивов?
наверное, придется ручками


← →
Sfagnum ©   (2003-08-28 17:18) [2]

понял правильно...
ну это я так и предполагал...

просто может кто, что подобное делал, подскажут в каком направлении двигать


← →
pasha_golub ©   (2003-08-28 17:25) [3]

А чего тут двигать, в цикле по внешнему (динамическому) массиву от 0 до length-1 делаешь.
А там уже BlockWrite


← →
Sfagnum ©   (2003-08-28 17:40) [4]

А считывать?


← →
pasha_golub ©   (2003-08-28 17:45) [5]

2Sfagnum
Соответствено,
while no eof(f) do
begin
...
BlockRead(...)
end;


← →
Sfagnum ©   (2003-08-28 17:46) [6]

мда...
типа обратно в массив ну да ладно спасибо


← →
Sfagnum ©   (2003-09-01 10:43) [7]

Проблемы возникли с записью чтением...
пишу в массив таким образом
var
mStates: array of byte;
fo: file;
j: byte
begin
assignfile(fo, "save.out"); rewrite(fo,1);
....
j := length(mStates);
BlockWrite(fo,j,szByte);
BlockWrite(fo,mStates,j);
....
end;


читаю...

var
mStates: array of byte;
fo: file;
j: byte;
begin
assign(fo, "save.out"); reset(fo,szByte);
....
BlockRead(fo,j,szByte);
SetLength(mStates,j);
....
BlockRead(fo,mStates,j);
....
end;


после строки BlockRead(fo,mStates,j); mStates становиться пустым массивом без элементов или с одним - не очень понял...

что здесь не так?


← →
Smithson ©   (2003-09-01 10:52) [8]

j*szBytes

Для BlockRead второй параметр Reset не нужен.


← →
Романов Р.В. ©   (2003-09-01 10:53) [9]

BlockRead(fo,mStates[0],j);


← →
Sfagnum ©   (2003-09-01 11:01) [10]

2 Smithson
забыл дописать
Const szBytes = SizeOf(Byte)
так что умножать на единицу не вижу смысла, хотя оно так вернее...
>Для BlockRead второй параметр Reset не нужен.
не просветите почему, если не влом...

2 Романов Р.В.
Не понял почему, но сработало... или это так динамические массивы считываються?


← →
Palladin ©   (2003-09-01 11:56) [11]


> Sfagnum © (01.09.03 11:01) [10]

Идентификатор массива есть указатель



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

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



Память: 0.47 MB
Время: 0.012 c
1-33679
Vova
2003-08-29 14:12
2003.09.11
Как сделать строки ComboBox-а разноцветными?


1-33613
Sfagnum
2003-08-28 17:09
2003.09.11
Сохранить массив, по хитрее


4-33852
Th
2003-07-08 11:00
2003.09.11
Искусственный вызов Window Menu приложения


3-33429
lex7
2003-08-19 14:29
2003.09.11
Как выделить год в дате?


1-33567
Support1
2003-08-28 19:23
2003.09.11
- Проблема с компонентом




   Наверх