Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.011 c
1-34392
vladislav80
2003-04-28 22:25
2003.05.12
Несколько пакетов в одной группе...


1-34409
sashas
2003-04-30 13:07
2003.05.12
Вывод картинки.


1-34407
Феникс
2003-04-29 18:11
2003.05.12
Проблема с TImageList


7-34623
alikm
2003-03-18 14:33
2003.05.12
Как выдвинуть, задвинуть и проверить лоток CD-Rom a?


1-34500
anbezr
2003-04-28 13:23
2003.05.12
Недопустимый дескриптор окна