Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизКопирование двух массивов в один Найти похожие ветки
← →
AlexOld (2006-01-08 17:02) [0]Уважаемые мастера! Чтобы сократить время на доступ к жесткому диску при записи цифрового видео (442КБ на кадр), собирался открыть два потока в памяти каждый на 10..20 кадров. В один вводить данные, а другой писать на диск, по очереди, есс-но. Не знаю, насколько эта идея продуктивна, но вот что обнаружилось при попытке простого отображения массива в память:
Код учебной программыtype
MArray= TMemoryStream;
var
P: array[0..9] of byte;
T1: MArray;
k: Integer;
HFile: THandle;
begin
T1:= TMemoryStream.Create;
HFile := FileCreate("test.dat");
T1.Clear;
T1.Seek(0,soFromBeginning);
for k:=0 to 9 do
P[k]:= k;
T1.WriteBuffer(P,SizeOf(P));
FileWrite(HFile,T1,T1.Size);
T1.Free;
end;
В полученном файле первые шесть элементов стабильно имеют значения 8, 62, 140, 0, 148, 133, а потом уже идут 0, 1, 2, 3. Не могу разобраться, почему. Пожалуйста, помогите.
← →
Anton_K © (2006-01-08 17:12) [1]Так ты ж объект в файл пишешь.
← →
AlexOld (2006-01-08 18:24) [2]Ну, уважил. А я-то, балда...
← →
Zeqfreed © (2006-01-08 18:42) [3]AlexOld (08.01.06 18:24) [2]
Если Вам не трудно, то прокомментируйте, пожалуйста, каждую строчку Вашего «учебного примера: чего Вы хотели ей добиться и чего хотели добиться этим кодом в общем.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.04 c