Автор
|
Тема: Запись в файл
|
a_n_t |
опубликован 17-05-2001 13:22 MSK
Как записать variant в файл? Спасибо....
|
al
|
опубликован 17-05-2001 14:47 MSK
Возможное решение - пишется функция, сохраняющая в файле значение vt, затем (в зависимости от vt) то или иное поле varian'та. При считывании - наоборот, читаем vt, узнаем что за вариант, и считавам его значение. |
a_n_t
|
опубликован 17-05-2001 14:57 MSK
Спасибо. У меня всегда один тип vt - VT_ARRAY|VT_UI1. И мне этот масив байтов надо впихнуть в файл... ;) |
al
|
опубликован 17-05-2001 16:51 MSK
Тогда нет проблем - просто пишите в файл масив байтов из bVal, а при считывании инициализируйте варианты этими значениями. При этом сохранять vt не имеет смысла (если все данные все равно VT_UI1) |
OlegN
|
опубликован 17-05-2001 16:52 MSK
Так что тебе не понятно ? как получить указатель на масиив байт VT_ARRAY|VT_UI1 ? или как записать этот массив в файл ? Для получения указателя на массив байтов используй функцию SafeArrayAccessData, ну а потом записываешь размер массива в файл, а затем пишешь данные в этот-же файл. |
a_n_t
|
опубликован 17-05-2001 18:04 MSK
Спасибо. Уже получилось Открываю базу -> Открываю файл -> в цикле кручу GetChunk -> через SafeArrayGetElement получаю UCHAR и пишу в файл Не мог сообразить как получить данные из массива :)
|
a_n_t
|
опубликован 17-05-2001 18:07 MSK
Спасибо всем! ЯЯ здесь первый раз - но мне очень понравилось ;) |