Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Делфи для Новичков. Урок 2 |

05.03.2006, 16:41
|
|
Banned
Регистрация: 26.07.2005
Сообщений: 240
Провел на форуме: 1266236
Репутация:
75
|
|
Делфи для Новичков. Урок 2
Урок 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;
Вот и все попробуйте сделать кнопку быстрее и медленнее.
|
|
|

05.03.2006, 16:46
|
|
Познающий
Регистрация: 20.01.2006
Сообщений: 84
Провел на форуме: 156615
Репутация:
5
|
|
Да это уже не для новичков, а для полных чайников, и при малейшем желании самому в чем то разобраться, этому можно научится самому
|
|
|

05.03.2006, 16:57
|
|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме: 9751364
Репутация:
1847
|
|
Да это уже не для новичков, а для полных чайников, и при малейшем желании самому в чем то разобраться, этому можно научится самому
Ну и пусть для чайников. Хоть для самоваров. Как сказал один чувак  - "Учиться x 3". Кому то поможет и это.
А пожелание автору - пиши статьи размером побольше.
|
|
|

05.03.2006, 17:01
|
|
Познающий
Регистрация: 17.12.2005
Сообщений: 78
Провел на форуме: 464418
Репутация:
23
|
|
Где-то я видел подобную программу(игра), возможно в моей первой книжке по делфи (ох, как давно это было...). Есть замечание по статье: в тексте просто описывается последовательность действий, новичку будет непонятно, что, откуда и куда.
|
|
|

05.03.2006, 20:46
|
|
Banned
Регистрация: 26.07.2005
Сообщений: 240
Провел на форуме: 1266236
Репутация:
75
|
|
Посибо всем кто откликнулся, очень блогодарен вам, прорамму с прыгающей кнопкой придумал не я. И в дальнейших статьях будут прогаммы которые не я придумал, я лишь стараюсь обьяснить их действие
|
|
|

05.03.2006, 21:24
|
|
Познающий
Регистрация: 17.12.2005
Сообщений: 78
Провел на форуме: 464418
Репутация:
23
|
|
я лишь стараюсь обьяснить их действие
Рекомендация: старайся объяснить, чтобы было новичкам понятно. А так, респект за труды.
|
|
|

05.03.2006, 21:42
|
|
Познающий
Регистрация: 21.03.2005
Сообщений: 71
Провел на форуме: 516278
Репутация:
15
|
|
Где скачать Делфи? Google друг, но он безсилен.
А вотбще-то хотелось бы увидеть статью немного иначе написанную для новичков. Например: "End делает то-то, то-то.... ";" - то-то, то-то.... "String" -то-то, "WideString" итд...
|
|
|

05.03.2006, 21:53
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
String - строка
WideString - дикая строка
End делает конец
; посмотри в учебнике русского языка
Делфи скачать нельзя, его вообще нету. Это прикол!
|
|
|

05.03.2006, 22:13
|
|
Banned
Регистрация: 05.10.2005
Сообщений: 965
Провел на форуме: 5888800
Репутация:
547
|
|
Ну хоть дай сылку на прогу с которой работают, ото я в Делфи не силён, вот и незнаю где эту прогу достать.
|
|
|

05.03.2006, 22:16
|
|
Познающий
Регистрация: 21.03.2005
Сообщений: 71
Провел на форуме: 516278
Репутация:
15
|
|
Сообщение от KEZ
String - строка
WideString - дикая строка
End делает конец
; посмотри в учебнике русского языка
Делфи скачать нельзя, его вообще нету. Это прикол!
Можно повесить в "обьявления", с пометкой "пример флуда".
Если по существу сказать нечего, то в brain.dll необходимо выставить параметр "Silent = True".
Последний раз редактировалось antares; 05.03.2006 в 22:20..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|