Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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; Прочитано: 384 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...