Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Реклама
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

Пользователей: 13,141
новичок: 7timok7
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Медиа плейер на Delphi + Пояснительная записка
База данных - словарь терминов на Delphi + Пояснительная записка
Обратное размещение элементов ЭВС на Delphi + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Разработка программы «Блокнот» для хранения информации по месяцам года
Создайте новый проект. Сохраните новое приложение в текущей папке: файл модуля под именем 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. Сохраните проект и проверьте правильность работы приложения, т. е внесение записей на различные страницы блокнота.





Опубликовал Kest Декабрь 22 2009 15:02:04 · 6 Комментариев · 11209 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
SADD Ноябрь 01 2010 18:24:00
А есть исходник полный для этого блокнота??smiley
Kest Ноябрь 02 2010 00:04:45
SADD

в этом и весь смысл )) надо собрать самому
СМЮ Декабрь 04 2010 19:32:55
А вы можете выложить полный исходник, пожалуйста! Просто не могу додуматься, как написать код программы реагирования на кнопки изменить, очистить и уделить?smiley
Kest Декабрь 04 2010 23:07:12
2СМЮ

Посмотри в разделе исходники там были типо таких программок
СМЮ Декабрь 05 2010 15:17:32
Мне нужно именно к этому блокноту Написать код программы реагирования нажатия на кнопки ‘Изменить’, ’Удалить’, ’Очистить’ (для этого воспользуйтесь свойствами Items и ItemIndex компонента ListBox). Может поможете или подскажите к кому обратиться, я заплачу, пожалуйста!smiley
Kest Декабрь 05 2010 22:28:44
2СМЮ

платно обращайся сюда - codingrus.ru/viewpage.php?page_id=2
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Plasma
Система баннеро-о...
Иллюстрированный ...
Tetris 2002
С. Г. Горнаков - ...
Карта сайта
TelBook
БД студентов
PCXReader. Програ...
Калькулятор [Исхо...
ZipForge
Matrix2D
GPSS World Studen...
FormShape [Исходн...
Handles
PHP/MySQL для нач...
Пример работы с б...
C# 2005 и платфор...
Запрет гостям ск...
Ehlib

Топ загрузок
Приложение Клие... 100646
Delphi 7 Enterp... 94668
Converter AMR<-... 20169
GPSS World Stud... 16490
Borland C++Buil... 13709
Borland Delphi ... 9621
Turbo Pascal fo... 7204
Калькулятор [Ис... 5467
Visual Studio 2... 5101
FreeSMS v1.3.1 3605
Случайные статьи
Элемент ввода hidd...
Файловая система /...
Вычислительная мат...
Где бесплатно скач...
Использование DLL ...
Label already defined
Вызов функции poor
Протокол BiSync от...
Принципы и програм...
Применение стиля
TIdSMTP и TIdIMAP4...
The Bat!
Построение активно...
В этих двух пример...
PREEMPT (ПРЕРВАТЬ)
Есть много других ...
Классы в PHP3
Инфографика — это ...
Переход от старого...
расположены в разн...
ЦЕЛЬ: ПОЛУЧЕНИЕ СТ...
Процедура RestoreC...
Службы ISDN
Часть 3. Реализ...
Заключение
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?