If not(Key in ['0'..'9',#8]) then
key: =#0; end;
end.
В данном приложении обрабатывается событие OnKeyPress для компонента Edt1, предназначенного для ввода оценки по 10-балльной системе. Пользователь может вводить только цифры от 0 до 9 и пользоваться клавишей Backspace. Рассмотрим более сложный пример. Пример 4. Даны сторона квадрата и стороны треугольника. Определите пройдет ли данный треугольник в квадрат. Разработаем только полноэкранное приложение. Форма приложения имеет вид (рис. 1.10).
Рис.1.10 Форма примера 4
Соответствующий Unit:
unit Unit1; //Пройдет ли треугольник в квадрат? Interface
Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls;
Type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Image1: TImage; Button1: TButton; BitBtn1: TBitBtn; procedure Button1Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); Private { Private declarations } Public { Public declarations } end;
Var Form1: TForm1; ak, a, b, c: real; Implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); Var x, y, k, y1, ap, bp, cp, d: real; iw, ih: integer; fl: boolean; p: array [0..2] of tpoint; //координаты вершин треугольника Begin ak: =strtofloat(edit1.Text); //сторона квадрата a: =strtofloat(edit2.Text); //стороны треугольника b: =strtofloat(edit3.Text); c: =strtofloat(edit4.Text); image1.Picture: =nil; //очистка image // Располагаем стороны треугольника в порядке //возрастания If a> b then Begin x: =a; a: =b; b: =x; end;
|