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

Динамический массив   Найти похожие ветки 

 
zloy_dima ©   (2003-04-30 11:53) [0]

Есть указатель на массив (mas) байтового типа.
Требуется занисить в этот массив значения переменных различного типа (a,b,c...). Можно ли сделать аналог как при работе с файлами? Т.е. есть файл байтового типа (f) и заноситься в него:

blockwrite(f,a,sizeof(a));
blockwrite(f,b,sizeof(b));
blockwrite(f,c,sizeof(c));
...

Как можно сделать теже операции непосредственно с динамическим массивом?


 
MBo ©   (2003-04-30 11:55) [1]

проще всего Move


 
Smithson ©   (2003-04-30 12:01) [2]

Не совсем так... У тебя mas: array of byte?
Тогда Move(VeryLongData, Mas[0], SizeOF(VeryLongData)) конечно пройдет, но индекс следующего свободного элемента будет SizeOF(VeryLongData), при следующей записи SizeOF+SizeOF... по-моему, это sex.


 
ASMiD   (2003-04-30 12:07) [3]

Есть такой поток - TMemoryStream
Там все как с файлами, но храниться в памяти


 
zloy_dima ©   (2003-04-30 12:13) [4]

ASMiD: Можешь небольшой примерчик кинуть?


 
ASMiD   (2003-04-30 12:48) [5]

var
MyMemoryStream:TMemoryStream;
a:real;
b:integer;
c:string;
begin
MyMemoryStream:=TMemoryStream.Create;
a:=3.1415926;
b:=1024;
c:="TEST";
MyMemoryStream.Write(a,sizeof(a));
MyMemoryStream.Write(b,sizeof(b));
MyMemoryStream.Write(c,Length(c)+1);
MyMemoryStream.SaveToFile("D:\test\tst.dat");
MyMemoryStream.Free;
end;

Такое Устроит?
SaveToFile сохраняет поток в файл и вообще - читайте Delphi Help
Там все доступно расписано.
Поток можно и очистить и спозиционировать и прочитать обратно из файла
и т. д. и т. п.



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

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



Память: 0.46 MB
Время: 0.013 c
1-34453
Delphiman
2003-04-27 19:11
2003.05.12
Как определить время ?


14-34562
vopros
2003-04-23 16:35
2003.05.12
Считаю что стимул соревнований достоен отделной ветки


14-34595
seth
2003-04-24 12:30
2003.05.12
сказка


3-34335
sapsi
2003-04-21 13:26
2003.05.12
Преобразование строки в дату и обратно


14-34604
Serghei
2003-04-24 14:08
2003.05.12
СОХРАНЕНИЕ параметров программы




   Наверх