Делфи для Новичков. Урок 2

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ~Fenix~, 5 Mar 2006.

  1. ~Fenix~

    ~Fenix~ Banned

    Joined:
    26 Jul 2005
    Messages:
    190
    Likes Received:
    50
    Reputations:
    6
    Урок 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;





    Вот и все попробуйте сделать кнопку быстрее и медленнее.
     
    6 people like this.
  2. ascas

    ascas Elder - Старейшина

    Joined:
    19 Jan 2006
    Messages:
    56
    Likes Received:
    4
    Reputations:
    2
    Да это уже не для новичков, а для полных чайников, и при малейшем желании самому в чем то разобраться, этому можно научится самому
     
  3. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Ну и пусть для чайников. Хоть для самоваров. Как сказал один чувак :) - "Учиться x 3". Кому то поможет и это.
    А пожелание автору - пиши статьи размером побольше.
     
    2 people like this.
  4. gadjet

    gadjet Elder - Старейшина

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Где-то я видел подобную программу(игра), возможно в моей первой книжке по делфи (ох, как давно это было...). Есть замечание по статье: в тексте просто описывается последовательность действий, новичку будет непонятно, что, откуда и куда.
     
  5. ~Fenix~

    ~Fenix~ Banned

    Joined:
    26 Jul 2005
    Messages:
    190
    Likes Received:
    50
    Reputations:
    6
    Посибо всем кто откликнулся, очень блогодарен вам, прорамму с прыгающей кнопкой придумал не я. И в дальнейших статьях будут прогаммы которые не я придумал, я лишь стараюсь обьяснить их действие
     
  6. gadjet

    gadjet Elder - Старейшина

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Рекомендация: старайся объяснить, чтобы было новичкам понятно. А так, респект за труды.
     
  7. Jonathan Allen

    Joined:
    21 Mar 2005
    Messages:
    62
    Likes Received:
    6
    Reputations:
    2
    Где скачать Делфи? Google друг, но он безсилен.

    А вотбще-то хотелось бы увидеть статью немного иначе написанную для новичков. Например: "End делает то-то, то-то.... ";" - то-то, то-то.... "String" -то-то, "WideString" итд...
     
  8. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    String - строка
    WideString - дикая строка
    End делает конец
    ; посмотри в учебнике русского языка

    Делфи скачать нельзя, его вообще нету. Это прикол!
     
    1 person likes this.
  9. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    Ну хоть дай сылку на прогу с которой работают, ото я в Делфи не силён, вот и незнаю где эту прогу достать.
     
    1 person likes this.
  10. Jonathan Allen

    Joined:
    21 Mar 2005
    Messages:
    62
    Likes Received:
    6
    Reputations:
    2
    Можно повесить в "обьявления", с пометкой "пример флуда".

    Если по существу сказать нечего, то в brain.dll необходимо выставить параметр "Silent = True".
     
    #10 Jonathan Allen, 5 Mar 2006
    Last edited: 5 Mar 2006
    2 people like this.
  11. ~Fenix~

    ~Fenix~ Banned

    Joined:
    26 Jul 2005
    Messages:
    190
    Likes Received:
    50
    Reputations:
    6
    Могу сказать что качать это бесмысленно, установка занимает 660 метров, поищи на прокате или купи, вещь четкая не пожалеешь;)
     
  12. TMI

    TMI Banned

    Joined:
    26 Jan 2006
    Messages:
    7
    Likes Received:
    3
    Reputations:
    0
    Простенько и как раз для чайиников - хорошая статья
     
  13. [Zarakul]

    [Zarakul] Elder - Старейшина

    Joined:
    12 Dec 2005
    Messages:
    153
    Likes Received:
    49
    Reputations:
    6
    Всё круто, VIYu молодец! Только одна просьба: не пиши больши таким цветом =)
     
  14. ascas

    ascas Elder - Старейшина

    Joined:
    19 Jan 2006
    Messages:
    56
    Likes Received:
    4
    Reputations:
    2
    Кто хочет скачать Borland Visual Studio (там на delphi пишут =]) юзайте Bittorrent, скачал за одну ночь 3600 метров