Добрый день! Есть 2 переменные, строкового типа ТекЗначение и ЗначениеТекст. Каждое из которых имеет одинаковое значение когда я их сравниваю при отладке. Но сравнение самих переменных ТекЗначение = ЗначениеТекст принимает значение Ложь. Как такое может быть? Как найти ошибку?
Ответ прост - такого не может быть. Можно проверить по символьно. Может символы в разных языках набраны. Собственно так и делайте.
Проверьте на соответсвие каждого символа. Что-то типа
СРед(Строка1,1,1) = Сред(Строка2,1,1)
ТекЗначение = "Тут текущее значение";
ЗначениеТекст = "Тут текущeе значeние";
ДлинаТекста = СтрДлина(ЗначениеТекст);
Для К = 1 По ДлинаТекста Цикл
Если Сред(ТекЗначение, К, 1) <> Сред(ЗначениеТекст, К, 1) Тогда
Сообщить(""+Строка(К)+" символ отличается");
КонецЕсли;
КонецЦикла;
(33)
Глобальный контекст (Global context)
КодСимвола (CharCode)
Синтаксис:
КодСимвола(<Строка>, <НомерСимвола>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Исходная строка.
<НомерСимвола> (необязательный)
Тип: Число.
Номер символа в строке, код которого необходимо получить. Нумерация символов в строке начинается с 1.
Значение по умолчанию: 1.
Возвращаемое значение:
Тип: Число.
Код переданного символа. Код возвращается в соответствии с кодировкой Unicode.
Описание:
Получает код символа, расположенного в переданной строке в позиции с указанным номером.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
КодПервогоСимволаФамилии = КодСимвола(Сотрудник.Фамилия);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Ответ прост - такого не может быть. Можно проверить по символьно. Может символы в разных языках набраны. Собственно так и делайте.
Проверьте на соответсвие каждого символа. Что-то типа
СРед(Строка1,1,1) = Сред(Строка2,1,1)
(29)
Вообще то ты сравнил два значение и присвоил результат сравнения переменной. Так и в типовых такое я недавно начал замечать. Раньше такого не было!!!11
А так и так понятно одно - текст у автора разный. На том стоял и стоять буду.
ТекЗначение = "Тут текущее значение";
ЗначениеТекст = "Тут текущeе значeние";
ДлинаТекста = СтрДлина(ЗначениеТекст);
Для К = 1 По ДлинаТекста Цикл
Если Сред(ТекЗначение, К, 1) <> Сред(ЗначениеТекст, К, 1) Тогда
Сообщить(""+Строка(К)+" символ отличается");
КонецЕсли;
КонецЦикла;
ТекЗначение = "Тут текущее значение";
ЗначениеТекст = "Тут текущeе значeние";
ДлинаТекста = СтрДлина(ЗначениеТекст);
Для К = 1 По ДлинаТекста Цикл
Если Сред(ТекЗначение, К, 1) <> Сред(ЗначениеТекст, К, 1) Тогда
Сообщить(""+Строка(К)+" символ отличается");
КонецЕсли;
КонецЦикла;
(20)
Сравнила, в ЗначениеТекст есть какой то лишний первый символ. Но что это за символ я не могу понять. И длина получилась разная.. Как убрать этот первый символ?
(33)
Глобальный контекст (Global context)
КодСимвола (CharCode)
Синтаксис:
КодСимвола(<Строка>, <НомерСимвола>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Исходная строка.
<НомерСимвола> (необязательный)
Тип: Число.
Номер символа в строке, код которого необходимо получить. Нумерация символов в строке начинается с 1.
Значение по умолчанию: 1.
Возвращаемое значение:
Тип: Число.
Код переданного символа. Код возвращается в соответствии с кодировкой Unicode.
Описание:
Получает код символа, расположенного в переданной строке в позиции с указанным номером.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
КодПервогоСимволаФамилии = КодСимвола(Сотрудник.Фамилия);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация