Показать сообщение отдельно
Старый 08.08.2012, 20:06   #3  
CHESER85 is offline
CHESER85
Участник
 
93 / 11 (1) +
Регистрация: 04.08.2011
Адрес: Ufa
Записей в блоге: 1
методом активного интернет-поиска нашел решение:

X++:
static void Jobik(Args _args)
{

  BinData B = new BinData();
  array a = new array(types::Enum);
  comvariant var1;
  ;
  B.loadFile("c:\\temp\\old_file.dbf");
  var1 = b.getVariant();
  a=var1.safeArray();

  a.value(29,0);
  var1.safeArray(a);
  b.setVariant(var1);
  B.SaveFile("c:\\temp\\new_file.dbf");
}
я считаю что оно не оптимально, т.к. для замены одного байта приходится делать слишком много ненужных операций: загрузка всего файла, копирование его в массив, потом обратно в файл. хотелось бы делать операции как в макросе: прочитал 29й байт, обнулил его и закрыл файл.