34658

Основы визуального программирования. Пустая форма и ее модификация. Компоненты страницы Standart

Реферат

Информатика, кибернетика и программирование

Если это свойство равно true то окно будет прозрачным. Степень прозрачности задаётся через свойство lphBlendVlue. nchors Это свойство есть и у формы и у компонентов. Это свойство раскрывающееся.

Русский

2013-09-08

5.01 MB

7 чел.

исциплина «Основы алгоритмизации и программирование»  Основы визуального программирования

Основы визуального программирования. Пустая форма и ее модификация. Компоненты страницы Standart.

После запуска программы перед тобой откроется окно, похожее на рисунке.

Перед тобой четыре основных окна, с которыми ты будешь постоянно работать:

  1.  Главное окно программы. На нём находится основное меню, панели инструментов и палитра компонентов.
  2.  Объектный инспектор. Он предназначен для управления объектами и состоит из двух закладок:
    •  Properties – на этой закладке будут перечислены свойства выделенного объекта. Имя и тип выделенного объекта отображается в выпадающем списке, вверху окна.
    •  Events – события. Здесь можно создавать и изменять реакцию объекта на различные события.
  3.  Форма. Это уже готовая визуальная форма будущей программы.
  4.  Редактор кода. В этом окне ты будешь писать программу на языке Delphi.

Для изменения основных настроек, нужно выбрать из меню Tools пункт Environment Options (настройки окружения). Перед тобой откроется окно. На первой странице Preferences (Предпочтения) ты можешь указать следующие опции:

Autosave options – опции авто-сохранения. Editor Files – редактируемых файлов (модулей). Project desktop – рабочей среды.

Compiling and Running – настройки процесса компилирования и запуска готовой программы. Здесь доступны следующие параметры: Show compiler progress – во время компиляции показывать окно состояния. Warn on package rebuild – предупреждать, когда необходима перекомпиляция пакета. Minimize on run – минимизировать оболочку, когда запущена программа. Действует, когда ты запускаешь из Delphi. Если ты запустишь скомпилированную программу из проводника, то Delphi не будет минимизирован. Hide designers on run – прятать окна объектного инспектора и визуальной формы при запуске программы (советую тебе его отключить).

Закладка Designer окна настроек окружения содержит Display grid – показать сетку, Snap to grid – перемещать объекты по сетке. Я советую тебе постоянно использовать сетку. Это позволит тебе улучшить внешний вид твоей программы. По умолчанию сета выглядит как 8х8 пикселей. Если ты захочешь изменить это значение, то советую тебе установить значения кратные 2.

Форма, компоненты, инспектор

Основная форма – это окно будущей программы. На нём ты можешь располагать визуальные компоненты в любом виде и порядке.

Если выделить какой-то компонент, то в объектном инспекторе появятся его свойства и события.

Свойства, которые появляются в объектном инспекторе

ActiveControl - Указывает на компонент, который должен быть активным по умолчанию.

Align - Выравнивание компонента: alNone – нет выравнивания. alBottom – выравнивание по нижнему краю. alLeft - выравнивание по левому краю. AlRight - выравнивание по правому краю. AlTop - выравнивание по верхнему краю. Компоненты выравниваются относительно формы, а форма выравнивается относительно окна.

AlphaBlend - Тип свойства – логический. Означает, имеет ли форма прозрачность. Если это свойство равно true, то окно будет прозрачным. На рисунке справа показан пример полупрозрачного окна. Степень прозрачности задаётся через свойство AlphaBlendValue. ВНИМАНИЕ!!! Прозрачность работает не на всех системах.

AlphaBlendValue - Тип свойства – целое число. Степень прозрачности формы. Здесь можно задавать числовое значение степени прозрачности от 0 до 255. Если поставишь 0, то форма будет абсолютно прозрачной. 255 означает полную непрозрачность.

Anchors - Это свойство есть и у формы и у компонентов. Оно показывает, как происходит закрепление к родительскому объекту. Это свойство раскрывающееся. Если ты щелкнешь по квадрату слева от имени свойства, то раскроется список из четырёх дополнительных свойств: akLeft прикреплять левый край (по умолчанию true); akTop прикреплять верхний край (по умолчанию true); akRight прикреплять правый край (по умолчанию flase); akBottomприкреплять нижний край (по умолчанию false). По умолчанию прикрепление происходит по левому и верхнему краю.

AutoScroll - Тип свойства – логический. Автоматический скроллинг или нет.

BorderIcons - Свойство определяющее, какие кнопки должны присутствовать у окна. Это свойство раскрывающееся: biSystemMenu – показать меню (иконка слева в строке заголовка окна); biMinimize – кнопка минимизации окна; biMaximize – кнопка максимизации окна;biHelp – кнопка помощи.

BorderStyle – Свойство формы. Отвечает за вид оборки окна: bsSizeable – стандартное окно, с нормальной оборкой, которое может изменять свои размеры; bsDialog – окно выглядит в виде диалога; bsNone – окно вообще без оборки; bsSingle – окно с фиксированным размером и изменять его мышкой нельзя (Изменить размер можно только кнопкой Maximize); bsSizeToolWin – окно с тонкой оборкой; bsToolWindow – у этого окна нельзя изменять размеры окна.

BorderWidth – ширина оборки окна.

Caption – это строковое свойство, которое отвечает за заголовок окна.

ClientHeight – это свойство в виде целого числа показывает высоту клиентской области окна. ClientWidth - это свойство в виде целого числа показывает ширину клиентской области окна.

Color – цвет клиентской области окна.

В списке выбора есть все системные цвета, которые ты можешь выбрать. Но если ты хочешь использовать какой-то специфичный цвет, то можешь дважды щёлкнуть по этому параметру, и перед тобой откроется стандартное окно выбора цвета.

Constraints – размеры окна: MaxHeight – максимальная высота окна; MaxWidth – максимальная ширина окна; MinHeight – минимальная высота окна; MinWidth – минимальная ширина окна.

Если ты установишь эти значения, то окно нельзя будет растянуть больше максимального размера и уменьшить меньше минимального.

Ctl3D – Тип свойства – логический. Оно указывает - показывать окно/компонент в псевдо 3D плоскости или нет (сильно не изменяется, поэтому про это свойство можно забыть).

Cursor – это свойство отвечает за курсор, который будет отображаться при наведении мышкой на форму/компонент.

DockSite - Тип свойства – логический. Указывает, можно ли на форму/компонент бросать другие компоненты с помощью Drag&Drop. Это свойство создаёт эффект, который ты мог наблюдать в MS Office, когда панели инструментов можно отрывать от формы и прикреплять обратно. Вот это свойство как раз и разрешает прикреплять компоненты.

DragKind – вид перетаскивания объекта при Drag&Drop: dkDrag – стандартный Drag&Drop при котором объект остаётся на месте; dkDock – перетаскивать сам объект. Этот параметр следует выбрать, если нужно чтобы компонент мог прикрепляться к другим компонентам или форме.

DragMode – режим Drag&Drop: dmManual – ручной режим; dmAutomatic – режим Draq&Drop будет включатся автоматически, если пользователь начал тащить мышкой компонент.

Enabled – Тип свойства – логический. Доступность компонента. Если это свойство равно true, то пользователь может работать с этим компонентом. Иначе компонент недоступен и окрашен серым цветом.

Font – шрифт используемый при выводе текста на форме. Если ты дважды щёлкнешь по этой строке, то перед тобой появится стандартное окно Windows выбора шрифта.

FormStyle - Стиль формы: fsNormal – нормальное окно; fsMDIForm – окно является родительским; fsMDIChild – окно является дочерним; fsMDIForm  - создаёт главное окно, а fsMDIChild создаёт дочернее, то есть то окно, которое будет внутри главного (ВНИМАНИЕ!!! – главное окно не может быть такого типа);fsStayOnTop – Окно с этим параметром будет находиться всегда поверх остальных.

Height – Тип свойства – целое число. высота окна.

Hint – текст подсказки, который будет появляться в строке состояния при наведении мышкой на форму/компонент.

HorzScrollBar – параметры горизонтальной полосы прокрутки.

Icon – иконка отображающаяся в заголовке окна: Load – загрузить иконку из файла; Save – сохранить иконку в файл; Copy – копировать иконку в буфер обмена; Paste – Вставить иконку из буфер обмена.

Clear – очистить текущую иконку; Left – Тип свойства – целое число. левая позиция окна; Menu – меню, которое используется в главном окне; Name – имя формы/компонента. Помни, что какое имя ты здесь введёшь, так и будет называться объект, отвечающий за эту форму/компонент (только в начале добавится буква T).

ParentFont – Тип свойства – логический. Если это свойство равно true, то для вывода текста будет использоваться тот же шрифт, что и у родительского объекта.

Position – Позиция окна при старте приложения.

ShowHint – Тип свойства – логический. Оно показывает - нужно ли показывать подсказки.

Tag – это свойство имеет тип – целое число (можно исключить).

Top – Тип свойства – целое число. верхняя позиция окна.

TransparentColor – Тип свойства – логический. Является ли форма или компонент прозрачным. В отличии от AlphaBlend, эта прозрачность работает всегда. Зато нельзя сделать полупрозрачные формы и компоненты.

TransparentColorValue - прозрачный цвет

VertScrollBar – Вертикальная полоса прокрутки. Она имеет те же параметры, что и горизонтальная и мы рассмотрим её отдельно.

Visible - Тип свойства – логический. Если оно равно true, то форма/компонент видимые. Иначе форма/компонент невидим.

Width - Тип свойства – целое число. Ширина окна.

WindowState – состояние окна после запуска.

Событийная модель Windows.

Вся работа операционной системы (ОС) Windows основана на понятии события. Внутри ядра Windows создаётся очередь событий. События можно увидеть на закладке Events объектного инспектора.

Событие

Описание

OnActivate 

Когда приложение стало активным

OnCanResize

Это событие генерируется перед тем, как изменить размер окна. Здесь ты можешь запретить какие-либо изменения или производить какие-то подготовительные действия.

OnClick

Генерируется, когда пользователь щёлкнул по форме.

OnClose

Генерируется, когда окно закрывается.

OnCloseQuery

Генерируется до закрытия окна. В этом обработчике происходит запрос на закрытие, поэтому из этого обработчика можно вывести окно, которое будет запрашивать подтверждение на закрытие. Ты такие подтверждения видишь в каждом втором приложении типа «Вы уверены, что хотите закрыть окно?».

OnCreate

Генерируется, когда окно создаётся.

OnDblClick

Генерируется, когда пользователь дважды щёлкнул по окну.

OnDeactivate

Генерируется, когда окно деактивируется.

OnDestroy

Когда окно уничтожается.

OnHide

Генерируется, когда окно исчезает.

OnKeyDown

Генерируется, когда нажата клавиша на клавиатуре.

OnKeyPress

Генерируется, когда нажата и отпущена клавиша на клавиатуре.

OnKeyUp

Генерируется, когда отпущена клавиша на клавиатуре.

OnMouseDown

Генерируется, когда нажата кнопка мыши.

OnMouseMove

Генерируется, когда двигается мышка.

OnMouseUp

Генерируется, когда jngeotyf кнопка мыши.

OnMouseWheel

Генерируется колёсиком мыши.

OnMouseWheelDown

Генерируется, когда колёсико мыши прокручено вниз.

OnMouseWheelUp

Генерируется, когда колёсико мыши прокручено вверх.

OnPaint

Генерируется, когда надо перерисовать окно.

OnResize

Генерируется, когда надо изменить размеры окна.

OnShortCut

Когда нажата горячая клавиша.

OnShow

Когда показано окно

Палитра компонентов.

Палитра компонентов состоит из нескольких закладок:

Standard. Все эти компоненты являются аналогами Windows компонентов.

Additional – дополнительные компоненты.

Win32 – компоненты, которые есть только в семействе Win32 операционных систем.

System – системные компоненты, с помощью которых облегчается доступ к системе.

Database Access – компоненты доступа к базам данных.

Data Controls – компоненты для работы с базами данных.

dbExpress – ещё компоненты доступа к базам данных, которые пришли на смену BDE.

BDE – старые компоненты доступа к базам данных.

ADO – это тоже компоненты для доступа к базам данных, только по технологии Active Data Object (ADO).

InterBase компоненты доступа к базе данных InterBase.

WebServices – компоненты доступа к сети Интернет.

InternetExpress – компоненты доступа к сети Internet.

FastNet – Сетевые компоненты.

QReport – компоненты для создания отчётности.

Dialogs – компоненты облегчающие доступ к стандартным диалогам.

Win3.11 – компоненты доступа к компонентам Win 3.1.

Samples – различные примеры.

Палитра компонентов Standard

Кнопка (TButton).

Кнопка в Delphi происходит от объекта Tbutton. Щёлкни по изображению кнопки  на палитре компонентов. После этого щёлкни по форме в любом месте. На форме сразу же появится кнопка с заголовком Button1. За заголовок формы отвечает свойство Caption. Изменим свойство Name у кнопки на MyFirstButton. Изменим имя формы. Для этого сними выделение с кнопки (щёлкни в любом месте формы). Вверху окна, должна загореться надпись Form1  TForm. Найди здесь свойство Name и измени его значение на MainForm (это переводится как - главная форма). Попробуй запустить программу (нажми F9).

Усложните пример с помощью события, когда нажимается кнопка. Перейди на закладку Events и выберите событие OnClick. Для кнопки есть такое же событие.

Надписи (TLabel).

Этим компонентом мы будем пользоваться практически в каждом примере, выводя надписи для других компонентов. Создай новое приложение. Брось на форму один компонент TLabel  и измени у него свойство Caption на «Это моя первая программа». У тебя должно получится нечто подобное.  

Строки ввода (TEdit).

С помощью строк ввода мы постоянно будем вводить различную информацию в наши программы.

1. Создай новый проект. Брось на него два компонента TEdit  с палитры компонентов Standard и одну кнопку.  Теперь создай для кнопки обработчик события OnClick. Напиши в нём следующее:

procedure TForm1.MyFirstButtonClick(Sender: TObject);

begin

Edit2.Text:=Edit1.Text; end;

По нажатию кнопки я копирую содержимое свойства Text компонента Edit1 в свойство Text компонента Edit2. Попробуй запустить программу. Теперь введи в первую строку ввода какой-нибудь текст, а потом нажми кнопку. Во второй строке ввода появится тот же текст.

2. Теперь измени у первой строки ввода свойство PasswordChar на звёздочку «*». Теперь запусти программу и попробуй ввести в эту строку текст. Вместо текста будут появляться звёздочки, как при вводе пароля в какой-нибудь программе:

Именно таким образом делаются строки ввода паролей. Попробуй нажать на кнопку и во вторую строку ввода перенесётся текст, который ты вводил. Давай теперь сделаем проверку на ввод пароля. Найди в процедуре обработчик события OnClick для кнопки и напиши там следующее:

procedure TForm1.MyFirstButtonClick(Sender: TObject);

begin

if Edit1.Text='password' then

 Edit2.Text:='Пароль верный'

Else   Edit2.Text:='Неверно'; end;

Попробуй запустить программу. Если ты введёшь в первую строку ввода слово password и нажмёшь кнопку, то во второй строке появится надпись «Пароль верный», иначе будет надпись «Пароль неверный».

Многострочное поле ввода (TMemo).

Создай новый проект. Установи на форму компонент TMemo. За содержимое текста отвечает свойство Lines. Дважды щёлкни по свойству Lines. Введи текст.

1. Добавь на форму пока только одну кнопку. Измени её свойство Caption на «Очистить» и имя на ClearButton. Создай для кнопки обработчик события OnClick. В нём напиши следующее:

procedure TForm1.ClearButtonClick(Sender: TObject);

begin

MainMemo.Lines.Clear;

end;

Попробуй запустить программу и написать внутри компонента Memo какой-нибудь текст. Потом нажми кнопку очистить, чтобы уничтожить всё, что ты вводил.

2. Давай теперь усложним наш пример, добавив возможность сохранения введённого текста  и загрузки его обратно.

Создай обработчик события OnShow для формы и напиши там следующее:

     procedure TForm1.FormShow(Sender: TObject);

     begin

     MainMemo.Lines.LoadFromFile('memo.txt');

     end;

Здесь я вызываю метод LoadFromFile объекта Lines. Ему нужно передать только один параметр – имя файла, откуда будет происходить загрузка данных. Есть только один недостаток – если ты сейчас попытаешься запустить программу, то во время загрузки произойдёт ошибка, потому что файла memo.txt нет. Тут есть два выхода: - Заранее создать этот файл. - При старте проверять, есть ли файл, и только если он существует производить загрузку текста. С первым способом всё понятно. А вот для реализации второго способа нужно воспользоваться функцией FileExists, Ей нужно передать имя файла, которое надо проверить, и если такой файл существует, то она вернёт true. Изменим обработчик события OnShow следующим образом:

procedure TForm1.FormShow(Sender: TObject);

begin

if FileExists('memo.txt') then

 MainMemo.Lines.LoadFromFile('memo.txt');

end;

Теперь создадим обработчик события OnClose. В нём напишем процедуру сохранения содержимого MemoMemo.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

MainMemo.Lines.SaveToFile('memo.txt');

end;

Здесь используется метод SaveToFile, который работает так же, как и LoadFromFile, только этот сохраняет данные. Теперь нам осталось только научится программно добавлять, удалять и изменять строки в компоненте TMemo и можно считать, что мы досконально изучили этот компонент. Добавь к предыдущему примеру три кнопки: Добавить. Удалить. Изменить.

Теперь создадим обработчик события OnClick для кнопки «Добавить». Здесь мы будем программно добавлять новую строку в MainMemo. Для этого у объекта Lines есть метод Add, у которого есть только один параметр – текст новой строки:

procedure TForm1.Button1Click(Sender: TObject);

begin

MainMemo.Lines.Add(' Новая строка');

end;

Теперь создадим обработчик события OnClick для кнопки удалить. По этому событию мы должны удалить строку, в которой находится сейчас курсор:

procedure TForm1.DelButtonClick(Sender: TObject);

begin

if MainMemo.Lines.Count<>0 then

MainMemo.Lines.Delete(MainMemo.CaretPos.Y);

end;

Если не равно нулю (MainMemo.Lines.Count<>0), значит, строки есть, и мы можем удалить текущую строку. В MainMemo есть свойство CaretPos, которое указывает на текущую позицию курсора. Х – указывает на текущую колонку, а Y указывает на текущую строку.

Осталось только написать обработчик события OnClick для кнопки «Изменить».

procedure TForm1.ChangeButtonClick(Sender: TObject);

begin

MainMemo.Lines.Strings[MainMemo.CaretPos.Y]:='Horrific';

MainMemo.Lines.Strings[0]:='Текст изменён';

end;

В первой строке изменется текущая строка на 'Horrific'. Второй строкой ManMemo на 'Текст изменён'.

CheckBox.

Создай новое приложение, брось на него одну кнопку и два компонента TCheckBox . Первому компоненту дай заголовок (Caption) равным «Разрешить закрытие программы» и имя (Name) равным «CheckBox1». Второму компоненту дай заголовок (Caption) равным «Отключить кнопку» и имя (Name) равным «CheckBox2».  Создай обработчик события OnClick для компонента CheckBox2. В нём напиши следующее:

procedure TForm1.CheckBox2Click(Sender: TObject);

begin MyFirstButton.Enabled:=not CheckBox2.Checked; end;

Свойство Checked показывает: стоит ли галочка на это CheckBox-е. Если да, то свойство Checked равно True, иначе False. Оператор not меняет это состояние на противоположное.

Панели (TPanel).

TPanel это компонент в виде панели  . Он ведёт себя, так же как и форма. Ты можешь на нём располагать компоненты, и если ты передвинешь панель, то все компоненты установленные на ней тоже передвинутся. За внешний вид отвечают два свойства: BevelInner и BevelOuter. Установи на форму два компонента TPanel.  Теперь создадим обработчик события OnMouseDown для первой панели. procedure TForm1.Panel1MouseDown(Sender: TObject;

  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Begin  Panel1.BevelOuter:=bvLowered; end;

Одна строчка кода меняет вид панели. Создадим ещё обработчик события OnMouseUp для первой панели. По этому событию мы меняем вид панели на исходный:

procedure TForm1.Panel1MouseUp(Sender: TObject;

 Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);

Begin  Panel1.BevelOuter:=bvRaised; end; Попробуй запустить программу и нажать на первую панель. Когда ты нажмёшь мышь, панель изменит вид на вогнутый. При отпускании мыши панель возвращает вид на исходный.

Кнопки выбора TRadioButton.

Эти кнопки очень похожи на TCheckBox даже по методу работы. У них так же есть свойство Checked, которое отображает её состояние. Если RadioButton выделен, то это свойство равно True, иначе равно False. Брось на форму несколько компонентов RadioButton . Теперь запусти программу и попробуй пощёлкать.

Списки выбора (TListBox).

Списки выбора хранят в себе какие-то списки и дают пользователям возможность выбирать один или несколько параметров. Чтобы получить доступ к строкам списка нужно воспользоваться свойством Items объекта TListBox. Это свойство имеет тип TStrings. Такой же тип у свойства Lines объекта TMemo. Брось на форму один компонент TListBox  и один компонент TEdit. Теперь дважды щёлкни по свойству Items компонента ListBox1. Перед тобой откроется редактор строк: набери здесь названия всех основных цветов.Нажми Ok. Данные перенесутся в форму. Для большей ясности, давай добавим к нашему приложению ещё кнопку «Добавить» и «Удалить» строку. Для кнопки добавить, в обработчике события OnClick напишем следующий код:

Procedure TForm1.AddButtonClick(Sender:YObject);

Begin    ListBox1.Items.Add(‘Новая строка’); End;

Для кнопки добавить напишем следующее:

TForm1.DelButtonClick(Sender: TObject);

Begin  ListBox1.Items.Delete(ListBox1.ItemIndex); end; 

Выпадающие списки (TComboBox).

Похожи на списки выбора. Создадим приложение похожее на предыдущее, только вместо ListBox будет ComboBox.Теперь создадим обработчик события OnChenge для выпадающего списка ComboBox1. По нему мы напишем следующий текст:

procedure TForm1.ComboBox1Change(Sender: TObject);

begin  Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex]; End;

Теперь напишем код для кнопки «Добавить»:

procedure TForm1.AddButtonClick(Sender: TObject);

begin  ComboBox1.Items.Add('Новая строка') end;

Теперь напишем код для кнопки «Удалить»:

procedure TForm1.DelButtonClick(Sender: TObject);

begin  ComboBox1.Items.Delete(ComboBox1.ItemIndex); end; 

Существует несколько типов выпадающих списков:CsDropDown – основной стиль. При нём ты можешь не только выбирать значения из списка, но и вводить в строку свои. CsDropDownList – при этом стиле можно только выбирать из списка. CsOwnerDrawFixed – при этом стиле ты можешь рисовать элементы сам. Высота элементов фиксированная.

CsOwnerDrawVariable - при этом стиле ты можешь рисовать элементы сам. Отличается от предыдущего тем, что высота элементов не фиксированная. CsSimple – только строка ввода.


Полосы прокрутки (
TScrollBar).

Полосы прокрутки очень часто используются для прокручивания какого-то действия. На форме один компонент TLabel и одна полоса прокрутки TScrolBar  .  У компонента Label1 измени свойство Caption на «0». Теперь создай обработчик события OnChange для полосы прокрутки и напиши там следующее:

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin  Label1.Caption:=IntToStr(ScrollBar1.Position); end;

Текущее значение ползунка можно получить с помощью свойства Position объекта ScrollBar1. Это свойство имеет тип целое число, а свойство Caption компонента Label1 – это строка. Поэтому нам надо превратить целое число в строку. Для этого есть функция IntToStr. Ей нужно передать число, а она нам вернёт строку. Поэтому если вызвать эту функцию с параметром текущей позиции ползунка (IntToStr(ScrollBar1.Position)), результат её работы можно присвоить свойству Caption компонента Label1. Попробуй запустить программу и подвигать ползунок. Значение позиции будет отображаться в компоненте Label1. Чтобы сделать её вертикальной, нужно свойство Kind поменять на sbVertical. И ещё, значение ползунка изменяется от 0 до 100. Чтобы изменить эти значения есть свойства Min (по умолчанию равно нулю) и Max (по умолчанию равно 100).

Группировка объектов (GroupBox).

Компонент GropBox очень удобно использовать для группировки каких-то компонентов. Панель TGroupBox в основном используют для группировки компонентов TRadioButton.

Группа компонентов RadioButton (TRadioGroup).

Если установить этот компонент на форму, то на первый взгляд он выглядит, как простой TGroupBox. Создай новый проект и прось на него один компонент TRadioBox. Щёлкни по свойству Items и перед тобой появится уже знакомый редактор строк. Введи туда три строчки: Всё Выделенные Текущую Нажми «ОК» и твой ты увидишь GropBox содержащий в себе три компонента TRadioBox.  Брось на форму ещё одну кнопку, одну строку ввода и один TLabel. Теперь создадим обработчик события OnClick для компонента RadioGroup1. В нём напишем следующее: Label1.Caption:=IntToStr(RadioGroup1.ItemIndex);

Свойство ItemIndex компонента RadioGroup1 показывает, какой компонент сейчас выделен. Компоненты пронумерованы в таком же порядке, как записаны их имена в списке. Это свойство имеет тип целое число, поэтому его приходится превращать в строку с помощью IntToStr. По нажатию кнопки напишем следующий текст:

procedure TForm1.Button1Click(Sender: TObject);

begin  Edit1.Text:=IntToStr(RadioGroup1.ItemIndex); end;

По нажатию кнопки я делаю то же самое, только номер выделенного компонента помещаю в Edit1. А теперь посмотрим на  преимущества этого компонента. Представим, что у нас просто стоит три компонента TRadioButton. Чтобы узнать, какой из них сейчас выделен, нужно проверить свойство Checked всех этих компонентов. А при использовании группы TRadioGroup ничего этого не надо. Нужно только проверить свойство ItemIndex, компонента TRadioGroup и никаких проблем.

EMBED PBrush  

EMBED PBrush  


 

А также другие работы, которые могут Вас заинтересовать

79514. Предмет школьной психологической службы 31.55 KB
  Существует много разных определений предмета школьной психологической службы но единого общепризнанного нет. Только единство этих 4х аспектов и составляет предмет школьной психологической службы. Научный аспект предполагает разработку методологических проблем школьной психологической службы.
79515. Возрастная психология как теоретическая основа курса 26.48 KB
  Мы понимаем школьную психологическую службу как интегральное образование и рассматриваем ее в трех аспектах: как одно из направлений педагогической и возрастной психологии а именно ее теоретикоприкладное направление изучающее закономерности психического развития и формирования личности школьника с целью разработки способов средств и методов профессионального применения психологических знаний в условиях современной школы научный аспект; как психологическое обеспечение всего процесса обучения и воспитания включая составление учебных...
79516. Цель психологической службы образования 29.04 KB
  Ориентация на развитие ребенка определяет основные задачи психологической службы образования: Реализация в работе с детьми возможностей резервов развития ребенка каждого возраста; Развитие индивидуальных особенностей детей – интересов способностей склонностей чувств отношений увлечений жизненных планов; Создание благоприятного для развития ребенка психологического климата который определяется одной стороныорганизацией продуктивного общения детей со взрослыми и сверстниками с другой – созданием для каждого ребенка на всех этапах...
79517. Становление психологической службы в системе образования в России 35.21 KB
  С начала 1980х годов происходит интенсивное становление психологической службы в системе образования что было обусловлено потребностью общества бурным социальным развитием повышением требований к творческому и нравственному потенциалу личности. Начало развития школьной психологической службы связано с именами таких ученых как А. Основные вехи становления психологической службы образования в России Дата Мероприятия Основные проблемы 1983 Круглый стол журнала Вопросы психологии Анализ результатов экспериментальных попыток создания...
79518. Главные направления и цели деятельности школьной психологической службы 32.56 KB
  Психопрофилактика предполагает: Ответственность за соблюдение в образовательных учреждениях психологических условий необходимых для полноценного психического развития и формирования личности на каждом возрастном этапе: Своевременное выявление таких особенностей ребенка которые могут привести к определенным сложностям отклонениям в интеллектуальном и эмоциональном развитии в поведении и отношениях; Предупреждение возможных осложнений в связи с переходом на следующую возрастную ступень.Психодиагностика это изучение особенностей...
79519. Основные принципы деятельности педагога-психолога 29.62 KB
  Принцип индивидуального подхода к учащемуся основной принцип работы практического психолога в его основе лежат понимание и признание индивидуальности человека как ценности как уникального явления. Принцип целостности предполагает что деятельность психолога и психологической службы образовательного учреждения должна быть ориентирована на целое на систему. Это означает что внимнием психолога должно быть охвачено большинство учащихся.
79520. Этические принципы деятельности психолога 31.11 KB
  Укрепление авторитета психологической службы образования среди обучающихся воспитанников родителей и педагогической общественности. Принцип квалификационной пропаганды психологии.Информация полученная психологом в процессе проведения работы не подлежит сознательному или случайному разглашению а в ситуации необходимости передачи ее третьим лицам должна быть представлена в форме исключающей ее использование против интересов клиента.
79521. Психологическая служба как отрасль прикладной психологии. Роль психологической службы в образовании 31.88 KB
  Государственная ПСО – структура призванная в рамках общей концепции соблюдения прав ребенка на достойный уровень жизни и полноценное психическое развитие обеспечить психологическую поддержку воспитания и образования оказать квалифицированную помощь при наличии проблем и отклонений в развитии ребенка Развитие практической психологии в 1990 гг. в значительной степени обусловило гуманизацию системы образования что способствовало постановке и решению следующих задач: Переход от унифицированного образования к вариативному; Переход от...
79522. Концепция школьной психологической службы Л.М. Фридмана 31.7 KB
  Фридмана цели школьной психологической службы должны соответствовать главной цели школы на современном этапе воспитание каждого ученика образованной культурной высоконравственной творчески активной и социально зрелой личностью. Поэтому главной целью школьной психологической службы является научное психологическое обеспечение учебновоспитательного процесса в школе т. Утверждается что главная функция психологической службы образования профессиональная забота о психологическом здоровье детей.