Разработка учебника по изучению языка 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 =