ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Использование форм для ввода и редактирования информацииВ реализованном ранее приложении с таблицей текстовых строк ввод новых данных и изменение существующих данных выполняется непосредственно в самой таблице. Такой способ не всегда бывает удобным и чаще заменяется использованием вспомогательных форм. Сама таблица используется только для просмотра или поиска необходимых записей. Преимущества такого подхода:
Задание. Изменить приложение работы с таблицей строк так, чтобы любые данные вносились в таблицу только с помощью вспомогательной формы. Естественно, это касается только двух действий с таблицей: добавление новой строки и изменение данных в текущей строке. В проект надо внести следующие изменения:
Порядок действия.
· можно сгруппировать любое число компонентов вместе, выделяя их мышью при нажатой клавише Shift · сгруппированные компоненты можно целиком переместить в другое место формы, захватив один из них мышью (аналогично групповым операциям с файлами) · сгруппированные компоненты можно выровнять друг относительно друга, если щелкнуть на одном из них правой кнопкой мыши и в контекстном меню выбрать команду Position / Align, а далее – Horizontal или Vertical и один из режимов (в форме изменения данных все текстовые надписи у элементов ввода надо сгруппировать и выровнять по правому краю)
· свойство Style установить в значение csDropDown · щелкнуть на свойстве Items и в открывшемся текстовом редакторе ввести несколько (5-6) строк, определяющих тип издания
· DateFormat = dfShort (короткий формат представления даты) · DateMode = dmComboBox (выпадающий календарь) · Kind = dtkDate (режим ввода дат, а не времени)
· присвоить всем компонентам формы изменения данных значения из соответствующих полей выбранной (текущей) строки таблицы, например – следующим образом: FChange.LabelNomer.Caption:= StringGrid1.Cells[0, StringGrid1.Row]; FChange.SpinEdit1.Value:= StrToInt(StringGrid1.Cells[3, StringGrid1.Row]); FChange.DateTimePicker1.Date:= StrToDate(StringGrid1.Cells[5, StringGrid1.Row]); (в последней строке используется функция преобразования строки в формат представления дат, принятый в Windows: дата и время внутри системы представляются как специальное вещественное число, и для перехода надо использовать стандартные функции StrToDate, DateToStr, StrToTime, TimeToStr) · вызвать форму в модальном режиме · проверить результат закрытия формы (свойство ModalResult), и если он равен mrOK, то присвоить полям текущей строки таблицы значения, введенные в соответствующих компонентах формы изменения данных (программный код аналогичен рассмотренному выше, только присваивания выполняются в противоположном порядке) · если результат закрытия формы равен mrCancel, то вывести сообщение об отсутствии изменений в данной строке таблицы
· если таблица содержит только одну реальную строку (не считая заголовка), то удаление этой строки заменяется ее очисткой (метод Clear) без уменьшения числа строк · в противном случае выполняется сдвиг строк на 1 вверх и соответствующее изменение их порядковых номеров (нулевой столбец таблицы)
· присвоить всем компонентам формы изменения данных начальные значения (в основном – пустые, нулевые) · вызвать форму в модальном режиме · проверить результат закрытия формы (свойство ModalResult), и если он равен mrOK, то добавить в таблицу новую строку и присвоить ее полям значения, введенные в соответствующих компонентах формы изменения данных
· в обработчик события создания главной формы OnCreate, где устанавливаются названия полей нулевой заголовочной строки таблицы · в метод, выполняющий загрузку данных из текстового файла · в метод, выполняющий сохранение данных из таблицы в текстовый файл 18. Выполнить приложение и проверить его работу
Не нашли, что искали? Воспользуйтесь поиском:
|