AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.12.2009, 11:23   #1  
Tzap is offline
Tzap
Участник
 
70 / 10 (1) +
Регистрация: 14.03.2005
Добрый день. Подскажите как считанные из sql двоичные данные (картинка) через Nav записать в файл. Пробую примерно следующий код

ADORecords := ADOCommand.Execute;
ADOFields := ADORecords.Fields;
ADOField := ADOFields.Item('ImageData');
VarImage := ADOField.Value;

ImageFile.TEXTMODE(FALSE);
ImageFile.CREATE('с:\image.jpg');
ImageFile.WRITE(VarImage);

VarImage - переменная Variant, через Binary вообще получается
записать в файл не получается, возникает ошибка про типы данных. Как корректно произвести запись в файл? через потоки?
Старый 04.12.2009, 11:31   #2  
Raul is offline
Raul
Участник
 
35 / 10 (1) +
Регистрация: 15.03.2006
Используй ADOSteram ('Microsoft ActiveX Data Objects 2.8 Library'.Stream)
Например так

ADORecords := ADOCommand.Execute;
ADOFields := ADORecords.Fields;
ADOField := ADOFields.Item('ImageData');
ADOStream.Mode := 3;
ADOStream.Type := 1;
ADOStream.Open;
ADOStream.Write(ADOField.Value);
ADOStream.SaveToFile('с:\image.jpg');
ADOStream.Close;
Старый 04.12.2009, 12:47   #3  
Tzap is offline
Tzap
Участник
 
70 / 10 (1) +
Регистрация: 14.03.2005
Спасибо, работает!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:16.