RSS RSS
Добавлено: 2006-12-05 13:34:27   Как правильно перенести такой кусок кода под динамический массив?
Vini

Зарегистрирован(а): 17.02.2019

Сообщений: 2 (просмотреть)
TMemoryStream *Wave_Stream = new TMemoryStream;
float Wave_array[8192];
Wave_Stream->Clear();
Main_DM->Wave_Val_ADODataSetWAVE_DATA->SaveToStream(Wave_Stream);
Wave_Stream->Seek(0,soFromBeginning);
Wave_Stream->Read(Wave_array, Wave_Stream->Size);
float а = Wave_array[5];

Небольшие пояснения:
Загружаем двоичные данные из БД в поток (практически это дамп массива).
затем из потока записываем их в буфер Wave_array (инициализируем таким образом массив)
потом работаем с Wave_array как c обычным массивом.
количество элементов флоат массиве можно посчитать как
(Wave_Stream->Size / 4)

как бы сделать все тоже самое, но с условием, что Wave_Stream у нас будет динамическим массивом?

Ответить | Цитировать
Добавлено: 2006-12-05 14:44:30
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
Наверное, задача заключается в том, чтобы сделать динамическим массивом Wave_array?
...
exarray<float> Wave_array;
...
Wave_array.resize(Wave_Stream->Size / 4); // или expand
Wave_Stream->Read(Wave_array.base(), Wave_Stream->Size);
...
Все остальное также.

Ответить | Цитировать
Добавлено: 2006-12-05 16:46:00
Vini

Зарегистрирован(а): 17.02.2019

Сообщений: 2 (просмотреть)
Да! конечно речь шла о Wave_array!
Спасибо! значит делаю правильно.

Ответить | Цитировать