~Fenix~
05.03.2006, 16:41
Урок 2
Теперь напишем программу с помощью которой можно изменять название формы.
Для этого из вкладки Стандарт перенесем два элемента:
1 - Edit1
2 - Button1
Свойство Caption кнопки изменим на "Переименовать", а у компонента Увше изменим свойство
Text (из него все удоляем).
Начнем программировать кнопку.
Дважды щелкните на кнопке, помещенной на форме. Откроется окно кода программы.
В нем появиться заготовка процедуры Button1Click. Эта процедура вызываеться при целчке на кнопке,
сделанном во время работы программы.
Теперь находим операторы begin и end; и между ними вставляем вот это form1.Caption:=edit1.Text;
и должно получиться что то похожее вот на это
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Caption:=edit1.Text;
end;
end.
В строчке form1.Caption:=edit1.Text; указываеться что свойству формы Caption присваиваеться
свойство Text компонента edit1.
На первом этапе это очень важно понять, т.к это основа на мой взгляд.
Домашнее задание:
1. Создайте программу с помощью которой можно изменить цвет формы.
2. Сделайте чтоб при нажатии на кнопку она перемещалась на какоето растояние.
А теперь программа - игра.
Создайте новую форму и перенесите на нее кнопку.
Свойтва задайте следующие:
1. Caption - Нажми меня
2. TabStop - False
3. Visible - False
4. Height - 30
5. Width - 80
6. Left - 10
7. Top - 10
8. TabOrder - 1
Теперь щелкните по форме и задайте значение 300 для свойства формы ClientWidth(Внутренняя ширина)
и значение СlientHeight(Внутренняя высота) значение 200. Чтобы размер окна нельзя
было изменить в ходе работы программы, задайте для свойства BorderStyle(Тип границы) значение bsSingle(Тонкая).
Создаем кнопку для выхода. Перенесите кнопку на форму и задайте следующие свойства:
1. Caption - Выход
2. TabOrder - 0
3. Default - True
4. Height - 30
5. Width - 80
6. Left - 110
7. Top - 160
Теперь откройте вкладку на панели инструментов System и найдите на ней компонент Timer и перенесите его на форму.
Этот компонент не будет виден при работе программы.
Теперь изменим его свойства:
1. Interval - 500
Теперь приступим к программированию.
Клацните по компоненту timer1 дважды, и создастся процедура событий таймера.
Перед begin напишите var i:integer; после begin напишите
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
и у вас должно получиться вот так:
procedure TForm1.Timer2Timer(Sender: TObject);
var
i:integer;
begin
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
end;
А теперь программируем прыгающую кнопку.
Дважды щелкните на ней - и система Delphi создаст процедуру Button1Click для
обработки щелчка на прыгающей кнопке.
Если такой щелчок произошел, значит, игра закончилась победой.
Так
В обработчике событий напишите следующее
Button1.Caption:='Готово';
Button1.Enabled:=False;
Timer1.Enabled:=false;
Теперь клацнете по кнопке закрыть два раза и напишите там просто Close;
И еще надо сделать так, чтобы случайные числа не повторялись. Для этого
надо создать процедуру обработки загрузки формы FormCreate. В Object Inspector
перейдите на вкладку Events и клацните два раза OnCreate и там напишите следующее
Randomize;
Вот и все таперь весь код программ:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:='Готово';
Button1.Enabled:=False;
Timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
begin
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
Вот и все попробуйте сделать кнопку быстрее и медленнее.
Теперь напишем программу с помощью которой можно изменять название формы.
Для этого из вкладки Стандарт перенесем два элемента:
1 - Edit1
2 - Button1
Свойство Caption кнопки изменим на "Переименовать", а у компонента Увше изменим свойство
Text (из него все удоляем).
Начнем программировать кнопку.
Дважды щелкните на кнопке, помещенной на форме. Откроется окно кода программы.
В нем появиться заготовка процедуры Button1Click. Эта процедура вызываеться при целчке на кнопке,
сделанном во время работы программы.
Теперь находим операторы begin и end; и между ними вставляем вот это form1.Caption:=edit1.Text;
и должно получиться что то похожее вот на это
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Caption:=edit1.Text;
end;
end.
В строчке form1.Caption:=edit1.Text; указываеться что свойству формы Caption присваиваеться
свойство Text компонента edit1.
На первом этапе это очень важно понять, т.к это основа на мой взгляд.
Домашнее задание:
1. Создайте программу с помощью которой можно изменить цвет формы.
2. Сделайте чтоб при нажатии на кнопку она перемещалась на какоето растояние.
А теперь программа - игра.
Создайте новую форму и перенесите на нее кнопку.
Свойтва задайте следующие:
1. Caption - Нажми меня
2. TabStop - False
3. Visible - False
4. Height - 30
5. Width - 80
6. Left - 10
7. Top - 10
8. TabOrder - 1
Теперь щелкните по форме и задайте значение 300 для свойства формы ClientWidth(Внутренняя ширина)
и значение СlientHeight(Внутренняя высота) значение 200. Чтобы размер окна нельзя
было изменить в ходе работы программы, задайте для свойства BorderStyle(Тип границы) значение bsSingle(Тонкая).
Создаем кнопку для выхода. Перенесите кнопку на форму и задайте следующие свойства:
1. Caption - Выход
2. TabOrder - 0
3. Default - True
4. Height - 30
5. Width - 80
6. Left - 110
7. Top - 160
Теперь откройте вкладку на панели инструментов System и найдите на ней компонент Timer и перенесите его на форму.
Этот компонент не будет виден при работе программы.
Теперь изменим его свойства:
1. Interval - 500
Теперь приступим к программированию.
Клацните по компоненту timer1 дважды, и создастся процедура событий таймера.
Перед begin напишите var i:integer; после begin напишите
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
и у вас должно получиться вот так:
procedure TForm1.Timer2Timer(Sender: TObject);
var
i:integer;
begin
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
end;
А теперь программируем прыгающую кнопку.
Дважды щелкните на ней - и система Delphi создаст процедуру Button1Click для
обработки щелчка на прыгающей кнопке.
Если такой щелчок произошел, значит, игра закончилась победой.
Так
В обработчике событий напишите следующее
Button1.Caption:='Готово';
Button1.Enabled:=False;
Timer1.Enabled:=false;
Теперь клацнете по кнопке закрыть два раза и напишите там просто Close;
И еще надо сделать так, чтобы случайные числа не повторялись. Для этого
надо создать процедуру обработки загрузки формы FormCreate. В Object Inspector
перейдите на вкладку Events и клацните два раза OnCreate и там напишите следующее
Randomize;
Вот и все таперь весь код программ:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:='Готово';
Button1.Enabled:=False;
Timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
begin
i:=Random(9);
Button1.Visible:=True;
Button1.Top:=10+50*(i div 3);
Button1.Left:=10+100*(i mod 3);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
Вот и все попробуйте сделать кнопку быстрее и медленнее.