![]() |
![]() |
![]() |
|
Запись файлов нестандартными средствами. | ☑ | ||
---|---|---|---|---|
0
forforumandspam
03.02.10
✎
09:14
|
В связи с проблемой с кодировкой при записи текстовый файлов v8: Кодировка текстового файла решил писать файл по примеру Книга знаний: Пример чтения и записи текстовых файлов (Scripting.FileSystemObject). Всё заработало, но радость длилась недолго. Оказывается на рабочем серваке Вынь2003 32 bit не зарегистрирован класс "Scripting.FileSystemObject". Я думаю, будет быстрее переписать код, например, на VBS или JS. Прошу знающих людей перевести код на любой вариант
fso = Новый COMОбъект("Scripting.FileSystemObject"); file = fso.CreateTextFile(Имя, -1, 0); file.Write(Текст); file.Close(); |
|||
1
forforumandspam
03.02.10
✎
12:08
|
ЛЮДИ!!! Помогите пожалуйста!
|
|||
2
forforumandspam
04.02.10
✎
08:13
|
Ну отзовитесь хоть кто-нибудь.
|
|||
3
forforumandspam
04.02.10
✎
09:05
|
Помогите переписать строчки
fso = Новый COMОбъект("Scripting.FileSystemObject"); file = fso.CreateTextFile(Имя, -1, 0); file.Write(Текст); file.Close(); на аналогичные по действию JS, VBS или WHS. |
|||
4
dk
04.02.10
✎
09:12
|
забавный )))
если класс не зарегистрирован, то он и в vbs не будет работать |
|||
5
Jolly Roger
04.02.10
✎
09:19
|
(0) казалось бы, причем здесь 1С, если "такой формат не понимает программа банк-клиент"...
|
|||
6
БТР
04.02.10
✎
09:27
|
Типа анек:
- Доктор когда, я делаю вот так, у меня болит вот здесь. - А вы "во так" не делайте. Либо нагни админа, что бы он на севаке установил то, что тебе надо, либо не записывай не на сервере. Ну и разбирись все же в какой кодировке надо записывать этот файл. Это не явно не win-1251. |
|||
7
dk
04.02.10
✎
09:31
|
для затравки
|
|||
8
forforumandspam
04.02.10
✎
09:35
|
(4) Я недеюсь, что VBS или JS имеют свои методы записи файлов. Вот и спрашиваю
(5) Программа Банк-клиент понимает форматы КодировкаТекста.OEM и КодировкаТекста.ANSI, но вот 1С не выгружает национальные символы. Попробуйте такой пример у себя: Файл = Новый ТекстовыйДокумент; Файл.ДобавитьСтроку("???"); Файл.Записать("C:\1.txt", КодировкаТекста.ANSI); |
|||
9
forforumandspam
04.02.10
✎
09:37
|
+(8)
Файл = Новый ТекстовыйДокумент; Файл.ДобавитьСтроку("???"); Файл.Записать("C:\1.txt", КодировкаТекста.ANSI); |
|||
10
forforumandspam
04.02.10
✎
09:40
|
Пелядь!
Файл = Новый ТекстовыйДокумент; Файл.ДобавитьСтроку(Символ(1240)+Символ(1186)+Символ(1170)); Файл.Записать("C:\1.txt", КодировкаТекста.ANSI); |
|||
11
xzorkiix
04.02.10
✎
09:40
|
(8) utf8 тебе в помощь... не верю чтоб банк-клиент не читал utf8
|
|||
12
forforumandspam
04.02.10
✎
09:40
|
(11) Зря не веришь.
|
|||
13
ДенисЧ
04.02.10
✎
09:40
|
(8) "Я недеюсь, что VBS или JS имеют свои методы записи файлов"
Смешной ты какой... |
|||
14
xzorkiix
04.02.10
✎
09:42
|
(11) прочел ссылки из темы.... "звезда в шоке"... убивать надо тех, чьи решения не используют utf
|
|||
15
БТР
04.02.10
✎
09:45
|
Определи коды проблемных символов и попробуй записывать ив в текст через Символ(<Код символа>)
|
|||
16
forforumandspam
04.02.10
✎
09:48
|
(7) Какое значение должно быть у переменной "КодоваяСтраница"?
(15) см (10) |
|||
17
ДенисЧ
04.02.10
✎
09:48
|
Предлагаю позвонить в ТП банка и спросить у них, в какой кодировке они желают видеть выгрузку с символами, не входящими в ANSI и OEM...
|
|||
18
БТР
04.02.10
✎
10:00
|
Чел, то что ты написал это код национальных символов в Unicode.
В ANSI всего 256 символов, символа с кодом 1240 там просто не может быть. |
|||
19
forforumandspam
04.02.10
✎
10:12
|
+(0) У меня в региональных настройках "Язык программ, не поддерживающих Юникод" стоит "Казахский", поэтому файл с символами 163, 189, 170(ANSI) отображаются нормально.
(18) http://www.cyrillic.com/3dkbd/ansitable.html Однако, в ANSI и русских буковок нет. В общем, благодаря (7) вот что получилось Попытка Стрим = Новый COMОбъект("Adodb.Stream"); Исключение Сообщить("Ошибка при создании объекта: Adodb.Stream"); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Стрим.Type = 2; Стрим.Mode = 3; //Стрим.charset = "windows-1251"; Стрим.charset = "ascii"; Стрим.Open(); Стрим.WriteText(Символ(1240)+Символ(1186)+Символ(1170)); ИмяФайла = "C:\1.txt"; Попытка Стрим.SaveToFile(ИмяФайла, 2); Стрим.Close(); Сообщить("Готово!"); Исключение Сообщить("Ошибка при записи файла: " + ИмяФайла); Сообщить(ОписаниеОшибки()); КонецПопытки; При Стрим.charset = "windows-1251" работает, при Стрим.charset = "ascii" опять вопросики. Буду надеятся, что этого достаточно. Всем Спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |