Строки 1С и Символы 1С


Информация в 1С может быть представлена: справочником, документом, регистром…

Однако в конечном счете все эти объекты состоят из полей, а поля – простых типов – число, строка, дата. И информации в виде строк всегда больше. Поэтому со строками приходится работать чаще.

Сейчас мы разберем как из языка 1С можно работать со строками. Паралелльно попробуем различные варианты автоматического анализа текста.

 

Виды строк

Строки могут быть ограничены по длине или неограниченной длины. Если строковое значение взято из реквизита – то в типе реквизита указывается это ограничение.

Если строку ввел пользователь на форме, то у элемента формы может стоять галочки «Многострочный режим» и «Расширенное редактирование». Первая значит, что строка может содержать знаки «Переноса строки 1С (Enter)». Вторая – что строка может содержать прочие служебные символы 1С, например TAB.

Если строка взята из файла, например с использованием ЧтениеТекста(), то становится важна и кодировка — при чтении файла нужно указывать кодировку (UTF-8, KOI8 и т.п.).

 

Служебные символы 1С

Для работы со специальными символами используется перечисление Символы 1С.

Например, строковое значение, состоящее из двух слов:
ТекстоваяСтрока = "Первая строка" + Символы.ПС + "Вторая строка";

Например, поиск перенос строки 1С в тексте:
Позиция = Найти(ТекстоваяСтрока, Символы.ПС);

Работать можно со следующими специальными символами:

  • CR и LF
    Означают перенос строки 1С. Часто встречаются в текстовых файлах.
    Код символа в ASCII – 0x0D и 0x0A, в Unicode – U+000D и U+000A.

    В языке 1С выглядят как Символы.CR и Символы.LF, или по-русски Символы.ВК и Символы.ПС. Для переноса строки 1С при ее создании в коде 1С, достаточно использования ПС.



  • Только зарегистрированные пользователи VIP группы могут видеть этот контент.


 

Прочие символы 1С

Строки в 1С «физически» используются в формате Unicode (Юникод, http://ru.wikipedia.org/wiki/%DE%ED%E8%EA%EE%E4).

Если Вы не сталкивались ранее с «кодированием» символов, кратко заметим:

  • При работе со строками, компьютер использует номера букв, а не сами буквы
  • Так как «человеческих» алфавитов мнозжество (английский, русский, греческий, китайский и др., а еще есть служебные и «непечатные» символы 1С), то существует несколько вариантов компьютерных алфавитов, одним из которых является Unicode, который включает в себя символы 1С всех языков
  • Алфавит Unicode выглядит примерно так:
    o Распространенные «непечатные» служебные символы 1С
    o Знаки препринания и математики
    o Цифры
    o Английский алфавит
    o Доп. символы 1С английского алфавита, которые используются в европейских языках (например в немецком)
    o Греческий алфавит
    o Русский алфавит
    o …

При необходимости в строках 1С возможно использовать все символы 1С, доступные в Unicode.

Во-первых Вы их можно набрать с клавиатуры, если у Вас в Windows установлена раскладка (по-умолчанию на территории России обычно ставится английская и русская).

Во-вторых можно набрать с помощью следующего приема:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


В-третьих работать можно из кода программы. Функция Символ(Цифра) возвращает символ с указанным номером, а функция КодСимвола(Строка) возвращает номер символа у первой буквы в строке. Если нужна другая буква в строке, то КодСимвола(Строка, НомерБуквы).

Например, добавим символ Ž к следующей строке:
ТекстоваяСтрока = "Хорошее пиво в городе " + Символ(381) + "drobinek";
//Результат: "Хорошее пиво в городе Ždrobinek"

Или, узнаем код символа:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.




Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (5 голосов, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий