Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
14-34584
Godness
2003-04-23 20:12
2003.05.12
сжатие данных ...


1-34458
NewN
2003-04-29 09:00
2003.05.12
Передача string в DLL.


3-34369
Сидоров
2003-04-22 17:06
2003.05.12
BDE


1-34411
TRESDA
2003-04-28 14:42
2003.05.12
Табуляция в Memo.


4-34660
[lamer]Barmaglot
2003-03-11 13:29
2003.05.12
GetOpenFileName





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский