Создание электронно-обучающего пособия по программированию

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

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



?обавляю структуру в контейнер.QuestionList.Add(NewQuest);

//Создаю новый элемент в деревеQuestionResultForm.QuestionTreeView.Items.Add(nil, NewQuest.Name) do:=0;:=NewQuest;;;

//Закрываю файл.Free;;;;.

Приложение Г

Модуль создания нового теста

unit NewTestWizardUnit;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls;= class(TForm): TPanel;: TLabel;: TLabel;: TImage;: TBevel;: TLabel;: TEdit;: TButton;: TButton;: TLabel;: TComboBox;FormShow(Sender: TObject);

{ Private declarations }

{ Public declarations };: TNewTestForm;

{$R *.dfm}TNewTestForm.FormShow(Sender: TObject);.Picture.Bitmap.LoadFromFile(ExtractFilePath(Application.ExeName)+logo.bmp);;

end.

Приложение Д

Модуль создания вопросов и ответов.

unit QuestionResultUnit;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, ComCtrls, ToolWin, ImgList;=^TQuestion;=record: String[255];:Integer;: array[0..10] of String[255];: array[0..10] of boolean;;= class(TForm): TTreeView;: TListView;: TSplitter;: TToolBar;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TImageList;FormClose(Sender: TObject; var Action: TCloseAction);CloseButtonClick(Sender: TObject);NewButtonClick(Sender: TObject);FormShow(Sender: TObject);QuestionTreeViewChange(Sender: TObject; Node: TTreeNode);EditButtonClick(Sender: TObject);DeleteButtonClick(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations }:String[255];:String;:TList;;: TQuestionResultForm;MainUnit, EditQuestionUnit;

mrOKthenexit;:=New(PQuestion);.Name:=EditQuestionForm.QuestionEdit.Text;.ResultCount:=EditQuestionForm.ResultListBox.Items.Count;i:=0toNewQuest.ResultCount-1do.ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];.ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];;.Add(NewQuest);QuestionTreeView.Items.Add(nil,NewQuest.Name)do:=0;:=NewQuest;;;TQuestionResultForm.QuestionTreeViewChange(Sender:TObject;:TTreeNode);:Integer;.Items.Clear;Node=nilthenexit;i:=0toPQuestion(node.Data).ResultCount-1doResultView.Items.Adddo:=PQuestion(node.Data).ResiltText[i];PQuestion(node.Data).ResiltValue[i]=truethen.Add();:=2;.Add();:=1;;;;TQuestionResultForm.EditButtonClick(Sender:TObject);:Integer;QuestionTreeView.Selected=nilthenexit;">{$R *.dfm}TQuestionResultForm.FormClose(Sender: TObject;Action: TCloseAction);.Free;:=caFree;:=nil;;TQuestionResultForm.CloseButtonClick(Sender: TObject);;;TQuestionResultForm.FormShow(Sender: TObject);:=TList.Create;;TQuestionResultForm.NewButtonClick(Sender: TObject);:PQuestion;:Integer;.ResultListBox.Items.Clear;.QuestionEdit.Text:=;.ShowModal;EditQuestionForm.ModalResult<>mrOK then exit;:=New(PQuestion);.Name:=EditQuestionForm.QuestionEdit.Text;.ResultCount:=EditQuestionForm.ResultListBox.Items.Count;i:= 0 to NewQuest.ResultCount-1 do.ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];.ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];;.Add(NewQuest);QuestionTreeView.Items.Add(nil, NewQuest.Name) do:=0;:=NewQuest;;;TQuestionResultForm.QuestionTreeViewChange(Sender: TObject;: TTreeNode);:Integer;.Items.Clear;Node=nil then exit;i:=0 to PQuestion(node.Data).ResultCount-1 doResultView.Items.Add do:=PQuestion(node.Data).ResiltText[i];PQuestion(node.Data).ResiltValue[i]=true then.Add(Да);:=2;.Add(Нет);:=1;;;;TQuestionResultForm.EditButtonClick(Sender: TObject);:Integer;QuestionTreeView.Selected=nil then exit;

//Заполняю компонент QuestionEdit в окне редактирования вопросов

EditQuestionForm.QuestionEdit.Text:=PQuestion(QuestionTreeView.Selected.Data).Name;

//Очищаю список вариантов ответов в окне редактирования вопросов

EditQuestionForm.ResultListBox.Clear;i:=0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do

//Заполняю список вариантов ответов в окне редактирования вопросов

EditQuestionForm.ResultListBox.Items.Add(PQuestion(QuestionTreeView.Selected.Data).ResiltText[i]);

//Если ответ верный, то ставлю галочку

if PQuestion(QuestionTreeView.Selected.Data).ResiltValue[i]=true then.ResultListBox.Checked[i]:=true;;

mrOK then exit;(QuestionTreeView.Selected.Data).Name:=EditQuestionForm.QuestionEdit.Text;(QuestionTreeView.Selected.Data).ResultCount:=EditQuestionForm.ResultListBox.Items.Count;i:= 0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do(QuestionTreeView.Selected.Data).ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];(QuestionTreeView.Selected.Data).ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];">//Отображаю окно редактирования вопроса.ShowModal;EditQuestionForm.ModalResult<>mrOK then exit;(QuestionTreeView.Selected.Data).Name:=EditQuestionForm.QuestionEdit.Text;(QuestionTreeView.Selected.Data).ResultCount:=EditQuestionForm.ResultListBox.Items.Count;i:= 0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do(QuestionTreeView.Selected.Data).ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i];(QuestionTreeView.Selected.Data).ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];

end;

//Вызываю процедуру QuestionTreeViewChange, которая должна обновить

//информацию в ResultView. Первый параметр нас не интересует, а второй

//мы обязаны указать потому что внутри процедуры QuestionTreeViewChange

//мы используем его. Я указываю выделенный элемент.

QuestionTreeViewChange(nil, QuestionTreeView.Selected);;TQuestionResultForm.DeleteButtonClick(Sender: TObject);:Integer;QuestionTreeView.Selected=nil then exit;

//Подтверждение удаленияApplication.MessageBox(PChar(Вы действительно хотите удалить - +

idOkthenExit;">QuestionTreeView.Selected.Text),Внимание!!!, MB_OKCANCEL+MB_ICONINFORMATION)<>idOk then Exit;

//Сохраняю индекс выделенного элемента:=QuestionTreeView.Selected.Index;

//Удаляю выделенный элемент из дерева.Items.Delete(QuestionTreeView.Selected);

//Удаляю из контейнера.Delete(Index);;TQuestionResultForm.FormCreate(Sender: TObject);:=;;.

Приложение Е

Модуль редактирования тестаEditQuestionUnit;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, CheckLst, Buttons;= class(TForm): TPanel;: TImage;: TButton;: TButton;: TCheckListBox;: TLabel;: TEdit;: TLabel;: TSpeedButton;: TSpeedButton;FormShow(Sender: TObject);NewResultButtonClick(Sender: TObject);SpeedButton1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TEditQuestionForm;

{$R *.dfm}TEditQuestionForm.FormShow(Sender: TObject);.Picture.Bitmap.LoadFromFile(ExtractFilePath(Application.ExeName)+logo.bmp);;TEditQuestionForm.NewResultButtonClick(Sender: TObject);:String;:=;

if InputQuery(Новый ответ, Введите текст ответа:, Str) then

-1then.Items.Delete(ResultListBox.ItemIndex);;.">ResultListBox.Items.Add(Str);;TEditQuestionForm.SpeedButton1Click(Sender: TObject);ResultListBox.ItemIndex<>-1 then.Items.Delete(ResultListBox.ItemIndex);;.