Версия для печати темы (https://pro1c.org.ua/index.php?s=6edd9de65d872f82147f020b78b49eb6&showtopic=59926)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как определить в двух строковых типах большее число

Автор: webaristan 29.06.20, 14:32

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

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

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

Автор: mut 29.06.20, 14:55

Разделить на триады, каждую триаду привести к трехзначному виду (40 -> 040)
Сложить тройки цифр в одну строку, преобразовать в число.
Повторить для второй строки. Числа сравнить.

Автор: webaristan 29.06.20, 16:22

mut @ Сегодня, 15:55 * ,
Благодарю за ответ.

А можно как то наглядно посмотреть код. Если не трудно и не жалко.
Рахмет заранее.

Автор: volodya1122 30.06.20, 9:07

Наприклад так можна

Функция СравнитьЧисла(МояСтрока1,МояСтрока2)
МассивЧисел1=СтрРазделить(МояСтрока1,".");
МассивЧисел2=СтрРазделить(МояСтрока2,".");
Для Индекс = 0 По МассивЧисел1.Количество() - 1 Цикл
    Если число(МассивЧисел1[Индекс])> число(МассивЧисел2[Индекс]) тогда
        Возврат "Перше число більше";
        //Прервать;
    ИначеЕсли число(МассивЧисел1[Индекс])< число(МассивЧисел2[Индекс]) тогда
        Возврат "Друге число більше";
        //Прервать;
    КонецЕсли;    
КонецЦикла;
Возврат "Числа однакові";
КонецФункции

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua