Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Настройка интерфейса пользователя
При запуске проекта необходимо подготовить интерфейс к работе. Для этого можно использовать процедуру обработки события onCreate формы. Именно эта процедура настроит компоненты StringGrid для вывода записей проекта. Исходный код процедуры приводится ниже. // Настройка компонентов StringGrid procedure TfrmAtt.FormCreate(Sender: TObject); Begin with StringGrid1 do begin ColCount:= 3; RowCount:= 2; FixedCols:= 0; FixedRows:= 1; Cells[0,0]:= 'Cтудент'; Cells[1,0]:= 'Ср.балл'; Cells[2,0]:= 'Неуд.'; end; with StringGrid2 do begin ColCount:= 3; RowCount:= 2; FixedCols:= 0; FixedRows:= 1; Cells[0,0]:= 'Cтудент'; Cells[1,0]:= 'Ср.балл'; Cells[2,0]:= 'Неуд.'; end; with StringGrid3 do begin ColCount:= 3; RowCount:= 2; FixedCols:=0; FixedRows:= 1; Cells[0,0]:= 'Cтудент'; Cells[1,0]:= 'Ср.балл'; Cells[2,0]:= 'Неуд.'; end; end; В результате выполнения этой процедуры интерфейс пользователя должен приобрести вид, представленный на рисунке 11.3. Рисунок 11.3 – Интерфейс проекта после настройки Вспомогательные процедуры для работы с файлом 11.3.5.1 Процедура выбора имени файла Эта процедура должна вызываться при нажатии на кнопку «Имя файла». Для выбора имени используется компонент OpenDialog. Этот компонент открывает стандартное окно Windows для выбора имени файла при вызове функции Execute. Эта функция, помимо открытия окна, возвращает результат взаимодействия с пользователем в виде логической переменной. Если пользователь отказался от выбора файла, функция возвращает false, в противном случае – true. Кроме того, объект OpenDialog запоминает имя выбранного файла. Доступ к этому имени можно получить через свойство FileName. Ниже приведена процедура выбора имени файла. //Процедура выбора имени файла procedure TfrmAtt.btnFileNameClick(Sender: TObject); Begin if OpenDialog. Execute then EditFileName.Text:= OpenDialog.FileName; end; В результате выполнения процедуры в поле EditFileName должно появиться выбранное имя файла. 11.3.5.2 Процедура открытия файла Так как в проекте придется реализовать достаточно много подпрограмм, связанных с обработкой файла, то целесообразно группу инструкций, связанных с открытием файла вынести в отдельную процедуру. В качестве параметра в процедуру передается файловая переменная типа TAttFile. Имя открываемого файла процедура считывает из поля EditFileName формы. Если файл существует, он открывается, если нет, то создается. //Процедура открытия файла procedure openAttFile(var f:TAttFile); Begin assignFile(f, frmAtt. EditFileName. Text);
Try reset(f); Except rewrite(f); end; end; 11.3.5.3 Процедура вывода файла в StringGrid Необходимость вывода файла в компонент TStringGrid в нашем проекте будет возникать неоднократно. Поэтому эту операцию целесообразно оформить как процедуру, которой в качестве параметра передается файловая переменная и ссылка на компонент TStringGrid. //Процедура вывода файла в StringGrid procedure showFileInGrid(var f: TAttFile; g: TStringGrid); var i:integer; r: TAttRec; Begin //Настраиваем StringGrid g.RowCount:=fileSize(f)+1; i:=1; // счетчик строк StringGrid //Файл в начало Reset(f); //Организуем цикл по записям файла while not eof(f) do Begin // читаем запись read(f,r); // Переносим запись в StringGrid g.Cells[0, i]:=r.Name; g.Cells[1, i]:= FloatToStr(r.ball); g.Cells[2, i]:= IntToStr(r.neud); i:=i+1; end; end; Процедуры работы со StringGrid1 Эти процедуры используются для управления компонентом StringGrid1, который служит для подготовки записей перед занесением их в файл. Первая из процедур связана с пунктом меню «Добавить строку». // Добавление строки в StringGrid1 procedure TfrmAtt.mnuAddRowClick(Sender: TObject); Begin StringGrid1.RowCount:= StringGrid1.RowCount + 1; end; Вторая процедура связана с пунктом меню «Удалить строку». Удаление строки производится циклическим сдвигом записей на место удаляемой. //Удаление строки из StringGrid1 procedure TfrmAtt.mnuDelRowClick(Sender: TObject); var i, j:integer; Begin with StringGrid1 do Begin for i:=Row to RowCount - 2 do for j:=0 to ColCount-1 do Cells[j,i]:= Cells[j, i+1]; RowCount:= RowCount -1; end; end;
|
|||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 167; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.222.175.73 (0.312 с.) |