- Модуль FormsABC: создание простого интерфейса
- Введение в FormsABC
- Содержание
- Основные классы [ править ]
- Button [ править ]
- CheckBox [ править ]
- RadioButton [ править ]
- IntegerField [ править ]
- RealField [ править ]
- Field [ править ]
- TextBox [ править ]
- TrackBar [ править ]
- TextLabel [ править ]
- ListBox [ править ]
- ComboBox [ править ]
- MainMenu [ править ]
- Размещение элементов управления формы [ править ]
- Свойства формы [ править ]
- Работа с текстовыми файлами в Windows forms PascalABC.NET
Модуль FormsABC: создание простого интерфейса
FormsABC предназначен для простого создания пользовательских интерфейсов без дизайнера форм. Все компоненты размещаются автоматически, при этом используется потоковый менеджер размещения.
Рассмотрим использование этого модуля на примере создания простого приложения, вычисляющего определенный интеграл методом прямоугольников.
Создадим каркас приложения:
После запуска мы увидим на экране главную форму с заданным размером и заголовком, центрированную относительно экрана.
Добавим на форму компоненты, отвечающие за параметры a,b,N и выбор функции ([a,b] — отрезок интегрирования, N — количество отрезков разбиения):
После запуска мы увидим следующее окно:
Здесь f1 := new FlowBreak и аналогичные добавляют переход на новую строку при вставке следующего компонента, f5 := new FlowBreak(50) пропускает дополнительно 50 пикселей по вертикали, s1 := new Space(20) пропускает 20 пикселей по горизонтали.
Обратим внимание, что на самом деле компоненты вставляются не на саму форму, а на панель MainPanel, которая лежит поверх формы и обеспечивает последовательное добавление компонентов.
Теперь разместим справа на форме компонент TextBox, на который будем выводить результаты. Для этого необходимо знать, что MainPanel выровнена на форме так, что заполняет всё пространство формы. Изменим выравнивание MainPanel на выравнивание по левому краю формы и ширину MainPanel:
После этого добавим на форму компонент TextBox. Обратим внимание, что TextBox должен размещаться именно на форме, а не на MainPanel. Для этого изменим вначале переменную ParentControl на значение MainForm, что означает, что все следующие компоненты будут размещаться на главной форме:
Выравнивание нашего TextBox, наоборот, изменим так, чтобы он занимал оставшееся от MainPanel пространство формы:
В итоге получим приложение:
Запустив его, увидим окончательное размещение компонентов:
Инициализируем свойства компонентов начальными значениями переменных (a=0, b=1, N=10), а также заполним выпадающий список cb выражениями функций, от которых будем далее вычислять опеределнный интеграл :
В начале программы разместим описание необходимых типов, переменных и код, вычисляющий определенный интеграл:
Массив funs будет содержать все возможные функции, от которых мы сможем вычислять определенный интеграл.
Наконец, самое главное: создадим обработчик кнопки ok и присвоим его событию нажатия на кнопку ok.Click:
В обработчике MyClick происходит основная работа: из массива funs выбирается нужная функция, вычисляется интеграл (исходные значения параметров берутся из свойств компонент), после чего в TextBox выводится строка результата.
В заключение перенесем инициализацию компонент в процедуру InitControls.
Ниже приводится полный код приложения:
Запустив его, будем менять параметры вычислений и, нажимая на кнопку «Вычислить», отображать результаты в окне TextBox:
Введение в FormsABC
FormsABC — учебный модуль PascalABC.NET для работы простейшим оконными приложениями без дизайнера форм. Основан на устаревшей технологии Windows Forms.
Обратите внимание на то, что:
- Данный модуль является специфическим для PascalABC.NET и не поддерживается другими диалектами Pascal и остальными языками.
- Программы с использованием FormsABC рекомендуется запускать без связи с оболочкой.
Содержание
Основные классы [ править ]
FormsABC содержит следующие классы элементов управления формы:
Button [ править ]
Button (наследуется от Object) — класс кнопки. Для ее создания пишите:
- — текст на кнопке
Свойство | Значение |
---|---|
Text | Текст на кнопке. |
Width | Ширина кнопки. |
Событие | Значение |
---|---|
Click | Ссылка на процедуру, которая выполняется при нажатии на кнопку. Для установки его значения используйте +=. |
CheckBox [ править ]
CheckBox (наследуется от Object) — класс флажка. Для его создания пишите:
- — текст, относящийся к флажку
Свойство | Значение |
---|---|
Checked | Значение, указывающее установлен ли флажок.
|
RadioButton [ править ]
RadioButton (наследуется от Object) — класс радио-кнопки. Для её создания пишите:
- — текст, относящийся к радио-кнопке
Свойство | Значение |
---|---|
Checked | Значение, указывающее выбрана ли радио-кнопка.
|
IntegerField [ править ]
IntegerField (наследуется от Field) — класс однострочного поля ввода для целых чисел. Для его создания пишите:
- — текст, относящийся к полю
- — ширина поля
Свойство | Значение |
---|---|
FieldWidth | Ширина поля. |
Text | Текст, отображаемый над полем. |
Value | Число, находящееся в поле. |
Событие | Описание |
---|---|
TextChanged | Ссылка на процедуру, которая выполняется при смене значения поля. Для установки его значения используйте вместо +=. |
RealField [ править ]
RealField (наследуется от Field) — класс однострочного поля ввода для вещественных чисел. Для его создания пишите:
- — текст, относящийся к полю
- — ширина поля
Свойство | Значение |
---|---|
FieldWidth | Ширина поля. |
Text | Текст, отображаемый над полем. |
Value | Число, находящееся в поле. |
Событие | Описание |
---|---|
TextChanged | Ссылка на процедуру, которая выполняется при смене значения поля. Для установки его значения используйте +=. |
Field [ править ]
Field (наследуется от Object) — класс однострочного поля ввода для строк. Для его создания пишите:
- — текст, относящийся к полю
- — ширина поля
Свойство | Значение |
---|---|
FieldWidth | Ширина поля. |
Text | Строка, который содержится в поле ввода. |
Событие | Описание |
---|---|
TextChanged | Ссылка на процедуру, которая выполняется при смене значения поля. Для установки его значения используйте +=. |
TextBox [ править ]
TextBox (наследуется от BaseDockControl) — класс многострочного поля ввода для строк. Для его создания пишите:
Свойство | Значение |
---|---|
Width | Ширина поля. |
Height | Высота поля. |
Text | Строка, которая содержится в поле ввода. |
Метод | Описание |
---|---|
Undo() | Отменяет последнее изменение. |
Redo() | Отменяет отмену последнего изменения. |
Cut() | Вырезает выделенное. |
Copy() | Копирует выделенное. |
Paste() | Вставляет текст из буфера обмена в местоположение курсора. |
AddLine( | Добавляет текст новой строкой. |
TrackBar [ править ]
TrackBar (наследуется от Object) — класс ползунка. Для его создания пишите:
Свойство | Значение |
---|---|
Frequency | Расстояние через которое расставляются деления на ползунке (в пикселях). |
Minimum | Минимальное значение ползунка. |
Maximum | Максимальное значение ползунка. |
Value | Значение ползунка. |
Событие | Описание |
---|---|
ValueChanged | Хранит ссылку на процедуру, которая выполняется при смене значения ползунка. Для установки его значения используйте +=. |
TextLabel [ править ]
TextLabel (наследуется от Object) — класс метки. Для её создания пишите:
ListBox [ править ]
ListBox (наследуется от Object) — класс списка. Для его создания пишите:
Свойство | Значение |
---|---|
Count | Количество элементов в списке. |
SelectedIndex | Индекс выбранного элемента списка. |
SelectedItem | Выбранный элемент списка. |
Items.Item[k] | K-ый элемент списка. |
Событие | Описание |
---|---|
Click | Хранит ссылку на процедуру, которая выполнится при щелчке по списку. Для установки его значения используйте +=. |
SelectedIndexChanged | Хранит ссылку на процедуру, которая выполнится при смене выбранного элемента списка. Для установки его значения используйте +=. |
Метод | Описание |
---|---|
Items.Add(t) | Добавляет в список элемент с текстом t на нем. |
Items.Clear() | Удаляет все элементы списка. |
ComboBox [ править ]
ComboBox (наследуется от Object) — класс списка. Для его создания пишите:
Свойство | Значение |
---|---|
Width | Ширина списка. |
Count | Количество элементов в списке. |
SelectedIndex | Индекс выбранного элемента списка. |
SelectedItem | Выбранный элемент списка. |
Items.Item[k] | K-ый элемент списка. |
Событие | Описание |
---|---|
Click | Хранит ссылку на процедуру, которая выполнится при щелчке по списку. Для установки его значения используйте +=. |
SelectedIndexChanged | Хранит ссылку на процедуру, которая выполнится при смене выбранного элемента списка. Для установки его значения используйте +=. |
Метод | Описание |
---|---|
Items.Add(t) | Добавляет в список элемент с текстом t на нем. |
Items.Clear() | Удаляет все элементы списка. |
MainMenu [ править ]
MainMenu (наследуется от Object) — класс главного меню. Для его создания пишите:
Свойство | Значение |
---|---|
Item | Пункт меню. |
Метод | Описание |
---|---|
Add( | Добавляет перечисленные через запятую пункты меню. |
Размещение элементов управления формы [ править ]
Изначально элементы управления формы размещаются по порядку — каждый следующий позиционируется справа от предыдущего.
Функция | Значение |
---|---|
LineBreak | Переходит на новую строку. |
EmptyLine | Пропускает n пикселей по вертикали. Следующий элемент управления будет располагаться через n пикселей по вертикали от предыдущего. |
EmptySpace | Пропускает n пикселей по горизонтали. Следующий элемент управления будет располагаться через n пикселей по горизонтали от предыдущего. |
Свойства формы [ править ]
Настраивать главную форму можно через глобальную переменную mainForm.
Работа с текстовыми файлами в Windows forms PascalABC.NET
Работа с файлами в Windows Forms Application
Не совсем вник, как реализовать считывание данных из файла, при работе с формами. На форме есть.
Работа с GUI windows forms .NET C++/CLI
На данный момент я студент и это мое задание по практике. Помогите решить вопрос до воскресенья.
Ошибка в pascalabc.net forms
PABCSystem.pas(7590) : Ошибка времени выполнения: Значение было недопустимо малым или недопустимо.
Работа с текстовыми файлами
Помогите написать программу,которая прочтёт в папке 3 файла с разрешением txt,и весь текст.
При чём здесь forms?
y — строка
x — действительное число
Когда вы пишите на листочке произвольное слово и число, ставите между ними пробел.
Так почему же в данном случае вы этого не сделали?
Да || от куда вы берёте свои значения!
Главное, что x — это действительное, а y — это строка.
Так?
Вот код, который запихивает их в файло:
Если не нравится, что к y прилепился пробел, то воспользуйтесь тримом:
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Работа с текстовыми файлами
Было задание сделать 3 программы, первая должна создать файл «.bat», а вторая файл «.txt», третья.
Работа с текстовыми файлами
Нужна программа такого плана: открываем текстовый файл, в нем куча строк смотрим первую строку.
работа с текстовыми файлами
люди помогите написать прогу котор удаляла бы из файла абзац номер которого мы вводим. или.
работа с текстовыми файлами
Дан текстовый файл, каждая строка которого изображает целое число, дополненное слева и справа.
Работа с текстовыми файлами
Доброй ночи. Будте добры, помогите сделать задачу с файлами. Теоретически понимаю что нужно делать.
Работа с текстовыми файлами
Цель работы: Создание GUI приложения для работы с текстовыми файлами. Требования к лабораторной.