рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

If NewTestForm.TestTypeBox.ItemIndex=0 then

If NewTestForm.TestTypeBox.ItemIndex=0 then - раздел Информатика, Собственные программы ScreenSaver и закрепим максимум из пройдённого материала на полезных в реальной жизни примерах Begin Questionresultform:=Tquestionresultform.create(Owner); Question...

begin QuestionResultForm:=TQuestionResultForm.Create(Owner); QuestionResultForm.ProjectName:=NewTestForm.TestNameEdit.Text; QuestionResultForm.Caption:=QuestionResultForm.Caption+' : '

+QuestionResultForm.ProjectName; end; end;

Здесь в первой строке я показываю окно создания нового проекта. Если пользователь выбрал первый тип теста «Вопрос -варианты ответа» (в моей книге он будет описан как единственный), то создаётся окно, в котором мы создаём вопросы. Потом я сохраняю имя выбранного проекта и изменяю заголовок окна.

Обработчики события кнопок «Редактировать» и «Удалить» вопросы я расписывать не буду, а только приведу их код с комментариями. Ты уже должен разобраться с этим кодом:

procedure TQuestionResultForm.EditButtonClick(Sender: TObject); var i:Integer;

begin //Здесь QuestionTreeView.Selected указывает на выделенный элемент //в дереве. Если он равен nil, то ничего не выделено, и нужно выйти if QuestionTreeView.Selected=nil then exit;

//Заполняю компонент QuestionEdit в окне редактирования вопросов
EditQuestionForm.QuestionEdit.Text:=PQuestion(QuestionTreeView.Selected.Data).Name;

//Очищаю список вариантов ответов в окне редактирования вопросов
EditQuestionForm.ResultListBox.Clear;
for i:=0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do

begin
//Заполняю список вариантов ответов в окне редактирования вопросов
EditQuestionForm.ResultListBox.Items.Add(

PQuestion(QuestionTreeView.Selected.Data).ResiltText[i]);

//Если ответ верный, то ставлю галочку
if PQuestion(QuestionTreeView.Selected.Data).ResiltValue[i]=true then
EditQuestionForm.ResultListBox.Checked[i]:=true;
end;

//Отображаю окно редактирования вопроса
EditQuestionForm.ShowModal;
if EditQuestionForm.ModalResult<>mrOK then exit;

//Записываю информацию обратно в структуру PQuestion(QuestionTreeView.Selected.Data).Name:=EditQuestionForm.QuestionEdit.Text; PQuestion(QuestionTreeView.Selected.Data).ResultCount:=

EditQuestionForm.ResultListBox.Items.Count; for i:= 0 to PQuestion(QuestionTreeView.Selected.Data).ResultCount-1 do begin PQuestion(QuestionTreeView.Selected.Data).ResiltText[i]:= EditQuestionForm.ResultListBox.Items.Strings[i]; PQuestion(QuestionTreeView.Selected.Data).ResiltValue[i]:=

EditQuestionForm.ResultListBox.Checked[i];
end;

//Вызываю процедуру QuestionTreeViewChange, которая должна обновить //информацию в ResultView. Первый параметр нас не интересует, а второй //мы обязаны указать, потому что внутри процедуры QuestionTreeViewChange //мы используем его. Я указываю выделенный элемент. QuestionTreeViewChange(nil, QuestionTreeView.Selected);

end;

Единственное, что я здесь хочу отметить, так это то, что здесь я обращаюсь к структуре связанной с элементом через свойство Data выделенного элемента. Как я уже говорил, там храниться указатель на структуру. То же самое можно было бы делать, обращаясь через контейнер, просто в данном случае это будет не так удобно. Но всё же это возможно и на всякий случай я приведу пример, как можно обратиться к свойству Name:

– Конец работы –

Эта тема принадлежит разделу:

Собственные программы ScreenSaver и закрепим максимум из пройдённого материала на полезных в реальной жизни примерах

Глава Сплошная практика...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: If NewTestForm.TestTypeBox.ItemIndex=0 then

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Procedure TForm1.FormCreate(Sender: TObject); begin BGbitmap:=TBitmap.Create;//Инициализация
// Выставляем размеры картинки как у экрана BGbitmap.Width := Screen.Width; BGbitmap.Height := Screen.Height; DC := GetDC (0); Backgr

Procedure TForm1.FormCreate(Sender: TObject); begin BGbitmap:=TBitmap.Create;//Инициализация
// Выставляем размеры картинки как у экрана BGbitmap.Width := Screen.Width; BGbitmap.Height := Screen.Height; DC := GetDC (0); Backgr

TempPanel.Width:=20; //Устанавливаю ширину TempPanel.Height:=20; //Устанавливаю высоту
//Далее устанавливаю обработчик нажатия на эту панель TempPanel.OnMouseDown:=PanelMouseDown; //Добавляю панель в контейнер CompList (CompList.Add) //

If Button=mbRight then
begin index:=TPanel(Sender).Tag; TPanel(CompList.Items[index]).Free; CompList.Delete(index); for i:=index to CompList.Count -1 do TPanel(Co

Procedure TTestEditorForm.ShowHint(Sender: TObject); begin
StatusBar.Panels.Items[0].Text := Application.Hint; end; Здесь я отображаю текст текущей подсказки, который находиться в свойстве Hint объекта Application на

Procedure TTestEditorForm.ShowHint(Sender: TObject); begin
StatusBar.Panels.Items[0].Text := Application.Hint; end; Здесь я отображаю текст текущей подсказки, который находиться в свойстве Hint объекта Application на

Добавляю новый элемент в дерево вопросов with QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin ImageIndex:=0; Data:=NewQuest; end; end; В самом начале я очищаю элементы управления окна EditQuestionForm. Потом

Запускаю цикл, по которому заполняются данные списка for i:=0 to PQuestion(node.Data).ResultCount-1 do with ResultView.Items.Add do
begin Caption:=PQuestion(node.Data).ResiltText[i]; if PQuestion(node.Data).ResiltValue[i]=true then begin SubItems.Add('Да'); ImageInd

PQuestion(QuestionList[QuestionTreeView.Selected.Index]).Name
Здесь я использую контейнер QuestionList. В квадратных скобках у него я указываю индекс элемента из контейнера, который мне нужен. Здесь я указываю индекс выделенного в дереве элемента Qu

Procedure TTestEditorForm.SaveAsMenuClick(Sender: TObject); begin if SaveDialog1.Execute then
begin TQuestionResultForm(ActiveMDIChild).FileName:=SaveDialog1.FileName; SaveButtonClick(nil); end; end; Здесь я отображаю окно выбора имени фай

Создаю новый элемент в дереве with QuestionResultForm.QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin ImageIndex:=0; Data:=NewQuest; end; end; finally //Закрываю файл fs.Free;

Private
{ Private declarations } QuestionList:TList; Question, QuestionNumber, FalseNumber:Integer; FileName:String; Разберём,

Procedure TTestForm.RunButtonClick(Sender: TObject); begin
LoadFile; QuestionNumber:=0; FalseNumber:=0; NextButton.Enabled:=true; NextQuestion;

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги