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

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

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



оки\crt.htm);node.StateIndex = 73 then.Navigate(ProgramPath+уроки\graph.htm);node.StateIndex = 74 then.Navigate(ProgramPath+уроки\sreda_tp.htm);;TForm2.FormCreate(Sender: TObject);:=ExtractFilePath(Application.ExeName);;TForm2.TreeView1DblClick(Sender: TObject);.ShowModal;;TForm2.N8Click(Sender: TObject);

begin(Эта программа предназначена для самостоятельного изучения студентами языка Pascal, учебник содержит примеры задач, тесты, а также теорию по языку Pascal. Удачного Вам обучения!);;TForm2.N6Click(Sender: TObject);;;.

Приложение Б

Модуль: Тестовая программа

unit Unit3;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, CheckLst, ComCtrls, ToolWin;=^TQuestion;=record: String[255];:Integer;: array[0..10] of String[255];: array[0..10] of boolean;;= class(TForm): TToolBar;: TToolButton;: TToolButton;: TToolButton;: TStaticText;: TCheckListBox;: TButton;: TOpenDialog;FormShow(Sender: TObject);FormDestroy(Sender: TObject);ToolButton1Click(Sender: TObject);ToolButton2Click(Sender: TObject);Button1Click(Sender: TObject);ToolButton3Click(Sender: TObject);

{ Private declarations }:TList;, QuestionNumber, FalseNumber: Integer;: String;NextQuestion;LoadFile;

{ Public declarations };: TForm3;

{$R *.dfm}TForm3.FormShow(Sender: TObject);:=TList.Create;;TForm3.FormDestroy(Sender: TObject);.Free;;TForm3.ToolButton1Click(Sender: TObject);

//Показать окно открытия файлаnot OpenDialog1.Execute then exit;:=OpenDialog1.FileName;.Enabled:=true;;TForm3.ToolButton2Click(Sender: TObject);;:=0;:=0;.Enabled:=true;;;TForm3.LoadFile;:TFileStream;, Count:Integer;:String[5];:String[255];:PQuestion;.Clear;

//Открыть файл для чтения:=TFileStream.Create(FileName, fmOpenRead);

//Перейти в начало файла и прочитать заголовок

fs.Seek(0,soFromBeginning);.read(Str, SizeOf(Str));

//Если заголовок равен тексу "Тест", значит это "вопрос-

//варианты ответов".Str=Тест then

begin

//Прочитать имя проекта.Read(ProjectName, sizeof(ProjectName));

Caption:=ProjectName;

//Прочитать количество вопросов

fs.Read(Count, sizeof(Count));

//Запустить цикл чтения вопросовi:=0 to Count-1 do

//Создаю новую структуру в памяти для вопроса

NewQuest:=New(PQuestion);

//Читаю структуру.Read(NewQuest^, sizeof(TQuestion));

//Добавляю структуру в контейнер

QuestionList.Add(NewQuest);

end;

QuestionCheckList.Checked[i] then:=false;OK=false then(FalseNumber);.Delete(Question);QuestionNumberQuestionCheckList.Checked[i] then:=false;OK=false then(FalseNumber);.Delete(Question);QuestionNumber<5 then.MessageBox(PChar(Вы закончили тест с количеством ошибок = +IntToStr(FalseNumber)), Внимание!!!);.Enabled:=false;;;TForm3.ToolButton3Click(Sender: TObject);;;.

Приложение В

Модуль Главное окно тестового редактора.

unit MainUnit;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ComCtrls, ToolWin, ImgList, ExtCtrls;= class(TForm): TImageList;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TControlBar;: TToolBar;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TStatusBar;: TSaveDialog;: TOpenDialog;AboutButtonClick(Sender: TObject);ExitButtonClick(Sender: TObject);FormShow(Sender: TObject);NewButtonClick(Sender: TObject);SaveButtonClick(Sender: TObject);SaveAsMenuClick(Sender: TObject);OpenButtonClick(Sender: TObject);

{ Private declarations }ShowHint(Sender: TObject);SaveTest1;

{ Public declarations };: TTestEditorForm;AboutUnit, NewTestWizardUnit, QuestionResultUnit;

mrOKthenexit;NewTestForm.TestTypeBox.ItemIndex=0then:=TQuestionResultForm.Create(Owner);.ProjectName:=NewTestForm.TestNameEdit.Text;.Caption:=QuestionResultForm.Caption+:+QuestionResultForm.ProjectName;;;TTestEditorForm.SaveButtonClick(Sender:TObject);">{$R *.dfm}TTestEditorForm.AboutButtonClick(Sender: TObject);.ShowModal;;TTestEditorForm.ExitButtonClick(Sender: TObject);;;TTestEditorForm.ShowHint(Sender: TObject);.Panels.Items[0].Text := Application.Hint;;TTestEditorForm.FormShow(Sender: TObject);.OnHint := ShowHint;;TTestEditorForm.NewButtonClick(Sender: TObject);.ShowModal;NewTestForm.ModalResult<>mrOK then exit;NewTestForm.TestTypeBox.ItemIndex=0 then:=TQuestionResultForm.Create(Owner);.ProjectName:=NewTestForm.TestNameEdit.Text;.Caption:=QuestionResultForm.Caption+ : +QuestionResultForm.ProjectName;;;TTestEditorForm.SaveButtonClick(Sender: TObject);

begin

//(нет активных окон), то выход

if ActiveMDIChild=nil then exit;

//Если окно имеет имя QuestionResultForm, то это

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

//процедуру SaveTest1.ActiveMDIChild.Name=QuestionResultForm then;;TTestEditorForm.SaveTest1;:TFileStream;:Integer;:String[5];

//Если у активного окна в свойстве FileName пусто,

//то нет имени файла и нужно вызвать обработчик события

//меню "Сохранить как...", чтобы появилось окно ввода

//имени файлаTQuestionResultForm(ActiveMDIChild).FileName= then(nil);;;

//Создаю новый файл. Если он уже существовал, то его

//содержимое будет уничтожено:=TFileStream.Create(TQuestionResultForm(ActiveMDIChild).FileName, fmCreate);

//Сохраняю в начале файла текст "Тест", чтобы по нему потом

//определить к чему относиться данный файл.

Str:=Тест;.Write(Str, SizeOf(Str));

//Сохранить имя проекта.Write(TQuestionResultForm(ActiveMDIChild).ProjectName, sizeof(TQuestionResultForm(ActiveMDIChild).ProjectName));

//Сохранить количество вопросов.Write(TQuestionResultForm(ActiveMDIChild).QuestionList.Count, sizeof(TQuestionResultForm(ActiveMDIChild).QuestionList.Count));

//Запускаю цикл, в котором сохраняються все вопросы.

for i:=0 to TQuestionResultForm(ActiveMDIChild).QuestionList.Count-1 do.Write(PQuestion(TQuestionResultForm(ActiveMDIChild).QuestionList[i])^, sizeof(TQuestion));

//Закрыть файл.Free;;;TTestEditorForm.SaveAsMenuClick(Sender: TObject);SaveDialog1.Execute then(ActiveMDIChild).FileName:=SaveDialog1.FileName;(nil);;;TTestEditorForm.OpenButtonClick(Sender: TObject);:TFileStream;, Count:Integer;:String[5];:PQuestion;

//Показать окно открытия файлаnot OpenDialog1.Execute then exit;

//Открыть файл для чтения:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);

//Перейти в начало файла и прочитать заголовок

fs.Seek(0,soFromBeginning);.read(Str, SizeOf(Str));

//Если заголовок равен тексу "Тест", значит это "вопрос-

//варианты ответов".

if Str=Тест then

begin

//Создать новое окно теста:=TQuestionResultForm.Create(Owner);

//Сохранить имя открытого файла в объекте окна

QuestionResultForm.FileName:=OpenDialog1.Filename;

//Прочитать имя проекта.Read(QuestionResultForm.ProjectName, sizeof(QuestionResultForm.ProjectName));

try

//Прочитать количество вопросов

fs.Read(Count, sizeof(Count));

//Запустить цикл чтения вопросовi:=0 to Count-1 do

//Создаю новую структуру в памяти для вопроса

NewQuest:=New(PQuestion);

//Читаю структуру.Read(NewQuest^, sizeof(TQuestion));

//