![]() |
![]() |
![]() |
|
Символы ASCII | ☑ | ||
---|---|---|---|---|
0
Dimon1986
10.11.09
✎
13:25
|
Кто-нибудь сталкивался, чтобы в строку в 1С 8 вставить символ кодировки ASCII
|
|||
1
Fragster
гуру
10.11.09
✎
13:26
|
Симв(номер)
|
|||
2
Fragster
гуру
10.11.09
✎
13:26
|
тока до 127-го
|
|||
3
Fragster
гуру
10.11.09
✎
13:26
|
потом фигня всякая
|
|||
4
Dimon1986
10.11.09
✎
13:28
|
а сделать его в это строке непечатаемым?
|
|||
5
Aleksey_3
10.11.09
✎
13:29
|
Символ (Char)
Встроенные функции языка Символ (Char) Синтаксис: Символ(<Код символа>) Параметры: <Код символа> (обязательный) Тип: Число. Код получаемого символа. Код задается в соответствии с кодировкой Unicode. Возвращаемое значение: Тип: Строка. Результирующий символ. Описание: Преобразует код символа в строку, содержащую символ. Пример: Буква_Я = Символ(1103); |
|||
6
skunk
10.11.09
✎
13:29
|
Встроенные функции языка
Символ (Char) Синтаксис: Символ(<Код символа>) Параметры: <Код символа> (обязательный) Тип: Число. Код получаемого символа. Код задается в соответствии с кодировкой Unicode. Возвращаемое значение: Тип: Строка. Результирующий символ. Описание: Преобразует код символа в строку, содержащую символ. Пример: Буква_Я = Символ(1103); |
|||
7
Aleksey_3
10.11.09
✎
13:30
|
(1) Это для 7-ки
(3) Не фигня, а юникод |
|||
8
Fragster
гуру
10.11.09
✎
13:32
|
(7) я хз :) я знаю, что ASCII только до 127 символа регулирует а дальше уже не ASCII
|
|||
9
Dimon1986
10.11.09
✎
13:34
|
А как мне $ перевести в ASCII
|
|||
10
Fragster
гуру
10.11.09
✎
13:35
|
а что, просто $ в строке не набрать?
|
|||
11
Dimon1986
10.11.09
✎
13:36
|
Нужно его вывести в строку и сделать непечатаемым, а далее эта строка печатается на штрих коде
|
|||
12
Fragster
гуру
10.11.09
✎
13:38
|
(11) ничего не понятно
|
|||
13
Dimon1986
10.11.09
✎
13:40
|
Точнее из этой строки формируется штрих-код и выводится на печать
|
|||
14
Serginio1
10.11.09
✎
13:58
|
Можешь например перекодировать строку в Base64
Либо использовать символы разделители для определения текущей кодировки, приводя символ Уникоде к ASCII_US. Т.к. максимальное использование символов в Штрих_Код Code_128, либо используй двухмерный штрих код. Там что захочешь хранить можно |
|||
15
Dimon1986
10.11.09
✎
14:04
|
Тогда скажи как в восьмерке использовать символы разделители? Как их туда вставить.
|
|||
16
Dimon1986
10.11.09
✎
14:06
|
Есть какая-нибудь функция или что-то вроде этого?
|
|||
17
Serginio1
10.11.09
✎
14:32
|
А самому подумать?
Здесь разделитель Символ(1); function UTF16LEtoCP1251(str) ret = новый Массив; Для Сч=1 По СтрДлина(str) Цикл Симв=КодСимвола(Сред(str,сч,1)); if (Симв<128) Тогда ret.Добавить(Симв); ИначеЕсли (Симв>=1040 и Симв<=1103)Тогда ret.Добавить(Симв-1040+192); ИначеЕсли Симв=КодСимвола("Ё") Тогда ret.Добавить(168); ИначеЕсли Симв=КодСимвола("ё") Тогда ret.Добавить(184) ИначеЕсли Симв=КодСимвола("№") Тогда ret.Добавить(185) else Сообщить(Символ(Симв)); КонецЕсли КонецЦикла; Возврат ret КонецФункции function АнсиТуУникоде(Массив) Резулт = ""; Для Сч=0 По Массив.ВГраница() Цикл КодСимв=Массив[сч]; Если КодСимв<128 Тогда резулт=Резулт+Символ(КодСимв) ИначеЕсли (КодСимв>=192 и КодСимв<=255) Тогда резулт=Резулт+Символ(КодСимв+1040-192) ИначеЕсли КодСимв=168 Тогда резулт=Резулт+"Ё" ИначеЕсли КодСимв=184 Тогда резулт=Резулт+"ё" ИначеЕсли КодСимв=185 Тогда резулт=Резулт+"№" Иначе сообщить(КодСимв) КонецЕсли; КонецЦикла; Возврат резулт КонецФункции function СимволИзУникодаВАнси(Буква) Симв=КодСимвола(Буква); if (Симв<128) Тогда Возврат буква ИначеЕсли (Симв>=1040 и Симв<=1103)Тогда Возврат Символ(Симв-1040+192) ИначеЕсли Симв=КодСимвола("Ё") Тогда Возврат Символ(168); ИначеЕсли Симв=КодСимвола("ё") Тогда Возврат Символ(184) ИначеЕсли Симв=КодСимвола("№") Тогда Возврат Символ(185) else Сообщить(Символ(Симв)); КонецЕсли; Возврат "" КонецФункции function СимволАнсиТуУникоде(Буква) КодСимв=КодСимвола(Буква+128); Если (КодСимв>=192 и КодСимв<=255) Тогда Возврат Символ(КодСимв+1040-192) ИначеЕсли КодСимв=168 Тогда возврат "Ё" ИначеЕсли КодСимв=184 Тогда возврат "ё" ИначеЕсли КодСимв=185 Тогда возврат "№" Иначе сообщить(КодСимв) КонецЕсли; Возврат "" КонецФункции Функция ПреобразоватьСтрокуДляКоде128(стр) экспорт ЭтоЛатиница=1; резулт=""; Для сч=1 по СтрДлина(стр) Цикл Буква=Сред(стр,сч,1); Если КодСимвола(Буква)>127 Тогда Если ЭтоЛатиница=1 Тогда Резулт=Резулт+Символ(1); ЭтоЛатиница=0; КонецЕсли; Резулт=Резулт+СимволИзУникодаВАнси(Буква)//Символ(КодСимв(Буква)-128) иначе Если ЭтоЛатиница=0 Тогда Резулт=Резулт+Символ(1); ЭтоЛатиница=1; КонецЕсли; Резулт=Резулт+Буква КонецЕсли; КонецЦикла; возврат резулт КонецФункции Функция ПреобразоватьСтрокуДляКоде128Обратно(стр) экспорт ЭтоЛатиница=1; резулт=""; Для сч=1 по СтрДлина(стр) Цикл Буква=Сред(стр,сч,1); Если КодСимвола(Буква)=1 Тогда Если ЭтоЛатиница=1 Тогда ЭтоЛатиница=0 Иначе ЭтоЛатиница=1 КонецЕсли; иначе Если ЭтоЛатиница=0 Тогда Резулт=Резулт+СимволАнсиТуУникоде(Буква)//Симв(КодСимв(Буква)+128); Иначе Резулт=Резулт+Буква КонецЕсли; КонецЕсли; КонецЦикла; возврат резулт КонецФункции Процедура КнопкаСформироватьНажатие(Кнопка) // Вставить содержимое обработчика. Стр="ЁёЬьЪъЩщШшЯяЧчСсМмИиТтЬьБбЮю,.ФфЫыВвАаПпРрОоЛлДдЖжЭэ/\ЙйЦцУуКкЕеНнГгШшЩщЗзХхЪъ+=_-)0(9*8?7:6%5;4№3""2!1Ёё"; АнсиСтр=UTF16LEtoCP1251(Стр); Стр2=АнсиТуУникоде(АнсиСтр); Сообщить(Стр=Стр2); СтрДляКоде128=ПреобразоватьСтрокуДляКоде128(стр); СтрИзКоде128=ПреобразоватьСтрокуДляКоде128Обратно(СтрДляКоде128); Сообщить(Стр=СтрИзКоде128); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |