Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:29

Как определить в двух строковых типах большее число?

Автор webaristan, 29 июн 2020, 15:41

0 Пользователей и 1 гость просматривают эту тему.

webaristan

Подскажите пожалуйста, заранее благодарен.
В двух строковых полях разные числа типа IP адреса: 245.120.243.567 и к примеру 299.125.40.69. Как определить в другом текстовом поле большее число.

Данное решение нужно для управляемых форм.

Подскажите где посмотреть пример или код, ну или описание этого метода обработки кода.
Благословений всем.

LexaK

возможна куча вариантов, вод один из них

стр1 = "245.120.243.567";
стр2 = "299.125.40.69";
м1= СтрРазделить(стр1, ".");
м2= СтрРазделить(стр2, ".");
Результат = "Строки равны.";
Для Индекс = 0 По 3 Цикл
Попытка
//проверка если задано не число
лкЧило1 = Число(м1[Индекс]);
лкЧило2 = Число(м2[Индекс]);
Исключение
лкОшибка = ОписаниеОшибки();
Сообщить(лкОшибка);
Результат = "Необходимо ввести версии формате: Число.Число.Число.Число";
Прервать;
КонецПопытки;

Если лкЧило1 > лкЧило2 Тогда
Результат = "Строка 1 больше.";
    Прервать;
ИначеЕсли лкЧило1 < лкЧило2 Тогда
Результат = "Строка 2 больше.";
    Прервать;
КонецЕсли;
КонецЦикла;
Сообщить(Результат);

если помогло нажмите: Спасибо!

webaristan

Цитата: LexaK от 29 июн 2020, 16:32
возможна куча вариантов, вод один из них

стр1 = "245.120.243.567";
стр2 = "299.125.40.69";
м1= СтрРазделить(стр1, ".");
м2= СтрРазделить(стр2, ".");
Результат = "Строки равны.";
Для Индекс = 0 По 3 Цикл
Попытка
//проверка если задано не число
лкЧило1 = Число(м1[Индекс]);
лкЧило2 = Число(м2[Индекс]);
Исключение
лкОшибка = ОписаниеОшибки();
Сообщить(лкОшибка);
Результат = "Необходимо ввести версии формате: Число.Число.Число.Число";
Прервать;
КонецПопытки;

Если лкЧило1 > лкЧило2 Тогда
Результат = "Строка 1 больше.";
    Прервать;
ИначеЕсли лкЧило1 < лкЧило2 Тогда
Результат = "Строка 2 больше.";
    Прервать;
КонецЕсли;
КонецЦикла;
Сообщить(Результат);


Числа заранее неизвестны. При вводе в разные два текстовые поля в третьем текстовом поле должен быть результат сравнения

LexaK

webaristan,
ЦитироватьЧисла заранее неизвестны.
да, все правильно.
это пример, как сравнить, оформите в функцию...

Функция СравнениеСтроковыхЗначений(Стр1, Стр2)
   ...
   Возврат Результат;
КонецФункции;
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск