PORTA.ru - on-line магазин ПОРТАтивной техники.PORTA.ru - on-line магазин ПОРТАтивной техники.

Новости
Мои разработки
FAQ
Ссылки
Форум

Симв(0) в строке и в файле

Перем БинСтрока;
Перем
 БинХвост;
//---------------------------------------------------------
Процедура БинСтрокаДобавитьБайт(_Код)
     Если (_Код=0) Тогда
          БинХвост=БинХвост+Формат(СтрДлина(БинСтрока),"Ч(0)16.0");
          БинСтрока=БинСтрока+Симв(1);
     Иначе
          БинСтрока=БинСтрока+Симв(_Код);
     КонецЕсли;
КонецПроцедуры
 //--------------------------------------------------------
Функция БинСтрокаПолучить()
Возврат
 Формат(СтрДлина(БинСтрока), "Ч16.0") + БинСтрока + БинХвост; КонецФункции
//--------------------------------------------------------
Процедура Выполнить()
БинСтрока = ""; БинХвост = "";
// для примера берем все символы
Для Индекс = 0 по 255 Цикл
     БинСтрокаДобавитьБайт(Индекс);
КонецЦикла;
ЗагрузитьВнешнююКомпоненту(
"WheelAddIn.dll");
AddInWheel = СоздатьОбъект("AddIn.FWheelAddIn");
Файл = AddInWheel.СоздатьФайл(ИмяФайла);
Если
 (Файл = -1) Тогда
     Сообщить("Ошибка создания выходного файла!");
     Возврат;
КонецЕсли;
Рез = AddInWheel.ПисатьБинФайл(Файл, БинСтрокаПолучить()); AddInWheel.ЗакрытьФайл(Файл); Если (Рез = -1) Тогда
     Сообщить("Ошибка записи файла!");
КонецЕсли;
КонецПроцедуры;
Хитрость обхода нечитаемости в 1С символов с кодом 00 состоит в том что, функции ПисатьБинФайл() передается строка, в которой нет "нулей", они заменены на код 01, но в бинарном хвосте содержится информация, в каких позициях код 01 следует читать как 00. Аналогично при чтении бинарного файла.
<сообщила Ольга>
Компонента, которая умеет читать-писать бинарные файлы -- Wheel.Addin

- Наверх -

В качестве благодарности за решение проблемы, щелкните здесь.
Поддержите развитие сайта.
Спасибо!
Автор и разработчик: Кайгородов Андрей aka mszsuz. mszsuz@online.sinor.ru ICQ#33993114. Дата последнего обновления страницы: Friday 09.04.2004 16:52
1C:TOP-100 Рейтинг ресурсов 1С
Hosted by uCoz