- •Объектно-ориентированное программирование на языке Delphi
- •Алгоритмы и исполнители
- •Основные понятия объектно-ориентированного программирования
- •TButton
- •Проверочная работа №1. Алгоритмы и исполнители. Основные понятия ооп
- •Форма и размещение на ней простейших объектов
- •Лабораторная работа №1
- •Расположение объектов на форме
- •Лабораторная работа №2
- •Дополнительные возможности при работе с объектами Edit, Memo. Кнопка с изображением BitBtn
- •Лабораторная работа №3. MainMenu - главное меню формы
- •Проверочная работа №2. Работа с компонентами.
- •Арифметические операции в ооп
- •Лабораторнаяработа № 4
- •Лабораторная работа №5. Алгоритм решения математический задачи на языке.
- •Стандартные арифметические функции
- •Лабораторная работа № 6
- •Флажки (CheckBox) и переключатели (RadioButton). Условный оператор
- •Лабораторная работа №7
- •Проверочная работа №3. Условный оператор.
- •Оператор варианта
- •Лабораторная работа №8
- •Работа со строками в объектно-ориентированном программировании. Оператор цикла с параметрами
- •Лабораторная работа №9
- •Программирование циклических алгоритмов. Циклы «до» и «пока»
- •Лабораторная работа №10
- •Проверочная работа №4. Строки. Циклы
- •Рассмотрение дополнительных компонентов для ввода/вывода строк
- •Оператор присоединения (With)
- •Графические компоненты
- •Лабораторная работа №11
- •Работа с таблицами
- •Лабораторная работа №12
- •Массивы
- •Лабораторная работа №13
- •Проверочная работа №5. Массивы
- •Обработка событий мыши. Регулировка прозрачности формы
- •Процедуры и функции вызова диалоговых окон
- •Лабораторная работа №14
- •Работа с датой и временем
- •Лабораторная работа №15
- •Контрольная работа
- •Список рекомендуемой литературы
Обработка событий мыши. Регулировка прозрачности формы
Обработчики событий OnMouseDown и OnMouseUp определяют реакцию программы на соответственно нажатие и отпускание кнопки мыши, OnMouseMove –на перемещение указателя мыши на компоненте.
Два свойства AlphaBlend и AlphaBlendValue впервые были введены в версии Delphi 6 и позволяют регулировать степень прозрачности окна формы. Если AlphaBlend = true, то значение свойства AlphaBlendValue задает степень прозрачности. 0 – окно полностью прозрачно, 255 – совершенно непрозрачно. Свойства TransparentColorValue и TransparentColor определяют цвет прозрачности и возможность его использования. Однако указанные свойства работают только с ОС Windows 2000/XP и выше на процессорах Pentium с тактовой частотой не ниже 90 МГц и видеокарта компьютера должна отображать больше 255 цветов.
Процедуры и функции вызова диалоговых окон
Процедура ShowMessage (‘<строка>’) отображающая окно с сообщением и кнопкой ОК. Пример: ShowMessage (‘До свидания!’)
Процедура ShowMessageFmt(‘Задано %d параметров из %d ’, [n1,n2]) Последний оператор при n1=5 и n2=7 выдаст сообщение с текстом: «Задано 5 параметров из 7»
Функции отображают окна, в которых пользователю задается какой-либо вопрос и анализируется полученный ответ.
Функция MessageDlg (<строка>, AType, Abuttons, HelpCtx) отображает диалоговое окно и ожидает ответ пользователя. Вид отображения окна задается параметром AType.
-
Значение
Описание
MtWarning
Окно замечаний
MtError
Окно ошибок
MtInformation
Информационное окно
MtConfirmation
Окно подтверждения
mtCustom
Заказное окно без рисунка
Параметр Abuttons определяет, какие кнопки будут присутствовать в окне.
-
Значение
Надпись на кнопке
MbYes
Yes
MbNo
No
MbOk
Ok
MbCancel
Cancel
MbHelp
Help
MbAbort
Abort
MbRetry
Retry
MbIgnore
Ignore
MbAll
All
Определены 3 константы, соответствующие часто используемым сочетанием кнопок
-
MbYesNoCancel
Входят кнопки Yes, No, Cancel
mbOkCancel
Входят кнопки Ok, Cancel
mbAbortRetryIgnore
Входят кнопки Abort, Retry, Ignore
Лабораторная работа №14
Пример: В теле процедуры запишем
Begin
…
if MessageDlg('Yo!',mtWarning,[mbYes, mbNo],0)=mrYes
then close;
end.
Получим:
Задания для самостоятельной работы:
Перераспределить значения переменных x и y так, чтобы в х оказалось большее, а в у – меньшее.
Посетитель проиграл в казино a рублей. У него есть фишки 2, 5, 15, 20, 50, 100, 500$. Сколько фишек разного достоинства отдаст игрок, если будет платить с самых дорогих?
Работа с датой и временем
Тип TDateTime
Var t: TDateTime;
Для обработки даты и времени модуль SysUtils содержит следующие основные функции:
function Date: TDataTime; - возвращает текущую дату как значение типа TDateTime.
function DateToStr(Date: TDateTime): string; - преобразовывает дату, указанную параметром Date, в строку.
function DayOfWeek(Date: TDateTime): Integer; - возвращает номер дня недели для даты, указанной параметром Date. Для воскресенья возвращается значение 1, для понедельника - 2 и т. д.
function EncodeDate(Year, Month, Day: Word): TDateTime; - собирает значение даты из заданных составляющих Year, Month и Day и возвращает его как значение типа TDateTime.
function DecodeDate(Date: TDateTime): Word; - собирает значение типа TDateTime и возвращает его как значение типа дата из заданных составляющих Year, Month и Day.
function Now: TDateTime; - возвращает значение текущей даты и времени.
function StrToDate(const S; string): TDateTime; - преобразовывает значение строки, указываемое параметром S, в дату типа TDateTime.
function Time: TDateTime; - возвращает текущее значение времени.
function TimeToStr(Time: TDateTime): string; - преобразовывает время в строку в соответствии с форматом, определяемым глобальной переменной LongTimeFormat.
TDateTimePocker – ввод и отобрание даты/времен
Свойства компонента:
Свойство |
Описание |
CalAlignment |
Определяет положение раскрывающегося календаря: dtaLeft – слева от компонента; dtaRight – справа от компонента. Учитывается только для Kind=dtkDate и DateMode=dmComoBox |
CalColors |
Цвет календаря |
Checked |
Если выполняются условия Checked=True и ShowCheckBox=True, то флажок рядом с полем даты (времени) будет показан и установлен. Наличие флажка или его отсутствие разрешает или запрещает ручной ввод даты или времени |
Date |
Содержит введенную дату |
DateFormat |
Определяет формат показа даты: dfShort – 11.01.04; dfLong – 5 сентября 2004 г. |
DateMode |
Определяет способ выбора даты: dmComboBox – с помощью раскрывающегося календаря; dmUpDown – с помощью встроенного компонента TUpDown |
Kind |
Определяет содержимое компонента: dtkDate – дата; dtkTime – время |
MaxDate |
Определяет максимальную дату, которую может выбрать или ввести пользователь |
MinDate |
Определяет минимальную дату, которую может выбрать или ввести пользователь |
Time |
Содержит введенное пользователем время |
TMonthCalendar – календарь
Предназначен для выбора и отображения даты. Очень похож на календарь, рассмотренный выше, но в отличие от него может одновременно отображать несколько смежных месяцев – в зависимости от своих размеров.
Свойства компонента:
Свойство |
Описание |
CalColors |
Цвет календаря (фона, дат, заголовков) |
Date |
Определяет выбранную дату |
EndDate |
Определяет конечную дату диапазона выбранных дат |
FirstDayOfWeek |
Определяет первый день недели |
MaxDate |
Определяет максимальную дату, месяц которой еще будет доступен для отображения в компоненте. Если свойство содержит пустое значение, то отображается любой следующий месяц |
MinDate |
Определяет минимальную дату, месяц которой еще будет доступен для отображения в компоненте. Если свойство содержит пустое значение, то отображается любой предыдущий месяц |
ShowTodayCircle |
Разрешает/запрещает обводить кружком текущую дату |
WeekNumbers |
Разрешает/запрещает показ порядковых номеров недель от начала года в левой колонке |
TTimer – таймер
Данный компонент служит для отсчета интервалов реального времени. Минимальный реально достижимый интервал отсчета времени в ОС MS-DOS, Windows 95/98/ME не может быть меньше 55 миллисекунд (этот интервал называется тиком). Для ОС Windows NT Server, Windows 2000, Windows XP длительность тика составляет 10 миллисекунд.
TCalenar – календарь
Компонент календарь отображает календарь на выбранный месяц и год. Его свойства Day, Month, Year могут содержать любую дату от 1 до 9999 года от Рождества Христова.