Способы ввода и вывода информации

Ввод-вывод информации с помощью стандартных функций

В языке python для ввода и вывода функции стандартно используются функции input() и print().

Функция print() выводит переданные в неё аргументы в стандартный поток вывода. ГГИС ГЕОМИКС предоставляет свой поток вывода и перенаправляет вывод всей информации в окно журнала сообщений. Это окно имеет возможность прокрутки, а также очистки.

Пример скрипта для вывода информации в журнал сообщений с использованием стандартной функции print() и результат вывода:

#! python
import gmx.Map as Map

plants = Map.EnumPlants(Map.epmAll)

last_map = 0
for (map_rec, plant_rec) in plants:
  (maps, plants) = Map.OpenPlant(map_rec, plant_rec)
  if map_rec != last_map:
    print(f"Карта: {maps['название']}")
    last_map = map_rec
  print(f"Слой: {maps['название']} | {plants['название']}")

if last_map == 0:
  print("Текущий картографический проект пуст")

Вывод пользовательских данных в журнал сообщений

С помощью функции input() пользователь может осуществить ввод текстовых данных в программу. В качестве единственного параметра функция input() принимает строку-приглашение, которую выводит пользователю перед курсором ввода. ГГИС ГЕОМИКС также осуществляет замену консольного ввода с помощью функции input() на более удобный ввод данных в окне графического интерфейса.

Код вызова функции input() и результат вызова в ГГИС ГЕОМИКС:

#! python
value = input("Введите шаг интерполяции")

Ввод пользовательских данных с помощью функции input()

Ввод информации с использованием модуля gmx.Gui

Еще более удобный ввод данных в ГГИС ГЕОМИКС можно выполнить с помощью функции ExecInput() из модуля gmx.Gui.

Функция имеет следующие параметры:

  • Title - Заголовок окна ввода

  • ModalMode - Признак модальности выводимого окна

  • Params - Список параметров

Каждый элемент списка Params представляет собой кортеж следующей структуры:

  • Title - Заголовок элемента ввода

  • Width - Ширина поля ввода в пикселах

  • Value - Значение элемента данных при старте диалога

  • ValueList - Необязательный список возможных значений. Если он указан, то выходное значение должно быть этом списке

Возвращает: список введенных параметров или None, если пользователь нажал кнопку Отмена.

С помощью этой функции возможно осуществить за один раз ввод сразу нескольких значений с использованием графического интерфейса программы.

Пример кода и результат использования функции:

from gmx import Geo, Gui, NetBase

DB = Geo.Database
SkvBase = DB.OpenTable("Скважины")

Result = Gui.ExecInput("Расчет центров интервалов", True, [
  ("Интервальные данные", 200, "Опробование", Geo.IntervalFields(DB, SkvBase)),
  ("Настройка ориентации", 200, 0, ["X-Север; Y-Восток", "X-Восток; Y-Север"])
])

if Result is None:
  quit()

Пример выполнения функции ExecInput()