Разработка учебника по изучению языка Delphi в среде программирования Delphi 5.0

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



*.DFM}. Caption:='Состояние: Воспроизведение';

case ListBox1. ItemIndex of

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\1.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\2.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\3.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\4.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\5.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\6.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\7.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\8.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\9.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\10.mid';

: ediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\11.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\12.mid';

: MediaPlayer1. FileName:=ExtractFilePath (ParamStr(0))+

'data\mid\13.mid';;. Open;. Play;:=1;;TMusikForm. SpeedButton1Click (Sender: TObject);

MusikForm. Caption:='Состояние: Остановлено';

if a=1 then.stop;.close;;TMusikForm. SpeedButton2Click (Sender: TObject);. Caption:='Состояние: Выход';;;TMusikForm. SpeedButton2MouseMove (Sender: TObject;: TShiftState; X, Y: Integer);.font.color:=clred;.font.color:=clMaroon;;TMusikForm. SpeedButton1MouseMove (Sender: TObject;: TShiftState; X, Y: Integer);.font.color:=clMaroon;;TMusikForm. Image1MouseMove (Sender: TObject; Shift:; X, Y: Integer);.font.color:=clMaroon;.font.color:=clMaroon;;TMusikForm. FormActivate (Sender: TObject);

MusikForm. Caption:='Музыкальное сопровождение';

Image1. Picture. LoadFromFile (ExtractFilePath(ParamStr(0))+

'data\img\Musik.jpg');;.

Форма О ПРОГРАММЕ

Рисунок 8 - о программе

Программный код формы О ПРОГРАММЕ

unit AbuotUnit;, Messages, SysUtils, Classes, Graphics,, Forms, Dialogs,, ExtCtrls, Buttons, jpeg;= class(TForm): TMemo;: TImage;: TSpeedButton;: TImage;SpeedButton1MouseMove (Sender:; Shift: TShiftState; X,: Integer);Image2MouseMove (Sender: TObject;: TShiftState; X,: Integer);Memo1MouseMove (Sender:; Shift: TShiftState; X,: Integer);FormActivate (Sender: TObject);SpeedButton1Click (Sender: TObject);

{Private declarations}

{Public declarations};: TAboutForm;TAboutForm. SpeedButton1MouseMove (Sender: TObject;: TShiftState; X, Y: Integer);.font.color:=clred;;TAboutForm. Image2MouseMove (Sender:; Shift: TShiftState;, Y: Integer);.font.color:=clMaroon;;TAboutForm. Memo1MouseMove (Sender: TObject; Shift:; X, Y: Integer);.font.color:=clMaroon;;TAboutForm. FormActivate (Sender: TObject);. Picture. LoadFromFile (ExtractFilePath(ParamStr(0))+

'data\img\about.jpg');;TAboutForm. SpeedButton1Click (Sender: TObject);;;.

Форма ТЕСТИРОВАНИЕ

Рисунок 9 - тестирование

Программный код формы ТЕСТИРОВАНИЕ

unit test2_;

interface, WinTypes, WinProcs, Messages,, Graphics, Controls,, Dialogs, StdCtrls, ExtCtrls, jpeg;= class(TForm): TLabel; // поле вывода вопроса1: TImage; // область вывода иллюстрации

Panel1: TPanel;

Button1: TButton;: TImage; // кнопка Ok, Дальше, ЗавершитьFormActivate (Sender: TObject);FormCreate (Sender: TObject);Button1Click (Sender: TObject);SelectorClick (Sender: TObject);

{Private declarations}

{Public declarations};

const

N_ANSWERS=4; // четыре варианта ответов}

N_LEVEL=4; // четыре уровня оценки}

var: TForm1; // форма: array [1..N_ANSWERS] of TLabel;

// альтернативные ответы: array [1..N_ANSWERS+1] of TRadioButton;

// кнопки выбора ответа

f: TextFile;

fn:string; // имя файла вопросов:array [1..N_LEVEL] of integer;

{сумма, соответствующая уровню}:array [1..N_LEVEL] of string;

{сообщение, соответствующее уровню}

score:array [1..N_ANSWERS] of integer; {очки за выбор ответа}

summa:integer; {набрано очков}

vopros:integer; {номер текущего вопроса}

n_otv:integer; {число вариантов ответа}

otv:integer; {номер выбранного ответа}

implementation

{установка формы в исходное состояние}

Procedure ResetForm (frm:TForm1);:integer;i:=1 to N_ANSWERS do[i].width:=frm. ClientWidth-answer[i].left-5;[i].Visible:=FALSE;[i].Visible:=FALSE;;. Label5.width:=frm. ClientWidth-frm. Label5.left-5;. Image1. Visible:=False;;

{определение достигнутого уровня}Itog (summa:integer; frm:TForm1);:integer;:string;:='';(summa:5, buf);:='Результаты тестирования'+chr(13)

+'Всего баллов: '+buf;

i:=1;(summa < level[i]) and (i<N_LEVEL) do:=i+1;:=buf+chr(13)+mes[i];. Label5.caption:=buf;;TForm1. FormCreate (Sender: TObject);

i: integer;

begin

// создадим пять меток для вывода вопроса и

альтернативных ответовi:=1 to N_ANSWERS do[i]:=TLabel. Create(self);[i].Parent:=Form1;[i].Left:=36;[i].WordWrap:=True;;

// создадим радиокнопки для выбора ответа

for i:=1 to N_ANSWERS+1 do

begin[i]:=TRadioButton. Create(self);[i].Parent:=self;[i].Caption:='';[i].Width:=17;[i].Left:=16;[i].Visible:=False;[i].Enabled:=True;[i].OnClick:=SelectorClick;;(Form1);

end;

{вывод начальной информации о тесте}

procedure info (var f: TextFile; l:TLabel);, buf:string;:='';(f, s);s[1] <> '.'buf:=buf+s+' ';s[1] ='.';. Label5.caption:=buf;

end;

{прочитать информацию об оценках за тест}

Procedure GetLevel (var f: TextFile);:integer;:string; {заполняем значения глобальных массивов}

i:=1;(f, buf);buf[1] <> '.' then begin[i]:=buf;(f, level[i]);:=i+1;;buf[1]='.';;

// масштабирование иллюстрацииScalePicture;

w, h:integer; // максимально допустимые размеры картинки

scaleX:real; // коэф. масштабирования по X

scaleY:real; // коэф. масштабирования по Y

scale:real; // общий коэф. масштабирования

i:integer;

begin

// вычислить максимально допустимые размеры картинки

w:=Form1. ClientWidth-Form1. Label5. Left;:=Form1. ClientHeight

Form1. Panel1. Height -5

Form1. Label5. Top

Form1. Label5. Height - 5;i:=1 to N_ANSWERS doanswer[i].Caption <> ''h:=h-answer[i].Height-5;

// здесь определена маскимально допустимая

величина иллюстрации

// определить масштаб

if w>Form1. Image1. Picture. WidthscaleX:=1scaleX:=w/Form1. Image1. Picture. Width;h>Form1. Image1. Picture. HeightscaleY:=1scaleY:=h/Form1. Image1. Picture. Height;ScaleY<ScaleXscale:=scaleYscale:=scaleX;

// здесь масштаб определен. Image1. Top:=Form1. Label5. Top+Form1. Label5. Height+5;. Image1. Left:=Form1. Label5. Left;. Image1. Width:=Round (Form1. Image1. Picture. Width*scale);. Image1. Height:=Round (Form1. Image1. Picture. Height*scale);. Label5. Visible:=TRUE;

end;

// вывод вопроса на экран

Procedure VoprosToScr (var f: TextFile; frm:TForm1;vopros:integer);:integer;:integer;, buf:string;:string; // файл иллюстрации:=vopros+1;(vopros:3, s);.caption:='Вопрос' + s;

{Выведем текст вопроса}

buf:='';

repeat(f, s);(s[1] '\')buf:=buf+s+' ';(s[1] ='.') or (s[1] ='\');. Label5.caption:=buf;s[1] = '\' // к вопросу есть иллюстрация

begin

frm. Image1. Tag:=1;:=copy (s, 2, length(s));. Image1. Picture. LoadFromFile(ifn);E:EFOpenError do.tag:=0;{try}frm. Image1. Tag:=0;

// Читаем варианты ответовi:=1 to N_ANSWERS do[i].caption:='';[i].Width:=frm. ClientWidth-Form1. Label5. Left-5;;:=1;:=''; // читаем текст варианта ответа

readln (f, s);

if (s[1] ', ')buf:=buf+s+' ';(s[1]=', ') or (s[1]='.');

// прочитан альтернативный ответ

val (s[2], score[i], code);

answer[i].caption:=buf;:=i+1; s[1]='.';

// здесь прочитана иллюстрация и альтернативные ответы

if Form1. Image1. Tag =1 // есть иллюстрация к вопросу?

then begin;. Image1. Visible:=TRUE;

end;

// вывод альтернативных ответов

i:=1;(answer[i].caption <> ) and (i <= N_ANSWERS) doi = 1frm. Image1. Tag =