Windows forms pascal abc уроки

Модуль 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:

Введение в Windows Forms в PascalABC.NET

1 Фрагмент статьи из ВикиУчебника 1 Введение в Windows Forms в PascalABC.NET Windows Forms — фреймворк для работы с формами. он позволяет создавать программы с графическим интерфейсом без использования визуального редактора. Любая программа, использующая Wondows Forrms может иметь следующий вид: <$apptype windows> <$reference 'System.Windows.Forms.dll'> <$reference 'System.Drawing.dll'>uses System.Windows.Forms, System.Drawing; var MainForm: System.Windows.Forms.Form; MainForm := new Form; Application.Run(MainForm); end. MainForm — главная форма. Основные классы Button (кнопка) System.Windows.Forms.Button — класс кнопки. Синтаксис ее создания: name := new Button(); name — имя кнопки. Ширина кнопки. Высота кнопки. Текст на кнопке. Цвет фона кнопки. Цвет текста кнопки. Позиция кнопки на форме. В качестве значения должна быть точка System.Drawing.Point. Будет ли меняться размер кнопки, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на кнопке. Видна ли кнопка. Событие Click Хранит ссылку на процедуру, которая выполниться при нажатии на кнопку. Для установки его значения используйте вместо := +=.

Читайте также:  What is the get windows 10 button

2 Фрагмент статьи из ВикиУчебника 2 Label (метка) System.Windows.Forms.Label — класс метки. Синтаксис ее создания: name := new Label(); name — имя метки. Ширина метки. Высота метки. Текст на метки. Цвет фона метки. Цвет текста метки. Позиция метки на форме. Будет ли меняться размер метки, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на метке. Видна ли метка. CheckBox (флажок) System.Windows.Forms.CheckBox — класс флажка. Синтаксис его создания: name := new CheckBox(); name — имя флажка. Checked Ширина флажка. Высота флажка. Текст на флажка. Цвет фона флажка. Цвет текста флажка. Позиция флажка форме. Будет ли меняться размер флажка, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на флажка. Виден ли флажок. Определяет установлен ли флажок или нет. RadioBox (радио-кнопка) System.Windows.Forms.RadioBox- класс радио-кнопки. Синтаксис ее создания: name := new RadioBox(); name — имя радио-кнопки.

3 Фрагмент статьи из ВикиУчебника 3 Checked Ширина радио-кнопки. Высота радио-кнопки. Текст на радио-кнопки. Цвет фона радио-кнопки. Цвет текста радио-кнопки. Позиция радио-кнопки форме. Будет ли меняться размер радио-кнопки, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на радиокнопке. Видна ли радио-кнопка. Определяет установлена ли радио-кнопка или нет. TrackBar (ползунок) System.Windows.Forms.TrackBar — класс ползунка. Синтаксис его создания: name := new TrackBar(); name — имя ползунка. Minimum Maximum Value Orientation TickStyle TickFrequency Ширина ползунка. Ширина ползунка. Позиция ползунка на форме. Виден ли ползунок. Минимальное значение ползунка. Максимальное значение ползунка. Текущее значение ползунка. Ориентация ползунка. System.Windows.Forms.Orientation.Horizontal — горизонтальная System.Windows.Forms.Orientation.Vertical — вертикальная Контролирует как отображаются деления. System.Windows.Forms.TickStyle.Both — с двух сторон System.Windows.Forms.TickStyle.BottomRight — деления либо снизу (для горизонтального ползунка) или справа (для вертикального полузнка) System.Windows.Forms.TickStyle.TopLeft — деления либо сверху (для горизонтального ползунка) или слева (для вертикального полузнка) System.Windows.Forms.TickStyle.None — не отображаются Расстояние между делениями.

4 Фрагмент статьи из ВикиУчебника 4 ListBox System.Windows.Forms.ListBox- класс списка. Синтаксис его создания: name := new ListBox(); name — имя списка. Item Items.Count Items.Item[k] Integral Click Событие SelectedIndexChanged Ниже a — список. Процедура Ширина списка. Высота списка. Позиция списка на форме. Виден ли список. Высота элемента списка. Количество элементов списка. K-ый элемент списка. Указывает будет ли подгоняться размер списка под размер элементов, чтобы был видны названия всех элементов полностью. Описание Хранит ссылку на процедуру, которая выполнится при щелчке по списку. Хранит ссылку на процедуру, которая выполнится при смене выбранного элемента списка. a.items.add(t) Добавляет в список элемент с текстом t. a.items.clear Очищает список. ComboBox System.Windows.Forms.ComboBox — класс выпадающего списка. Для его создания пишите: name:=new ComboBox(); name — имя выпадающего списка. Count SelectedIndex Ширина выпадающего списка. Высота выпадающего списка. Виден ли выпадающий список. Количество элементов в выпадающем списке. Индекс выбранного элемента выпадающего списка.

Читайте также:  Wmiprvse exe windows server

5 Фрагмент статьи из ВикиУчебника 5 SelectedItem Items.Item[k] Integral Выбранный элемент выпадающего списка. K-ый элемент выпадающего списка. Указывает будет ли подгоняться размер выпадающего списка под размер элементов, чтобы был видны названия всех элементов полностью. Click Событие SelectedIndexChanged Ниже a — выпадающий список. Функция a.items.add a.items.clear Описание Хранит ссылку на процедуру, которая выполнится при щелчке по выпадающему списку. Хранит ссылку на процедуру, которая выполнится при смене выбранного элемента выпадающего списка. Описание Добавляет в выпадающий список элемент. Удаляет все элементы выпадающего списка. GroupBox System.Windows.Forms.GroupBox- класс фрейма. Синтаксис его создания: name := new GroupBox(); name — имя фрейма. Ширина фрейма. Высота фрейма. Текст на в заголовке фрейма. Позиция фрейма на форме. В качестве значения должна быть точка System.Drawing.Point. Будет ли меняться размер фрейма, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на кнопке. Виден ли фрейм. SplitContainer System.Windows.Forms.SplitContainer — класс элемента разделения окна. Синтаксис его создания: name := new SplitContainer(); name — имя элемента разделения окна. Ширина элемента разделения окна. Высота элемента разделения окна. Позиция элемента разделения окна на форме.

6 Фрагмент статьи из ВикиУчебника 6 Orientation Panel1 Panel2 В качестве значения должна быть точка System.Drawing.Point. Будет ли меняться размер элемента разделения окна, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на элементе разделения окна. Виден ли элемент разделения окна. Ориентация элемента разделения окна. System.Windows.Forms.Orientation.Horizontal — горизонтальная System.Windows.Forms.Orientation.Vertical — вертикальная Имя виджета, входящего в левую или верхнюю часть элемента разделения окна. Имя виджета, входящего в правую или нижнюю часть элемента разделения окна. MenuStrip (главное меню) System.Windows.Forms.MenuStrip — класс главного меню. Синтаксис его создания: name := new MenuStrip (); name — имя главного меню. GripStyle Цвет фона главного меню. Цвет текста меню. Ниже a — главное меню. Процедура Видим ли объект для перемещения меню, находящийся слева. объект перемещения меню спрятан — System.Windows.Forms.ToolStripGripStyle.Hidden объект перемещения меню виден- System.Windows.Forms.ToolStripGripStyle.Visisble a.items.add(k) Добавляет подменю k в главное меню. ToolStripMenuItem (подменю) System.Windows.Forms.ToolStripMenuItem — класс подменю. Синтаксис его создания: name := new ToolStripMenuItem (); name — имя подменю. Ниже b — подменю. Цвет фона заголовка подменю. Цвет текста заголовка подменю. Процедура b.dropdownitems.add(t,i,act) Добавляет пункт в подменю b.

7 Фрагмент статьи из ВикиУчебника 7 t — текст, отображаемый на пункте подменю; i — иконка пункта подменю (чтобы ее не было пишите nil); act — процедура, выполняющаяся при нажатии на этот пункт меню. иконка зугружается следующим образом: new System.Drawing.Bitmap(GetResourceStream(путь_к_из ображению)) Форма System.Windows.Forms.Form — класс формы. Общий синтаксис ее создания: name := new Form(); Ниже a — форма. Заголовок формы. a.controls.add(виджет) Курсор[править] Cursor — объект курсора в Windows Forms. Описане Добавляет виджет на форму. Описане System.Windows.Forms.Cursor.Position.X Позиция курсора по X. System.Windows.Forms.Cursor.Position.Y Позиция курсора по Y. Обработка событий Любая процедура, являющаяся обработчиком события должна иметь вид: procedure p(sender:object; args:system.eventargs); //тело процедуры end; p — имя процедуры. Стили Подключить визуальные стили для более красивого отображения виджетов можно так: Application.EnableVisualStyles; Примеры программ Пример 1. Вывод сообщения по нажатию кнопки: <$reference 'System.Windows.Forms.dll'> <$reference 'System.Drawing.dll'>uses System, System.Windows.Forms; var f : Form; btn : Button; procedure ButtonClick(sender: object; e: EventArgs);

Читайте также:  Как сделать диск сброса пароля для windows

8 Фрагмент статьи из ВикиУчебника 8 MessageBox.Show(‘Hello world!’); end; f := new Form; btn := new Button; btn. := ‘Click me’; btn.click += ButtonClick; f.controls.add(btn); Application.Run(f); end. Пример 2. Кнопка «Закрыть». uses System.Windows.Forms;//подключаем библиотеку.net форм var form1 : Form;//создаём переменную формы but1: button;//создаём элемент управления «кнопка» procedure but1_click(sender:object; e: system.eventargs); form1.close();//закрываем нашу форму по нажатии на кнопку end; form1:= new Form();//динамически выделяем память под форму form1.:=300;//задём ширину формы form1.:=300;//задаём высоту формы form1.:=system.drawing.color.white;//задаём фоновый цвет but1:=new Button;//динамически выделяем память под кнопку but1.:=100;//задаём ширину кнопки but1.:=35;//задаём высоту кнопки but1.:=’закрыть программу’;//задаём текст внутри кнопки but1.left:=10;//задаём отступ по горизонтали от родительского элемента(в нашем случае родительский элемент-form1 but1.top:=10;//задаём отступ по вертикали от родителського элемента but1.click+=but1_click;//включаем обработку нажатия по кнопке form1.controls.add(but1);//подключаем кнопку к форме application.run(form1);//запускаем форму end.

9 Фрагмент статьи из ВикиУчебника 9 Оригинал статьи здесь: D0%B2_Windows_Forms

Основы визуального программирования на Pascal

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку» приложений. В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

Pascal Windows Forms — это среда быстрой разработки, в которой в качестве языка программирования используется язык Pascal. Программы, работающие под управлением операционной системы Windows, обычно называют приложениями.

Знакомство с визуальной средой программирования Pascal

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку» приложений. В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

Элементы управления

Элементы управления — это объекты, которые служат для организации интерфейса между пользователем и компьютером. Элементами управления являются меню, кнопки, надписи, списки, таймеры и т.д.

События и процедура обработки события

События – это действия, совершаемые пользователем или операционной системой.

  • действия пользователя – нажатие клавиши на клавиатуре, щелчок мыши и т.д.;
  • действия операционной системы – активизация окна, посылка сигнала таймера и т. д.

Задание свойств элементов управления программным способом

Основная часть программы на языке Pascal представляет собой последовательность операторов. Оператор – это конструкция языка программирования, которая определяет одно действие при выполнении программы.

Чтобы обратиться к свойству элемента управления из программы нужно указать имя элемента управления, к свойству которого мы хотим обратиться, и через точку имя свойства.

Процедуры и функции

При программировании в Pascal Windows Forms работа программиста заключается в основном в разработке процедур (подпрограмм) обработки событий. При возникновении события автоматически запускается процедура обработки события, которую и должен написать программист. Задачу вызова процедуры обработки при возникновении соответствующего события берет на себя Pascal Windows Forms.

Оцените статью