- •Введение.
- •Консольные приложения.
- •Var I : integer;
- •Знакомство со средой программирования Delphi.
- •Создание теста с помощью функции MessageBox.
- •Var I:integer;
- •Var otv: array[1..12] of integer; m: array[1..12]of string; t,ball, I: integer;
- •Кнопка с рисунком. Создание формы для изменения иконки и стиля формы
- •Создание программы – простейший калькулятор.
- •Создание приложения для нахождения корней квадратного уравнения.
- •Создание инженерного калькулятора
- •If (Sender is tButton)
- •Изучение компонента Image и его свойств.
- •Создание приложений для решения математических задач.
- •Создание простейшего текстового редактора «Блокнот»
- •Создание приложения графический редактор.
- •If ssLeft in Shift then begin
- •И зучение графических возможностей Delphi при решении математических задач.
- •Работа со списками классов tListBox и tComboBox.
- •Механизм Drag-And-Drop – копирование и перенос объектов.
- •If Copy.Checked
- •If Cut.Checked
- •Изучение методов и свойств компонента ListBox с помощью Delphi Library Reference Help.
- •Изучение свойств и методов компонента класса tTabbedNotebook.
- •Создание приложения сезоны года с использованием оператора Case.
- •Создание приложения графический редактор – рисование от руки.
- •Initialization
- •Image1.Canvas.MoveTo (X, y);
- •Var NachPoint_Move, KonPoint_Move : tPoint;
- •If Clipboard.HasFormat(cf_bitmap) then
- •Image1.Canvas.Draw(0, 0, Bitmap);
- •Работа с базами данных в Delphi. Перемещение по записям при помощи кнопок.
- •Создание собственной структуры базы данных
- •Создание меню.
- •Создание заставки для проекта работы с окном формы.
- •Var Region: hrgn; //переменная описатель будущего региона, имеет тип hrgn
- •If IsMouseDown
- •Var Fr : tForm2;
- •Создание приложения для работы с базой данных ms Access.
- •Создание псевдонима базы данных FilesDb
- •Создание формы Form2 для просмотра данных запроса, созданного в программе ms Access.
- •Создание sql запросов.
- •Создание параметрических запросов:
- •Проектирование интерфейса приложения для работы с базой данных
- •Работа с типизированными файлами.
- •If OpenDialog1.Execute and fileExsist(OpenDialog1.Filename) then
- •If OpenDialog1.Execute then
- •Создание приложение Органайзер
- •Добавьте проект следующими возможностями:
- •Работа с компонентом StringGrid для создания электронных таблиц
- •If opendialog1.Execute then
- •Программирование графических тестов.
- •Создание программы – тест.
- •И спользование генератора случайных чисел при решении задач.
- •Создание проекта игры dxball.
- •If StartSharLog
- •If IntersectRect(r1, Doska.BoundsRect, Shar.BoundsRect)
- •Var r2 : tRect; r3 : tRect; I : integer;
- •If IntersectRect(r1, r2, r3)
- •Создание простых проектов.
- •Создание приложения Многооконный редактор
- •Создание интерфейса программы:
- •Var lDoc:tList; //объявление переменной типа tList – список, в котором буду храниться указатели на создаваемые пользователем формы документов
- •X, y: Integer);
- •If OpenDialog1.Execute then
- •If FontDialog1.Execute
- •If Left.Checked then
- •Закрепление полученных знаний по темам: графика, диалоги, меню, компоненты Delphi и их свойства
- •If SaveDialog1.Execute then image1.Picture.SaveToFile(savedialog1.FileName);
- •If OpenDialog1.Execute then image1.Picture.LoadfromFile(opendialog1.FileName);
- •Image1.Canvas.LineTo(X,y);
- •Image1.Canvas.MoveTo(X,y);
- •Создание приложение для шифрования данных методами Цезаря и Аффинной системой
- •1. Создание собственного класса.
- •Var I : integer;
- •Ish_text.Free;
- •Var I : byte;
- •Создание интерфейса программы:
- •Var sdvig,I, j, Index : integer;
- •Var I, j, Index, sdvig, a, b : integer;
- •Проверка знаний по теме: Создание программ в среде программирования Delphi
- •1 Задание.
- •Вопросы для самоконтроля.
- •Перечень основной и дополнительной литературы
Создание приложение Органайзер
Цель занятия: Изучить свойства и методы компонента класса TCalendar
Задание: Создайте приложение ОРГАНАЙЗЕР для просмотра и добавления заметок в текстовый файл zametka.txt (данный файл необходимо создать в текущем каталоге).
Д ля выполнения задания необходимо:
Создание интерфейса программы. На форму поместите следующие компоненты (смотри рисунок справа).
Измените следующие свойства:
компонент Memo2 (используется для просмотра текущих заметок) – только для чтения;
компонент ComboBox1 измените свойство Items – содержит список месяцев: от января до декабря;
компонент ComboBox2 измените свойство Items – содержит список тем заметок: День рождения, Встреча, Напомнить о..;
компонент Calendar1 измените свойства (шрифт, начертание, размер, вид) согласно рисунка;
Описание переменных, использованных в программе
Добавьте раздел описания типов данных перед разделом описания переменных type //раздел описания типов данных zametka=record // описание типа запись tema:string[15]; //для хранения темы заметки text:string[50]; //текст заметки day:1..31; //день заметки month:1..12; //месяц заметки year:integer; //год рождения для темы День рождения end; |
Var //раздел описания переменных zF: file of zametka; //файл записей v: zametka; //переменная запись i: integer; g_r:string; //используется для ввода года рождения (только для темы День рождения) |
измените минимальное и максимальное значение для компонентов SpidEdit1 (1900..2010) и SpidEdit2 (1..31);
Разместите добавленные компоненты на форме (смотрите рисунок).
Напишите следующие программы для реализации приложения:
На события активизации формы напишите процедуру для отображения изменения даты в добавленных компонентах SpinEdit1, SpinEdit2, ComboBox1:
procedure TForm1.FormActivate(Sender: TObject);
begin
SpinEdit1.Value:=Calendar1.Day;
ComboBox1.ItemIndex:=Calendar1.Month-1;
SpinEdit2.Value:=Calendar1.Year;
end;
При выборе месяца в раскрывающемся списке месяцев в компоненте ComboBox1 отобразить изменение на календаре;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Calendar1.Month:=ComboBox1.ItemIndex+1;
end;
При выборе года в списке написать процедуру для отображения изменения на календаре
procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
Calendar1.Year:=SpinEdit2.Value;
end;
При выборе числа в списке написать процедуру для изменения числа на календаре;
На событие нажатия кнопки PrevMonth – написать процедуру для перехода к предыдущему месяцу текущего года;
procedure TForm1.Button3Click(Sender: TObject);
begin
ComboBox1.ItemIndex:=Calendar1.Month;
Calendar1.PrevMonth;
end;
На событие нажатия кнопки NextMonth – написать процедуру для перехода к следующему месяцу текущего года;
На событие нажатия кнопки PrevYear – написать процедуру для перехода к предыдущему году;
procedure TForm1.Button4Click(Sender: TObject);
begin
Calendar1.PrevYear;
SpinEdit2.Value:=Calendar1.Year;
end;
На событие нажатия кнопки NextYear – написать процедуру для перехода к следующему году;
На событие нажатия кнопки Добавить заметку написать процедуру, ответсвтенную за добавления заметки на выбранную дату
procedure TForm1.Button5Click(Sender: TObject);
begin
AssignFile(zF, 'zametka.txt');
reset(zF);
v.tema:=ComboBox2.Text;
v.text:=Memo1.Text;
v.day:=Calendar1.Day;
v.month:=Calendar1.Month;
if v.tema=’Äåíü рождения’ then
begin
g_r:=InputBox(‘Введите ãîä рождения’,v.text,g_r);
v.year:=strtoint(g_r);
g_r:='';
end;
seek(zF,filesize(zF));
Write(zF,v);
Memo1.Clear;
CloseFile(zF);
end;
На событие OnChange компонента Calendar1 напишите процедуру, отвечающую за изменение текущего значения даты, а также для отображения данных – текущих заметок в Memo2.
procedure TForm1.Calendar1Change(Sender: TObject);
begin
Memo2.Clear;
SpinEdit1.Value:=Calendar1.Day;
ComboBox1.ItemIndex:=Calendar1.Month-1;
SpinEdit2.Value:=Calendar1.Year;
AssignFile(zF, 'zametka.txt'); reset(zF);
for i:=0 to Filesize(zF)-1 do
begin
seek(zF,i);
Read(zF,v);
if (v.day=Calendar1.Day) and (v.month=Calendar1.Month)
then
if v.tema='День рождения' then
Memo2.Lines.Add(v.tema+' '+v.text+' '+inttostr(2007-v.year))
else
Memo2.Lines.Add(v.tema+' '+v.text);
end;
closeFile(zF);
end;