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

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

Private

Private - раздел Информатика, Собственные программы ScreenSaver и закрепим максимум из пройдённого материала на полезных в реальной жизни примерах { Private Declarations } Questionlist:tlist...

{ Private declarations }

QuestionList:TList;

Question, QuestionNumber, FalseNumber:Integer; FileName:String;

Разберём, для чего нужны эти переменные:

QuestionList – здесь будет храниться список вопросов, как и у редактора вопросов.

Question – будет отображать текущий вопрос, на который отвечает испытуемый.

QuestionNumber – здесь мы будем хранить количество вопросов, на которые уже даны ответы. Нам же надо иметь счётчик, после которого тест должен закончиться.

FalseNumber – количество неправильных ответов.

Теперь создадим обработчик события OnShow для главной формы. В этом обработчике нужно инициализировать список QuestionList:

procedure TTestForm.FormShow(Sender: TObject); begin QuestionList:=TList.Create; end;

По событию OnDestroy мы должны уничтожить этот объект:

procedure TTestForm.FormDestroy(Sender: TObject); begin QuestionList.Free; end;

Теперь для кнопки открытия пишем следующий код:

 

procedure TTestForm.OpenButtonClick(Sender: TObject);

begin //Показать окно открытия файла if not OpenDialog1.Execute then exit; FileName:=OpenDialog1.Filename; RunButton.Enabled:=true;

end;

В первой строке я отображаю окно открытия файла. Если пользователь нажал на кнопку «Отмена», то происходит выход из процедуры. Иначе, в переменной FileName сохраняется имя выбранного файла. В принципе, этого можно было и не делать, потому что имя файла хоть как останется в свойстве OpenDialog1.Filename, но я всё же завёл отдельную переменную, и буду хранить имя файла там.

В последней строке я делаю кнопку «Запустить» RunButton доступной. Кстати, на форме эта кнопка должна быть не доступной, чтобы при старте программы, пользователь не мог нажать кнопку «Запустить», пока не выберет файл.

Теперь пишем обработчик события OnClick для кнопки «Запустить»:

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

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

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

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Private

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

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

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

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

If NewTestForm.TestTypeBox.ItemIndex=0 then
begin QuestionResultForm:=TQuestionResultForm.Create(Owner); QuestionResultForm.ProjectName:=NewTestForm.TestNameEdit.Text; QuestionResultForm.Caption:=QuestionResultForm.Caption+' : '

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;

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

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