#0
by Кукуев
В обработке открываю каталог, где находятся файлы *.txt, нужно проверить кодовую страницу этих файлов, и если она не Dos, то сообщить об этом. Согласно описанию, <Режим> Необязательный параметр. Числовое выражение: 0 — Windows-кодировка, 1 — DOS-кодировка. Если параметр не задан, то режим кодировки не меняется (используется для определения текущего режима кодировки без его смены). Вот, вроде бы, и нужно мне только определить текущий режим кодировки, но не отрабатывает, как хотелось бы. Проверяю на каталоге, где заведомо один из файлов в Win кодировке, а остальные в Dos, но по всем файлам выдает в Сообщить только 0. Вот код: Процедура ВыбратьКаталог Путь к файлам пробовал указывать по-разному, и полный путь, и только имя файла, но при этом ругается на неверный путь… В Сообщить("Файл - " + ПутьКФайламИФайл); показывает верный путь к файлу, а вот в Сообщить(Загрузка.КодоваяСтраница); по всем файлам показывает 0. Я, наверное, неправильно использую КодоваяСтраница… Подскажите, как можно правильно определить кодовую страница файла при выборе каталога?
#2
by Кукуев
В строке Сообщить(Загрузка.КодоваяСтраница); конечно же, ошибка... при копировании... нужно Сообщить(Текст.КодоваяСтраница);
#3
by IUnknown
чем бы дитя не тешелось, лишь бы за пипиську себя не дергала... скажи, мил человек, чем отличаються файлы в дос кондировке от файлов в виндовс кодировке?
#4
by Кукуев
Если бы я знал это точно - скорее всего, я бы не создавал таких тем... Я загружаю эти файлы из другой программы, которая их выдает в Dos-кодировке, и если по какой-то причине попал файл в Win кодировке, то, естественно, в справочник записываются кракозябры... Вот и хотелось бы сразу, при выборе каталога, определить кодовую страницу файла и сделать предупреждение...
#5
by ZanderZ
"КаталогПуть = ИмяКаталога + "";" проверяй вначале н наличие "" на конце а потом присваивай "ИФ = ФС.НайтиПервыйФайл("*.txt");" делай ИФ = ФС.НайтиПервыйФайл(КталогПуть+"*.txt"); КонецЕсли;" - это зачем если ты только txt указал то тогда
#6
by IUnknown
они абсолютно ничем не отличаються... и никаким макаром ты не отличишь файл в формате КОИ от формата Кирилик(Виндовс)
#8
by Кукуев
Попробовал поменять на предложенное, но вообще не стало выдавать никаких сообщений... Хотя в моем случае при выборе каталога файлы, которые в нем находятся, копируются в каталог архива и во временный каталог (с измененным расширением), для дальнейшей обработки... но вот с кодовой страницей не получается решить вопрос... Если они ничем не отличаются - как-то все-же можно определить их кодовую страницу, чтобы не загружать кракозябры?
#9
by Кукуев
На глазок, конечно, можно, для этого, как я думаю, нужно вывести файл на просмотр, пробовал так, но как-то это не хорошо, да и файлов может быть много... Все-таки, есть, наверное, какой-то способ определить кодировку...
#10
by IUnknown
блин создай два файла типа йцукенгшщзхъфывапролджэячсмитьбюё ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ только один в КОИ-8 ... а другой в вин-1251 ... а потом сравни их в любом шенадцатиричном редакторе
#11
by Кукуев
Ну не сердись ты! Если знаешь - подскажи как проверить файлы при выборе каталога, чтобы в справочник кракозябры не попали...
#12
by IUnknown
да я тебе говорю, что никак... только на глазок... ибо то что ты в винде видишь как букву "К" в ДОСе ты видишь как "л" ... но обе имеют один и тот же код 202... и никаким макором другой программе не опазнать где и как добавили в данный файл код 202
#13
by Кукуев
Спасибо, понятно... Буду искать другой вариант, может, через просмотр, т.е. глазками... вот только ввела в заблуждение фраза из описания... <Режим> Необязательный параметр. Числовое выражение: 0 — Windows-кодировка, 1 — DOS-кодировка. Если параметр не задан, то режим кодировки не меняется (используется для определения текущего режима кодировки без его смены) и подумал, что как раз для моего случая...
#14
by IUnknown
что внутрях твоих файлов? ... там постоянно все менятся или есть что-то общее для всех
#15
by Кукуев
внутри файлов строки, данные документов, с контагентами, наименованиями, суммами... одна строка - один документ... первой строкой всегда идет строка с датой и временем формирования файла, естественно, всегда разная Что-то интернет сегодня не на шутку нлючит...
#16
by IUnknown
дата вида "09.01.07" или "9 января 2007" ... есть ли где ключевые слова типа "Документ", "Расходная", "Накладная"...
#17
by wise
если файлы формируются программно, то может указать кодировку в первой строке файла, а при загрузке считать...?
#18
by Кукуев
Дата вида 17/08/2007;11:11 и нет слов тиких как Документ, в смысле - ключеных... Было бы это хорошо, но принимаемый файл изменить не получится (одно из уловий, не мое...)
#19
by IUnknown
если бы можно было что-то добавить вопрос о кодировке бы не стоял... покажи несколько пару другую шапек этих файлов(и досовских и виндовых)... верхнии три-четыре строки... имеющих, что-то общее
#20
by Кукуев
Прошу прощения за долгое отсутствие - были ремонтные работы в здании, с отключением электричества. Я, честно говоря, не ожидал, что проверка кодировки выльется в такую проблему, но если это так - то шут с ней, с этой проверкой, оставлю пока без проверки, в надежде, что получать придется только нормальные файлы, в нужной кодировке. Спасибо откликнувшимся, тему можно закрыть...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Вызвать отчет из документа с параметрами
- Что дает сертификат 1С:Профессионал?
- результат запроса в табличное поле. help!
- УТ 10.3 оплата кредитами как?
- как открыть документ и отредактировать в форме обработкой,не сохраняя его
- Как изменить данные в sql таблице?
- При обмене УТ-БУХ 8.0 не выгружаются склады
- Ознакомление пользователей с изменениями конфигурации - способ?
- Можно ли стандартными средствами 1С зашифровать строку?
- Сложные условия в запросах
- 1cpp.dll SQL запрос в журнале документов
- Получить итоги с учетом реквизита регистра остатков
- Как вывести из таблицы значений инфу в табличную часть документа ?
- Работа с табличной частью на форме обработки
- v7: Учет касс на 50 счете в разрезе касс на УПП
- Как изменить время записи открытого документа?
- Как сделать закладку в форму недоступной для редактирования обычным пользов
- Целочисленное деление и остаток
- Как установить блокировку регламентных заданий?
- v7: SQL 2005 и 1С v.7.7 (Зик) Запрос.ВключитьSQL - чем чревато?