Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-33783
ИМХО
2003-08-23 02:40
2003.09.11
Смертная казнь in USA


14-33759
ИгорьМГ
2003-08-23 13:57
2003.09.11
Вопрос по доступу к базе данных на сервере


1-33637
Сергей Резников
2003-08-28 16:32
2003.09.11
Перетаскивание и TListView


14-33726
Basja
2003-08-25 09:49
2003.09.11
IRQ


9-33419
VEG
2003-03-08 12:26
2003.09.11
Режим эмуляции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский