Delphi визуалды программалау ортасы


Пайдаланылған әдебиеттер мен дереккөздер



жүктеу 1,5 Mb.
бет94/94
Дата03.02.2022
өлшемі1,5 Mb.
#35447
1   ...   86   87   88   89   90   91   92   93   94
Delphi визуалды программалау жүйесі

Пайдаланылған әдебиеттер мен дереккөздер.
1. Programmers.kz сайтының материалдары.

2. Delphi-manual.ru сайтының материалдары.

3. Симонович С.В., Евсеев Г.А. Занимательное программирование: Delphi. –M.: АСТ-ПРЕСС КНИГА: Инфорком – Пресс, 2001.

4. Культин Н.Б. Delphi в задачах и примерах. - СПб.: БХВ – Петербург, 2005.

5. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. –СПб.: Питер, 2003.

6. Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2005.

7. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi.- СПб.: БХВ – Петербург, 2005.

8. Кузнецова И.А. Практикум по Delphi для решения прикладных задач. - Н.Новгород: ННГУ, 2005.

29. Тестілеу бағдарламасы

Жұмыстың мақсаты – тестілеу бағдарламасын құру.

1. Ол үшін жаңа жоба ашып, сол Пішінге қажетті компоненттерді орналастырыңыз.

2. Төменде келтірілген бағдарламаны пайдаланып, сол компоненттердің оқиғалары мен қасиеттерін өңдеп, жұмыс мақсатына жеткізетін әрекеттерді орындаңыз.
{ Тестілеудің әмбебап бағдарламасы

(с) Культин Н.Б., 2003 }

unit tester_;

interface


uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, ExtCtrls,

jpeg;
type

TForm1 = class(TForm)

Label5: TLabel; // сұрақ


Label1: TLabel; // балама жауаптар

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;


RadioButton1: TRadioButton; // жауапты таңдау радио батырмалары

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;


Image1: TImage; // кескін шығару аймағы

Button1: TButton;

Panel1: TPanel;

RadioButton5: TRadioButton;


procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure RadioButtonClick(Sender: TObject);
// Бұл хабарландырулар қолдан қойылған

procedure Info;

procedure SurakToScr;

procedure ShowPicture; // кескін шығарушы

procedure ResetForm; // кезекті сұрақты шығару алдында пішінді //«тазарту»

procedure Kortyndy;

procedure FormCreate(Sender: TObject); // тестілеу нәтижесі
private

{ Private declarations }

public

{ Public declarations }



end;
var

Form1: TForm1; // Пішін


implementation

{$R *.DFM}

const

N_LEV=4; // бағалаудың төрт деңгейі



N_ANS=4; // жауаптардың төрт нұсқасы
var

f:TextFile;

fn:string; // сұрақтар файлының аты
level:array[1..N_LEV] of integer; // деңгейге сәйкес келетін ұпай mes:array[1..N_LEV] of string; // деңгейге сәйкес келетін //хабарлама
score:array[1..N_ANS] of integer; // жауапты таңдағаны үшін баға

summa:integer; // жиналған ұпай

surak:integer; // ағымдағы сұрақ нөмірі

jauap:integer; // таңдалған жауап нөмірі


procedure Tform1.Info; // тест жайлы хабарлама шығару

var


s,buf:string;

begin


readln(f,s);

Form1.Caption := s;

buf:='';

repeat


readln(f,s);

if s[1] <> '.'

then buf := buf +s + #13;

until s[1] ='.';

Label5.caption:=buf;

end;
Procedure GetLevel; // тесттен алған бағаң жайлы хабарламаны оқу

var

i:integer;



buf:string;

begin


i:=1;

repeat


readln(f,buf);

if buf[1] <> '.' then begin

mes[i]:=buf; // хабарлама

readln(f,level[i]); // баға

i:=i+1;

end;


until buf[1]='.';

end;
Procedure TForm1.ShowPicture; // кескінді масштабтау

var

w,h: integer; // суреттің мүмкін болған ең үлкен өлшемі



begin

// суреттің мүмкіндігі бар өлшемін есептеу

w:=ClientWidth-10;

h:=ClientHeight

- Panel1.Height -10

- Label5.Top

- Label5.Height - 10;
if Label1.Caption <> '' // сұрақтар

then h:=h-Label1.Height-10;

if Label2.Caption <> ''

then h:=h-Label2.Height-10;

if Label3.Caption <> ''

then h:=h-Label3.Height-10;

if Label4.Caption <> ''

then h:=h-Label4.Height-10;


// егер сурет өлшемі w-дан h-қа кем болса, онда ол //масштабталмайды Image1.Top:=Form1.Label5.Top+Label5.Height+10;

if Image1.Picture.Bitmap.Height > h

then Image1.Height:=h

else Image1.Height:= Image1.Picture.Height;

if Image1.Picture.Bitmap.Width > w

then Image1.Width:=w

else Image1.Width:=Image1.Picture.Width;
Image1.Visible := True;

end;
Procedure TForm1.SurakToScr; // сұрақты шығару

var

i:integer;



s,buf:string;

ifn:string; // кескін файлы

begin

surak:=surak+1;



caption:='Сұрақ ' + IntToStr(surak);

// сұрақты оқу

buf:='';

repeat


readln(f,s);

if (s[1] <> '.') and (s[1] <> '\')

then buf:=buf+s+' ';

until (s[1] ='.') or (s[1] ='\');

Label5.caption:=buf; // сұрақты шығару
{Иллюстрацияны оқиық, бірақ оны баламалы жауаптарды оқып және шығару үшін қолданатын пішін өлшемінің ең үлкен мөлшерін анықтап болған соң ғана шығарамыз}

if s[1] <> '\'

then Image1.Tag:=0 // сұраққа сәйкес кескін жоқ

else // сұраққа сәйкес кескін бар

begin

Image1.Tag:=1;



ifn:=copy(s,2,length(s));

try


Image1.Picture.LoadFromFile(ifn);

except


on E:EFOpenError do

Image1.Tag:=0;

end;

end;
// Жауап нұсқаларын оқу



i:=1;

repeat


buf:='';

repeat // жауап нұсқасының мәтінін оқу

readln(f,s);

if (s[1]<>'.') and (s[1] <> ',')

then buf:=buf+s+' ';

until (s[1]=',')or(s[1]='.');

// балама жауап оқылды

score[i]:= StrToInt(s[2]);

case i of

1: Label1.caption:=buf;

2: Label2.caption:=buf;

3: Label3.caption:=buf;

4: Label4.caption:=buf;

end;


i:=i+1;

until s[1]='.';

// мұнда кескіндер мен балама жауаптар оқылды
// сұрақ мәтіні шығарылған

if Image1.Tag =1 // сұраққа сәйкес кескін бар

then ShowPicture;
// балама жауаптарды шығару

if Form1.Label1.Caption <> ''

then begin

if Form1.Image1.Tag =1

then Label1.top:=Image1.Top+Image1.Height+10

else Label1.top:=Label5.Top+Label5.Height+10;

RadioButton1.top:=Label1.top;

Label1.visible:=TRUE;

RadioButton1.visible:=TRUE;

end;
if Form1.Label2.Caption <> ''

then begin

Label2.top:=Label1.top+ Label1.height+10;

RadioButton2.top:=Label2.top;

Label2.visible:=TRUE;

RadioButton2.visible:=TRUE;

end;
if Form1.Label3.Caption <> ''

then begin

Label3.top:=Label2.top+ Label2.height+10;

RadioButton3.top:=Label3.top;

Label3.visible:=TRUE;

RadioButton3.visible:=TRUE;

end;
if Form1.Label4.Caption <> ''

then begin

Label4.top:=Label3.top+ Label3.height+10;

RadioButton4.top:=Label4.top;

Label4.visible:=TRUE;

RadioButton4.visible:=TRUE;

end;


end;
Procedure TForm1.ResetForm;

begin // барлық белгілер мен радио батырмаларды көрінбейтін ету


Label1.Visible:=FALSE;

Label1.caption:='';

Label1.width:=ClientWidth-Label1.left-5;

RadioButton1.Visible:=FALSE;


Label2.Visible:=FALSE;

Label2.caption:='';

Label2.width:=ClientWidth-Label2.left-5;

RadioButton2.Visible:=FALSE;


Label3.Visible:=FALSE;

Label3.caption:='';

Label3.width:=ClientWidth-Label3.left-5;

RadioButton3.Visible:=FALSE;


Label4.Visible:=FALSE;

Label4.caption:='';

Label4.width:=ClientWidth-Label4.left-5;

RadioButton4.Visible:=FALSE;


Label5.width:=ClientWidth-Label5.left-5;
Image1.Visible:=FALSE;

end;
// жеткен деңгейін анықтау

procedure TForm1.Kortyndy;

var


i:integer;

buf:string;

begin

buf:='';


buf:='Тестілеу нәтижесі'+ #13

+'Барлық ұпайыңыз: '+ IntToStr(summa);

i:=1;

while (summa < level[i]) and (i

i:=i+1;

buf:=buf+ #13+mes[i];

Label5.Top:=20;

Label5.caption:=buf;

end;
procedure TForm1.FormActivate(Sender: TObject);

begin


ResetForm;

if ParamCount = 0

then begin

Label5.caption:= 'Тест сұрақтарының файлы берілмеген.';

Button1.caption:='Ok';

Button1.tag:=2;

Button1.Enabled:=TRUE

end


else begin

fn := ParamStr(1);

assignfile(f,fn);

try


reset(f);

except


on EFOpenError do

begin


ShowMessage('Тест файлы '+fn+' табылған жоқ.');

Button1.caption:='Ok';

Button1.tag:=2;

Button1.Enabled:=TRUE;

exit;

end;


end;

Info; // тест жайлы хабарламаны оқу және шығару

GetLevel; // бағалаудың деңгейі жайлы хабарламаны оқу

end;


end;
// Button1 батырмасын шерту

procedure TForm1.Button1Click(Sender: TObject);

begin

case Button1.tag of



0: begin

Button1.caption:='Әрі қарай';

Button1.tag:=1;

RadioButton5.Checked:=TRUE;

// бірінші сұрақты шығару

Button1.Enabled:=False;

ResetForm;

SurakToScr;

end;

1: begin // басқа сұрақтарды шығару



summa:=summa+score[jauap];

RadioButton5.Checked:=TRUE;

Button1.Enabled:=False;

ResetForm;

if not eof(f)

then SurakToScr

else

begin


summa:=summa+score[otv];

closefile(f);

Button1.caption:='Ok';

Form1.caption:='Нәтижесі';

Button1.tag:=2;

Button1.Enabled:=TRUE;

Kortyndy; // нәтижені шығару

end;


end;

2: begin // жұмысты аяқтау

Form1.Close;

end;


end;

end;


// RadioButton1-RadioButton4 компоненттері үшін OnClick оқиғасын //өңдеу проуцедурасы

procedure TForm1.RadioButtonClick(Sender: TObject);

begin

if sender = RadioButton1



then jauap:=1

else if sender = RadioButton1

then jauap:=2

else if sender = RadioButton3

then jauap:=3

else jauap:=4;

Button1.enabled:=TRUE;

end;
// компоненттерді баптауды қамтамасыз етеді

procedure TForm1.FormCreate(Sender: TObject);

begin


Image1.AutoSize := False;

Image1.Proportional := True;

RadioButton1.Visible := False;

end;


end.



жүктеу 1,5 Mb.

Достарыңызбен бөлісу:
1   ...   86   87   88   89   90   91   92   93   94




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау