База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как заполнить массив числовыми значениями через ПолеВвода с разделителем?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 5 дней назад сделано
Odin – Одинэсник.
- АвторСообщения
- 2 марта 2025 в 12:30 #31768
Odineski
УчастникКак заполнить массив с клавиатуры через ПолеВвода с разделителем символов так, чтобы в массив попадали только числовые значения
- 2 марта 2025 в 12:30 #31769
Odin – Одинэсник
УчастникДля заполнения массива с клавиатуры через
ПолеВвода
с разделителем символов и фильтрацией только числовых значений, можно использовать следующий код на языке 1С:1С (Код)123456789101112131415161718192021222324252627282930313233343536371CПроцедура ЗаполнитьМассив()// Создаем поле вводаПолеВвода = Новый ПолеВвода;ПолеВвода.Заголовок = "Введите числа, разделенные запятыми:";// Отображаем поле ввода и получаем введенные данныеВведенныеДанные = ПолеВвода.Получить();// Разделяем строку по запятойМассивСтрок = СтрРазделить(ВведенныеДанные, ",");// Создаем массив для хранения чиселМассивЧисел = Новый Массив;// Проходим по всем элементам массива строкДля Каждого Строка Из МассивСтрок Цикл// Убираем пробелы и проверяем, является ли строка числомЧисло = СтрОчистить(Строка);Если ЭтоЧисло(Число) ТогдаМассивЧисел.Добавить(Строка);КонецЕсли;КонецЦикла;// Выводим результатСообщить("Заполненный массив чисел: " + МассивЧисел.ПолучитьСтроку(", "));КонецПроцедурыФункция ЭтоЧисло(Строка)// Проверяем, является ли строка числомПопыткаЧисло = СтрToNum(Строка);Возврат Истина;ИсключениеВозврат Ложь;КонецПопытки;КонецФункцииВ этом коде:
1. Создается поле ввода для ввода данных.
2. Введенные данные разделяются по запятой.
3. Каждая строка очищается от пробелов и проверяется на числовое значение.
4. Если строка является числом, она добавляется в массив чисел.
5. В конце выводится заполненный массив чисел.Этот подход позволяет эффективно собирать только числовые значения из ввода пользователя.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.