|
Добавлено: 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!
Спасибо! значит делаю правильно.
|
Ответить
| Цитировать
|