Имя: Пароль:
1C
1С v8
Как записать спецсимволы в текстовый файл?
0 palpetrovich
 
21.02.13
15:02
формат строк должен быть таким:
"0" + CR + LF + LF + "Собственно текст" + CR + LF;

Символы.LF дают CR + LF, а как получить просто LF?
1 palpetrovich
 
21.02.13
15:17
короче по-ходу не совсем это текстовый файл, при таком создании в 1с, перед первым нулем еще какие-то п»ї получаются ...эт если в HEX редакторе смотреть
2 fmrlex
 
21.02.13
15:18
(1)В СП глянь константы есть вроде.
3 palpetrovich
 
21.02.13
15:18
(2) эти?
4 palpetrovich
 
21.02.13
15:18
Символы (Chars)
Значения
ВК (CR)
ВТаб (VTab)
НПП (NBSp)
ПС (LF)
ПФ (FF)
Таб (Tab)
5 Steel_Wheel
 
21.02.13
15:18
ОС какая?
6 ДенисЧ
 
21.02.13
15:18
(1) Ещё одна жертва UTF...
7 palpetrovich
 
21.02.13
15:20
(5) в2к3
8 palpetrovich
 
21.02.13
15:22
(6) безнадега?
9 Steel_Wheel
 
21.02.13
15:24
(7) Терминатор строки CR + LF -- ты их отдельно можешь подать на стандартный ввод. А в файле, по идее, смысла не имеют

LF -- терминатор строки в *nix и linux
10 Steel_Wheel
 
21.02.13
15:25
Хотя, по идее Символ(13) может помочь
11 ДенисЧ
 
21.02.13
15:25
(8) Купи у меня СП :-)
12 Reset
 
21.02.13
15:26
Записать(<ИмяФайла>, <ТипФайла>, <РазделительСтрок>)
13 Kashemir
 
21.02.13
15:26
Символ(<КодСимвола>)
14 Reset
 
21.02.13
15:26
Подробнее у (11) :)
15 Kashemir
 
21.02.13
15:28
+(13) плюс на всякий случай еще одна  неожиданная функция обратного преобразования КодСимвола(<Строка>, <НомерСимвола>)
16 palpetrovich
 
21.02.13
15:28
(10) Символ(13) - это CR, а мне "отдельно"  LF  нужен
(11) а там есть про "п»ї" вначале файла?
17 Reset
 
21.02.13
15:29
(16) Это сигнатура UTF-8
18 palpetrovich
 
21.02.13
15:29
(15) неожиданно :)
19 palpetrovich
 
21.02.13
15:29
(17) а как избавится?
20 ДенисЧ
 
21.02.13
15:30
(17) И опять мои дети останутся без сладкого :-(
21 Reset
 
21.02.13
15:31
(19) Дениса обделяю, не могу, дети у него
22 Kashemir
 
21.02.13
15:31
(19) Пиши файл бинарного типа и лепи какие хочешь символы.
24 aka AMIGO
 
21.02.13
15:33
(16) LF - Символ(10) [?]
25 Steel_Wheel
 
21.02.13
15:34
(16) >>Символ(13) - это CR, а мне "отдельно"  LF  нужен
Символ(10)?
26 aka AMIGO
 
21.02.13
15:35
27 palpetrovich
 
21.02.13
15:40
Символ(10) это CRLF
28 Reset
 
21.02.13
15:42
palpetrovich, короче, судя по всему, тебе достаточно (4) и (12).
29 aka AMIGO
 
21.02.13
15:46
30 palpetrovich
 
21.02.13
15:48
(28)я ТипФайла устанавливаю так, ТД.УстановитьТипФайла(КодировкаТекста.ANSI);  но поробую и (12)

(29) да вот попробовал и получил
31 aka AMIGO
 
21.02.13
15:49
(30) ну, возможно.. LF смутно помнится 12 или 11.. забыл уже
32 Reset
 
21.02.13
15:51
(30) УстановитьТипФайла для интерактивной записи. Записать() его игнорирует, как я понимаю.
33 Reset
 
21.02.13
15:52
Ты же (0) не интерактивно редактируешь/сохраняешь? :)
34 palpetrovich
 
21.02.13
15:58
(32) забавно, действительно если записывать как в (12) -ненужного начала файла нет
35 palpetrovich
 
21.02.13
16:00
короче осталось только получить символ(0A) :)
36 palpetrovich
 
21.02.13
16:03
+35 причем 0A как-бы намекает на  символ(10) ...но увы, возвращает CRLF
37 Reset
 
21.02.13
16:03
(36) Да нифига.
38 Reset
 
21.02.13
16:05
Прокапитаню чуток.

>>>Символы.LF дают CR + LF
>>>да вот попробовал и получил

Не так.
Как ни удивительно, Символы.LF дает LF (символ с кодом 10).


При Записать() у тебя LF заменились на CR + LF.
Про это поведение написано в СП подробно.
39 palpetrovich
 
21.02.13
16:07
(38) хм, При Записать() ? ...ща поищу где про это писано
спасибо
40 Reset
 
21.02.13
16:08
(39) Третий параметр в (12) '-)
41 Reset
 
21.02.13
16:09
Извини ДенисЧ ;p
42 palpetrovich
 
21.02.13
16:16
(40) мдя, действиельно при зависи и что прикольно, верный результат получается с пустой строкой в "разделителе"
ТД.Записать(ПутьКФайлу + "extratextrec.dat", "windows-1251", "");    
Спасибо!

Извини ДенисЧ :)