Навигация
Главная
Поиск
Форум
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
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 12
На сайте нет зарегистрированных пользователей

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

Расчет мер близости на отношениях на Delphi + Пояснительная записка
Моделирование автомойки на GPSS + Отчет + Блок схемы
База данных студентов на Delphi + Microsoft SQL Server

Разработка программы «Блокнот» для хранения информации по месяцам года
Создайте новый проект. Сохраните новое приложение в текущей папке: файл модуля под именем 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 December 22 2009 12:02:04 · 6 Комментариев · 12292 Прочтений · Для печати

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


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

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

Посмотри в разделе исходники там были типо таких программок
СМЮ December 05 2010 12:17:32
Мне нужно именно к этому блокноту Написать код программы реагирования нажатия на кнопки ‘Изменить’, ’Удалить’, ’Очистить’ (для этого воспользуйтесь свойствами Items и ItemIndex компонента ListBox). Может поможете или подскажите к кому обратиться, я заплачу, пожалуйста!smiley
Kest December 05 2010 19: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...
Шаблон для новост...

Случайные загрузки
PBFoldder
Импорт новостей ...
Применение жадног...
Алгоритм DES шифр...
Pirc
Page Promoter 7.7...
API (Применение A...
Архив Апгрейтов с...
Правила программи...
CoolDev TipsSyste...
Printgrid
XPcontrol
C++ Builder: Книг...
DCAVI
Еext Editor
Конвертирование и...
Прграммирование в...
Пишем программы и...
Работа с матрицами
PHP, MySQL и Drea...

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20261
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
Правила транспорта
Процедура FREEMEM....
Challenge Handshak...
Датчики магнитного...
Виртуальная рулетк...
Volna Casino офици...
Синхронизация буфе...
Установка принтера...
tld).5.
Процедура SetLineS...
Процедура проверки...
Окно набора номера
Тянем-потянем за с...
Обзор инструментов...
Казино Fresh
Описание языков за...
Интерфейс с базой ...
Алгоритм “быстрой ...
Приведение типов
Что является самым...
TopServer
Генератор списков ...
Какая логика подра...
Дазо4
Копирование структур
Статистика



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


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