Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Измените значения свойств: Caption, Color, Cursor, Icon, Name формы, обратив внимание на методы формирования значений (из списка, вручную, из окна диалога). Выполните проект (F9). Сохраните проект в папке «First» в рабочем каталоге диска.
Разместите на форме метку, изменив ее свойство Caption на «Мы начинаем знакомство с Delphi». Разместите на форме 2 кнопки Button, изменив их свойства Caption на «Закрыть» и «Калькулятор» соответственно. Выполните проект.
Для описания обработчиков событий для некоторых компонентов необходимо сделать компонент активным, в окне Инспектора объектов перейти на закладку событий и по двойному щелчку на значении указанного события перейти в окно Редактора кода.
В обработчик события OnClick для кнопки «Закрыть» поместите оператор Close;
Это позволит закрыть проект, т.е. завершить его выполнение.
В обработчик события OnClick для кнопки «Калькулятор» поместите следующую команду:
WinExec(calc.exe, SW_RESTORE);
Это позволит вызвать стандартный калькулятор Windows по нажатию на кнопку.
Сохраните проект.
Выйдете из среды и посмотрите, какие файлы появились в папке «First».
Зайдите в Delphi, закройте новое приложение, откройте свой проект через опцию «Переоткрыть» меню «Файл».
Лабораторная работа № 2
«Работа с окном формы»
Caption Секундомер
Height 375
Name fmStopWatch
Position poScreenCenter
Width 544
1) Метка 1 (компонент Label со страницы Standard)
Alignment taCenter
Caption Общее время
Font полужирный курсив, 14, зеленый
Height 30
Left 56
Name lbTotalTime
Top 56
Width 193
2) Метка 2
Alignment taCenter
Caption Время интервала
Font полужирный курсив, 14, зеленый
Height 30
Left 56
Name LBlAPtIME
Top 160
Width 241
3) Многострочный редактор 1 (компонент Memo со страницы Standard)
BorderStyle bsSingle
Alignment taRightJustify
Height 25
Left 312
Lines 0.0
Enabled False
Name mmTotalTime
ReadOnly True
TabStop False
Top 36
4) Многострочный редактор 2
BorderStyle bsSingle
Alignment taRightJustify
Height 25
Left 312
Lines 0.0
Enabled False
Name mmLapTime
ReadOnly True
TabStop False
Top 140
5) Три кнопки (компонент Button со страницы Standard)
Свойство |
Кнопка 1 |
Кнопка 2 |
Кнопка 3 |
Caption |
Начало |
Интервал |
Сброс |
Height |
25 |
25 |
25 |
Left |
78 |
230 |
390 |
Name |
btStart |
btLap |
btReset |
Top |
282 |
282 |
282 |
Width |
75 |
75 |
75 |
Выровнять кнопки по горизонтали и вертикали.
Лабораторная работа № 3
«Работа с программным модулем»
Этот объект не будет виден при работе приложения, он предназначен для подключения встроенного таймера.
а) объявить две локальных переменных
S: string; Seconds: real;
б) в разделе операторов описать следующие команды:
TickCounter:= TickCounter+1;
(увеличение значения тика)
Seconds:=TickCounter /10;
(получение количества секунд)
Str(Seconds:10:1,S);
(перевод полученного количества секунд в строковую форму)
mmTotalTime.Lines.Text:=S;
(присваивание свойству Lines компонента mmTotalTime значения полученного строкового выражения)
в) в разделе Private описания класса в секции связи объявить две переменные:
TickCounter: Longint;
(счетчик тиков общего времени)
LapCounter: Longint;
(счетчик тиков времени интервала)
а) в разделе описания переменных не указывать ничего;
б) в разделе операторов описать следующие команды:
If Timer1.Enabled then
begin
Timer1.Enabled:=False;
btStart.Caption:=”Начало” ;
end
Else
begin
Timer1.Enabled:=True;
btStart.Caption:=”Конец”
end;
понять назначение каждой команды, учитывая, что свойство Enabled активизирует (True) или нет компонент в момент запуска программы.
а) в разделе описания переменных объявить:
S : string; Temp: Longint;
б) в разделе операторов описать следующие команды:
Temp:=TickCounter LapCounter;
LapCounter:=TickCounter;
Str((Temp / 10) : 0: 1, S);
mmLapTime.Lines.Text:=S;
а) в разделе описания переменных не объявлять ничего;
б) в разделе операторов описать следующие команды:
TickCounter:=0;
LapCounter:=0;
mmTotalTime.Lines.Text:=0.0;
mmLapTime.Lines.Text:=0.0;
Лабораторная работа № 4
«Создание приложения, содержащего более одной формы»
Kind Close
Caption &Закрыть
Свойство |
1-ая фигура |
2-ая фигура |
3-ья фигура |
Shape |
stEllipse |
stRoundRect |
setsquare |
Height |
121 |
65 |
65 |
Left |
40 |
200 |
120 |
Top |
24 |
80 |
176 |
Width |
73 |
153 |
65 |
+ Brush |
|||
Color |
clRed |
clLime |
clAqua |
Style |
bsBDiagonal |
bsSolid |
bsSolid |
+ Pen |
|||
Color |
clBlack |
clGreen |
clBlue |
Style |
-“- |
psInsideFrame |
-“- |
Width |
-“- |
2 |
3 |
Свойства Brush и Pen являются сложными. Двойной щелчок левой кнопкой мыши на названии (или одинарный щелчок на знаке + слева от названия) приведет к открытию составляющих его элементов. Знак “- означает, что значение свойства менять не надо.
а) в разделе операторов описать следующие команды:
Form2:=TForm2.Create(Self);
Form2.Show;
б) в разделе описания переменных секции связи модуля Unit1 описать переменную Form2: TForm2;
в) в разделе Uses секции Interface указать модуль Unit2.
Лабораторная работа № 5
«Компоненты окна диалога»
Caption Окна диалога
ClientHeidht 480
ClientWidth 690
Name fmDialog
Свойство |
Panel1 |
Panel2 |
BorderStyle |
bsSingle |
bsSingle |
Caption |
||
Height |
400 |
400 |
Left |
30 |
340 |
Name |
pnDraw |
pnText |
Top |
10 |
10 |
Width |
300 |
300 |
Свойство |
Кнопка 1 |
Кнопка 2 |
Кнопка 3 |
Caption |
Рисунок |
Загрузить |
Сохранить |
Height |
25 |
25 |
25 |
Left |
110 |
30 |
190 |
Name |
btDraw |
btLoadText |
btSaveText |
Top |
240 |
240 |
240 |
Width |
75 |
75 |
75 |
Caption &Закрыть
Kind bkClose
Left 560
Top 440
Autosize True
Name imDraw
Height 180
Left 20
Width 255
Height 180
Lines 0 lines (т.е. очистите окно)
Left 20
Name reText
ScrollBars ssBoth
Width 255
Свойство |
OpenDialog1 |
OpenPictureDialog1 |
SaveDialog1 |
Name |
odText |
opdDraw |
sdText |
Filter |
нажав на кнопку «…», перейти в окно диалога и в открывшейся таблице сформировать две строки: Все файлы *.* Текстовые файлы *.txt;*.pas;*.doc;*.rtf |
обратить внимание на то, что данное свойство компо-нента уже сформи-ровано |
if opdDraw.Execute then
begin
fname:=opdDraw.FileName;
imDraw.Picture.LoadFromFile(fname);
end;
Переменную fname объявите как переменную строкового типа в разделе описания переменных секции связи.
if odText.Execute then
begin
fname:=odText.FileName;
reText.Lines.LoadFromFile(fname);
end;
sdText.FileName:=fname;
if sdText.Execute then
begin
fname:=odText.Filename;
reText.Lines.SaveToFile(fname);
end;
Свойство |
Действие 1 |
Действие 2 |
Действие 3 |
Действие 4 |
Действие 5 |
Caption |
Открыть |
Сохранить |
Выход |
Кисть |
Краски |
Category |
Файл |
Файл |
Файл |
Инструменты |
Инструменты |
ImageIndex |
0 |
1 |
2 |
3 |
4 |
Name |
AOpen |
ASave |
AExit |
ABrush |
AColor |
ShortCut |
F3 |
F2 |
Ctrl+X |
а) if OPD.Execute then
begin
Image1.Picture.LoadFromFile(OPD.FileName);
end;
б) if SPD.Execute then
Image1.Picture.SaveToFile(SPD.FileName);
в) сlose;
Лабораторная работа № 7
«Работа с медиа-плейером»
Аудио |
*.wav, *.mp3 |
Видео |
*.avi |
Все файлы |
*.* |
if OD_file.Execute then
with MP do
begin
lbVivod.Caption:='Файл:'+ OD_file.FileName;
FileName:= OD_file.FileName;
Open;
end
Продолжите разработку приложения.
Усложните работу приложения, добавив в него еще две панели, и напишите следующий фрагмент кода:
const
ModeStr : array [ТMРМоdes] of string =(' He готово ', 'Остановлен', 'Воспроизведение', 'Запись', 'Поиск', 'Пауза', 'Открыто');
ButtonStr : array [TMPBtnType] of string = ('Воспроизведение', 'Пауза', 'Стоп', 'Следующий', 'Предыдущий', 'Вперед', 'Назад', 'Запись', 'Конец');
procedure TForm1.OpenClick(Sender : TObject);
begin
if OD_file.Execute then
with MP do
begin
FileName:= OD_file.FileName;
lbVivod.Caption:=' Файл: ' +FileName ;
Open;
Notify:=true;
end;
end;
procedure TForm1. MPNotifу (Sender: TObject) ;
begin
with MP do
begin
Label2.Caption :='Состояние: '+ModeStr[Mode] ;
{переустановка Notify, чтобы событие произошло в следующий раз)
Notify := True;
end;
end;
procedure ТForm1.FormCreate(Sender: TObject) ;
begin
with MP do
begin
lbVivod.Caption:=''Файл: '+FileName;
Label2.Caption :='Состояние: '+ ModeStrt [Mode];
Notify:=true;
end;
end;
procedure Tform1. MPClick ( Sender: TObject;Button:TMPBtnType; var DoDefault: Boolean);
begin
Label3.Caption:='Операция:+ButtonStr[Button] ;
{Переустановка Notify, чтобы произошло событие OnHotify}
MP.Notifу := True
end;
Лабораторная работа № 8
«Приложение с модальной формой заставки»
Name Flog
BorderStyle bsNone
KeyPreview True
Position poScreenCenter
Visible False
Close;
Теперь эта форма будет закрываться при нажатии пользователем любой клавиши или кнопки мыши. Для того, чтобы и при отсутствии каких-то действий со стороны пользователя форма закрывалась сама, например, через 5 секунд, выполним следующие действия:
Close;
Теперь при любом действии или бездействии пользователя форма-заставка будет закрываться. Чтобы ненужную форму не хранить в памяти, выполните:
Action:= caFree;
Этот оператор приведет к уничтожению объекта формы и освобождению занимаемой формой памяти.
Flog.ShowModal;
Событие onShow наступает до того, как форма действительно станет видимой. Поэтому во время обработки этого события главная форма приложения еще не видна. Оператор открывает форму Flog как модальную, передает ей управление, и дальнейшее выполнение программы в модуле Umain останавливается до тех пор, пока модальная форма не будет закрыта. После закрытия модальной формы выполнение программы продолжится, и главная форма станет видимой.
Лабораторная работа № 9
«Приложение с модальной формой запроса пароля»
Name FPSW
Width 325
Heigth 100
BorderStyle bsDialog
Position poScreenCenter
Caption Введите пароль и нажмите Enter
Text
Name EPSW
if (key = VK_RETURN) then
begin
if EPSW.Text =athen
ModalResult :=6
else Close;
end;
if (FPSW. ShowModal <> 6) then
Close
else
begin
ShowMessage (Ваш пароль + FPSW.EPSW.Text+);
FPSW.Free;
end;