![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
ResultListBox.Items.Add(Str); end;
Здесь я объявил одну строковую переменную. В первой строке кода ей присваивается пустая строка. Затем я отображаю на экране стандартный диалог ввода текстовой строки с помощью функции InputQuery. На рисунке 25.3.6 ты можешь видеть пример такого окна. У этой функции три параметра:
1. 1. Текст, который будет отображаться в заголовке окна.
2. 2. Текст, который будет отображаться в окне, рядом со строкой ввода.
3. 3. Строковая переменная, через которую мы можем передать значение по умолчанию и получить результат ввода.
Если функция возвращает true, то пользователь после ввода нажал кнопку ОК, и в этом случае я добавляю введённый текст в список ответов ResultListBox.
По нажатию кнопки «Удалить» я пишу следующий код:
procedure TEditQuestionForm.SpeedButton1Click(Sender: TObject); begin if ResultListBox.ItemIndex<>-1 then ResultListBox.Items.Delete(ResultListBox.ItemIndex); end;
В первой строчке кода я проверяю свойство ItemIndex, которое указывает на выделенный элемент в списке. Если оно не равно –1, значит, в списке есть выделенный элемент, и я его должен удалить. Для этого я выполняю ResultListBox.Items.Delete указывая в качестве параметра выделенную строку.
Теперь вернёмся к нашему окну QuestionResultForm. Здесь создадим обработчик события OnClick для кнопки создания нового вопроса:
procedure TQuestionResultForm.NewButtonClick(Sender: TObject);
var
NewQuest:PQuestion;
i:Integer;
begin
// Очищаю содержимое окна EditQuestionForm
EditQuestionForm.ResultListBox.Items.Clear;
EditQuestionForm.QuestionEdit.Text:='';
// Отображаю окно на экране
EditQuestionForm.ShowModal;
if EditQuestionForm.ModalResult<>mrOK then exit;
// Создаю в памяти новую структуру
NewQuest:=New(PQuestion);
NewQuest.Name:=EditQuestionForm.QuestionEdit.Text;
NewQuest.ResultCount:=EditQuestionForm.ResultListBox.Items.Count;
// Добавляю в структуру варианты ответов for i:= 0 to NewQuest.ResultCount-1 do
begin NewQuest.ResiltText[i]:=EditQuestionForm.ResultListBox.Items.Strings[i]; NewQuest.ResiltValue[i]:=EditQuestionForm.ResultListBox.Checked[i];
end; QuestionList.Add(NewQuest);
Дата публикования: 2014-11-04; Прочитано: 385 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!