На PORTA.ru
ОГРОМНЫЙ выбор портативной техники:
MD-плееры CD-плееры MP3-плееры Кассетные плееры Диктофоны Радио Цифр. камеры Сотовые Дешевые ноутбуки |
||
Симв(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 |