(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Разработка программы "Блокнот" для хранения информации по месяцам года

Источник: codingrus
Kest

Создайте новый проект. Сохраните новое приложение в текущей папке: файл модуля под именем Main.pas, файл проекта - Notebook.dpr.
1-й этап. Создание визуального интерфейса приложения
1.1. Задайте значения свойств формы следующим образом:
Name - NotebookF;
Caption - Блокнот.
1.2. Поместите на форму компонент Notebook (блокнот) со страницы Win3.1 палитры компонентов.
1.3. Создайте страницы компонента NoteBookl. Для этого в инспекторе объектов найдите свойство Pages (страницы); щелкните на кнопке с тремя точками для открытия диалогового окна редактирования значений выбранного свойства (рис. 1).
инспектор объектов
Рис. 1
Используя диалоговое окно, создайте 12 страниц, каждая из которых называется именем, соответствующим месяцу года (Январь, Февраль и т. д.). Для редактирования названия первой страницы воспользуйтесь кнопкой Edit, для добавления очередной страницы - кнопкой Add. Значение Help context можно оставить без изменения (это свойство используется при вызове контекстно-зависимой справочной системы приложения), так как приложение не содержит справочной системы. Для завершения создания списка страниц нажмите на кнопку Close.
1.4. Поместите компонент TabSet (список закладок) со страницы Win3.1 под компонентом NoteBookl. Сделайте эти компоненты одинаковыми по ширине.
1.5. Положите на каждую из 12 страниц компонента NoteBookl компонент ListBox (окно списка) для размещения записей на каждый месяц. Для этого выполните такую последовательность действий.
Установите свойство ActivePage (активная страница) компонента NoteBook в значение, равное 'Январь'. Щелкните на выбранной странице объекта NoteBookl. В палитре компонентов на странице Standard выберите компонент ListBox и поместите его (щелкните) в компонент NoteBookl. Для свойства Align компонента ListBox1 установите значение AlClient. 
Повторите эту операцию для оставшихся 11 страниц блокнота.
1.6. В правую часть формы поместите компонент Panel (страница Standard палитры компонентов), на него положите один компонент Label, один компонент Edit и три компонента Button. Поместите еще 2 компонента Button в правой нижней части формы (рис. 2).
форма
Рис. 2
Установите следующие свойства компонентов:

1.7. Сохраните проект. Убедитесь, что после запуска приложения форма ничем не отличается от режима проектирования. 
2-й этап. Создание программного кода
2.1. Создание закладок в TabSetl и синхронизация их со страницами блокнота. 
Для этого используется свойство Tabs компонента TabSet, представляющее список имен закладок. В примере список закладок соответствует списку страниц блокнота (Pages). Создайте следующий обработчик события:

Procedure TNoteBookF.FormCreate(Sender: TObject);
begin 
TabSetl.Tabs:=NoteBookl.Pages;
{копирование содержимого свойства Pages компонента NoteBook в свойство Tabs
компонента TabSet, т. е. создание закладок в TabSet} 
TabSetl.TabIndex:=NoteBookl.Pagelndex;
{В соответствии с тем, какая страница блокнота активна во время проектирования 
(свойство ActivePage), активной будет закладка с тем же именем (номером)} 
end;



2.2. Используя свойства UnSelectedColor, SelectedColor, BackgroundColor, DitherBackground, StartMargin, EndMargin компо¬нента TabSetl, измените внешний вид закладок. 
2.3. Сохраните и запустите проект. Проверьте, имеют ли закладки на форме названия, соответствующие страницам блокнота.
2.4. Создание обработчика события OnClick для кнопки 'Добавить'. 
После щелчка на кнопке содержимое окна редактирования (RecordEdt) должно добавляться в список на выбранной странице блокнота. Для операций со строками у компонента ListBox имеется свойство Items, принадлежащее классу TStrings. Чтобы добавить строку в список, используется метод Add этого класса (см. выше список методов класса TStrings). Текст обработчика события может быть создан двумя способами.
1-й способ
procedure TNoteBookF.AddBtnClick(Sender: TObject); 
begin
if RecordEdt.Text <>"" then 
begin
case NoteBookl.PageIndex of
{Для того чтобы поместить запись в список на страницу блокнота, выбираем 
компонент ListBox по номеру страницы блокнота}
0 : ListBoxl.Items.Add(RecordEdt.Text);
1 : ListBox2.Items.Add(RecordEdt.Text) ;
2 : ListBox3.Items.Add(RecordEdt.Text); 
3: ListBox4.Items.Add(RecordEdt.Text) ;
4 : ListBox5.Items.Add(RecordEdt.Text);
5 : ListBox6.Items.Add(RecordEdt.Text); 
6: ListBox7.Iterns.Add(RecordEdt.Text); 
7 : ListBox8.Items.Add(RecordEdt.Text) ;
8: ListBox9.Items.Add(RecordEdt.Text); 
9: ListBox10.Items.Add(RecordEdt.Text); 
10: ListBoxll.Items.Add(RecordEdt.Text); 
11: ListBoxl2.Items.Add(RecordEdt.Text); 
end;
RecordEdt. Text: =""; {введенный текст затираем}
end; 
end;



2-й способ
В Object Pascal имеется функция: 
function FindComponent(const AName: string): TComponent;



Функция возвращает ссылку на компонент, имя которого задано параметром AName.
Эту функцию можно использовать в коде обработчика события OnClick кнопки "Добавить' следующим образом:
procedure TNoteBookF.AddBtnClick(Sender: TObject); 
var TempComponent: TListBox; {вспомогательная переменная} 
begin TempComponent:=TListBox(FindComponent('ListBox'+ 
IntToStr(NoteBook1.PageIndex+1)));
{TListBox(<компонент>) используется для преобразования к типу TListBox} 
if RecordEdt.Text <>"" then 
TempComponent.Items.Add(RecordEdt.Text); 
RecordEdt.Text:=""; 
end;




2.5. Сохраните, запустите проект и добавьте строки на разные страницы блокнота. В данном варианте программы они должны записываться только на страницу, которая была открыта при запуске приложения. Это объясняется тем, что закладки Tabset1 не синхронизированы со страницами NoteBook1, т. е. при выборе закладки соответствующая страница блокнота не активизируется.
Чтобы устранить этот недостаток, следует создать обработчик события OnClick для закладок Tabset1:
procedure TNoteBookF.TabSetlClick(Sender: TObject); 
begin
NoteBook1.PageIndex:=TabSet1.TabIndex;
{страница блокнота и страница набора закладок должны совпадать} 
end;



2.6. Сохраните проект и проверьте правильность работы приложения, т. е внесение записей на различные страницы блокнота.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Embarcadero »
Написать редактору 
 Рекомендовать » Дата публикации: 17.08.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Enterprise Connectors (1 Year term)
Delphi Professional Named User
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Kaspersky Endpoint Security для бизнеса – Стандартный Russian Edition. 10-14 Node 1 year Base License
SAP® Crystal Dashboard Design Departmental 2016 WIN INTL NUL
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Delphi - проблемы и решения
Каждый день новые драйверы для вашего компьютера!
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Слот Биг Бэнг (6)
Большой взрыв как правящая теория сотворения мира. Теперь вы можете поиграть слот Big Bang в...
 
Отличается ли ДрифтКазино от беттинга? (57)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Подскажите лучшее онлайн казино (8)
Вот нашёл интересную игровую площадку, и это онлайн казино Вавада. Может кто что подсказать по...
 
Помощь по MS Access (345)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Требуется Краснодар: Java -разрабочик (2)
Обязанности: Разработка корпоративных backend-приложений для автоматизации розничных продаж...
 
 
 



    
rambler's top100 Rambler's Top100