1.Опис програми:
Описаний додаток
містить одну нескладну процедуру. Після
натискання кнопки Button1 в мітку Label1 виводиться
фраза – привітання з днем народження.
unit Unit1;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure
Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=Edit1.Text;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
Form1.Close
end;
end.
2 .Даний додаток демонструє створення методу, який є відгуком на
подію OnDblClick. Після подвійного клацання мишею у рядку редагування Edit1 в ньому
з’явиться введений текст, відповідно
до створеного методу Edit1DblClick.
unit cam;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure
Edit1DblClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Edit1DblClick(Sender: TObject);
begin
Edit1.Text:='Ви двічі клацнули у рядку редагування!';
end;
procedure
TForm1.Edit1Change(Sender: TObject);
begin
Edit1.Text:='Ви двічі клацнули у рядку редагування!';
end;
end.
3. Пропонований додаток дозволяє за допомогою однієї процедури заповнити два рядка редагування і дві
мітки. Після
натискання кнопки “Виклик процедури” фраза з рядка введення Edit1 копіюється в два рядки редагування
Edit2 і Edit3 і до міток Label1 і Label2.
unit cam3;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CopyAll(NewString : String);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender:
TObject);
begin
CopyAll(Edit1.Text);
end;
procedure TForm1.CopyAll(NewString
: String);
begin
Edit2.Text:=NewString;
Edit3.Text:=NewString;
Label1.Caption:=NewString;
Label2.Caption:=NewString;
end;
end.
4.Описаний додаток
дозволяє визначати системні дату і час. Після натискання на кнопку BitBtn1 в компонент Memo1 виводяться
значення поточної дати і
часу.
unit cam4;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Memo1: TMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
Memo1.Lines.Add('Сьогодні: '+ DateToStr(Date));
Memo1.Lines.Add('Поточний час: '+ TimeToStr(Time));
end;
procedure
TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;
end.
5. Цей додаток дозволяє
в режимі виконання змінювати розмір, колір і зовнішній вигляд об’єкту Shape1, а також розмір і колір самої форми.
Смуги прокрутки ScrollBars використовують для зміни розміру
фігури, розташованої в середній частині екрану.
Для вибору нового виду фігури використовують
список ComboBox1, а для зміни кольору або
форми фігури використовують стандартні діалогові вікна, які викликаються кнопками Button1 та Button2.
unit cam5;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Shape1: TShape;
ColorDialog1: TColorDialog;
Button1: TButton;
Button2: TButton;
ComboBox1: TComboBox;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
begin
if
ColorDialog1.Execute then Form1.Color:=ColorDialog1.Color;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
if
ColorDialog1.Execute then Shape1.Brush.Color:=ColorDialog1.Color;
end;
procedure
TForm1.ScrollBar1Change(Sender: TObject);
begin
Shape1.Width:=ScrollBar1.Position*3;
end;
procedure
TForm1.ScrollBar2Change(Sender: TObject);
begin
Shape1.Height:=ScrollBar2.Position*2;
end;
procedure
TForm1.ComboBox1Click(Sender: TObject);
begin
Shape1.Shape:=TShapeType(ComboBox1.ItemIndex);
end;
end.
6.Описаний додаток
дозволяє обчислювати і виводити на екран
результат добутку двох
чисел, які вводяться з клавіатури під час роботи програми.
unit cam6;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Panel1: TPanel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
begin
Panel1.Caption:=Edit1.Text+'*'+Edit2.Text+
'='+FloatToStr(StrToFloat(Edit1.Text)*
StrToFloat(Edit2.Text));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Panel1.Caption:=Edit1.Text+'-'+Edit2.Text+
'='+FloatToStr(StrToFloat(Edit1.Text)-
StrToFloat(Edit2.Text));
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
Panel1.Caption:=Edit1.Text+'+'+Edit2.Text+
'='+FloatToStr(StrToFloat(Edit1.Text)+
StrToFloat(Edit2.Text));
end;
procedure
TForm1.Button4Click(Sender: TObject);
begin
Panel1.Caption:=Edit1.Text+'/'+Edit2.Text+
'='+FloatToStr(StrToFloat(Edit1.Text)/
StrToFloat(Edit2.Text));
end;
end.
7.Додаток призначений
для розрахунку площі трикутника за формулою Герона. Значення
довжин сторін трикутника вводяться під час роботи
програми.
unit cam7;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn1: TBitBtn;
Memo1: TMemo;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c,p,s: extended;
st:
string;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
a:=StrToFloat (Edit1.Text);
b:=StrToFloat (Edit2.Text);
c:=StrToFloat (Edit3.Text);
p:=(a+b+c)/2;
s:=Sqrt(p*(p-a)*(p-b)*(p-c));
Str(s:6:2,St);
Memo1.Lines.Add (St);
end;
end.
8.Пропонований додаток
дозволяє порівняти два цілих числа, значення яких вводяться під час роботи
програми.
unit cam8;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b:integer;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
a:=StrToInt(Edit1.text);
b:=StrToInt(Edit2.text);
if a=b then
Label4.Caption:='Числа рівні'
else
if a>b then
Label4.Caption:='Більше число
'+Edit1.Text else
Label4.Caption:='Більше число '+Edit2.Text;
end;
procedure
TForm1.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Label4.Caption:=' ';
end;
end.
9.Після
запуску додатку на виконання
до рядку введення вводиться номер місяця
року – ціле число від 1 до
12. В залежності від введеного номера місяця визначається пору року або виводиться повідомлення про помилку введення, якщо введене число не входить в проміжок від 1 до
12.
unit cam9;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit1: TEdit;
Memo1: TMemo;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
label go_end;
begin
i:=StrToInt(Edit1.Text);
case i of
12,1,2:Memo1.Lines.Add('Зима');
3,4,5:Memo1.Lines.Add('Весна');
6,7,8:Memo1.Lines.Add('Літо');
9,10,11:Memo1.Lines.Add('Осінь');
else
Memo1.Lines.Add('Помилка!');
go_end:end;
end;
procedure
TForm1.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Memo1.Lines.Clear;
end;
end.
10.Тема роботи:
створення проектів з використанням циклічних операторів.
Мета роботи:
створити додаток для обчислення факторіала числа.
unit cam10;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,n:integer;
p:extended;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
p:=1;
for i:=1 to n do p:=p*i;
Label2.Caption:='n!= '+ FloatToStr(p);
end;
procedure
TForm1.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Label2.Caption:=' ';
Edit1.SetFocus;
end;
end.
11.Додаток призначений
для пошуку найбільшого елементу в цілочисельному одновимірному масиві. Для введення масиву використовується компонент StringGrid1. Після натискання на кнопку
BitBtn1 в мітку Label1 виводиться
значення максимального елементу
введеного массиву
unit Unit11;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs,
Grids, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
StringGrid1:
TStringGrid;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a:array [1..5]
of integer;
i,max:integer;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
begin
StringGrid1.SetFocus;
//введення масиву
for i:=1 to 5 do
if
Length(StringGrid1.Cells[i-1,0])<>0
then a[i]:=StrToInt(StringGrid1.Cells[i-1,0])
else a[i]:=0;
//пошук найбільшого елементу масиву
max:=a[1];
for i:=2 to 5 do
begin
if max<a[i] then max:=a[i];
end;
Label1.Caption:='Максим. елем. мас.=
'+IntToStr(max);
end;
end;
end.
13. Мета роботи:
створити додаток, який демонструє обертання Місяця навколо Землі.
nit Unit13;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Shape1: TShape;
Shape2: TShape;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x: real;
implementation
{$R *.dfm}
procedure
TForm1.Timer1Timer(Sender: TObject);
begin
x:=x+0.1;
Shape1.Left:=265+trunc(150*cos(x));
Shape1.Top:=150-trunc(150*sin(x));
end;
initialization
x:=0
end.
14.створити додаток,
який дозволяє побудувати схематичний графік функції y=sin x в діапазоні
значень x від 0 до 4π по пікселях
unit Unit14;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x, y : real; //координати функції
px, py : longint;
implementation
{$R *.dfm}
procedure
TForm1.BitBtn1Click(Sender: TObject);
begin
for px:=0 to Image1.Width do
begin
{x – координата, що відповідає пікселю з координатою px}
x:=px*4*Pi/Image1.Width;
y:=sin(x);
{py
– координата пікселя, що відповідає координаті
y}
py:=trunc(Image1.Height-(y+1)*Image1.Height/2);
{Встановлюється чорний колір обраного
пікселя, (0) яскравості}
Image1.Canvas.Pixels[px, py]:=0;
end;
end;
end.