Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизДинамический массив Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c