Таким чином, Windows-програми значно тісніше зв'язані з операційною системою, чим програми, що працюють у DOS.
Програма-тест
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Button2: TButton;
Button3: TButton;
Memo2: TMemo;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Var
k,km,m : Integer;
Sk,Skm : String;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Memo1.ReadOnly := True;
Memo2.ReadOnly := True;
Edit2.ReadOnly := True;
Edit3.ReadOnly := True;
k := 1;
m := 0;
Label3.Caption := '';
Label3.Caption := 'Основні елементи програми:';
Memo1.Lines.Add('1. Дійсні');
Memo1.Lines.Add('2. Цілочисельні');
Memo1.Lines.Add('3. Літерні');
Memo1.Lines.Add('4. Оператори, ключові слова, директиви компілятору');
Memo1.Lines.Add('5. Логічні');
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
i : Integer;
Si : String;
begin
Si := Edit1.Text;
i := StrToInt(Si);
Case k of
1: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
2: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
3: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
4: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
end;
5: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
6: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
7: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
8: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
9: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
10: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
11: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
12: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
13: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
end;
14: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
4: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
15: Case I of
1: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
2: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
3: Begin
Memo2.Lines.Add (' Відповідь вірна');
m := m + 1;
End;
4: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
5: Begin
Memo2.Lines.Add (' Відповідь не вірна');
Memo2.Lines.Add ('Опрацюйте матеріал спочатку');
End;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
Edit1.Clear;
Label3.Caption := '';
k := k + 1;
Case k of
2: Begin
Label3.Caption := 'З чого складається програма ?';
Memo1.Lines.Add('1. StringAnsi');
Memo1.Lines.Add('2. StringShort');
Memo1.Lines.Add('3. З основної частини і декількох модулів');
Memo1.Lines.Add('4. Short');
Memo1.Lines.Add('5. WideShort');
End;
3: Begin
Label3.Caption := 'Яким ключовим словом починається заголовок програми?';
Memo1.Lines.Add('1. Статистичні і динамічні');
Memo1.Lines.Add('2. Формальні і статичні');
Memo1.Lines.Add('3. Типові і динамічні');
Memo1.Lines.Add('4. Program');
Memo1.Lines.Add('5. Логічні і формальні');
End;
4: Begin
Label3.Caption := 'Чим починається і закінчується розділ опису логіки програми?';
Memo1.Lines.Add('1. Об'+'"'+'єднання множин : +');
Memo1.Lines.Add('2. Пересічення множин : *');
Memo1.Lines.Add('3. Еквівалентність : =');
Memo1.Lines.Add('4. Перевірка входження : <=');
Memo1.Lines.Add('5. Begin..End.');
End;
5: Begin
Label3.Caption := 'Який розділ програми є обовязковим?';
Memo1.Lines.Add('1. нефіксованої кількісті різних типів');
Memo1.Lines.Add('2. фіксованої кількісті тільки однакових типів');