Новичкам о Delphi. Цикл статей

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ronald, 4 Nov 2008.

?
  1. Легко читать

    18.2%
  2. Теряюсь

    18.2%
  3. НЕХЕРА НИПОНЯТНА!!

    63.6%
  1. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    Всем привет!
    Я познающий и довольно много познавший программист на Делфи.
    В связи с тем, что программировать на Делфи легко и свободно всё многие и многие тянутся к изучению делфи, но не многим понятны многие аспекты Делфи. Именно для этого раз в неделю, я буду добавлять сюда простенькие примеры и буквально разжевывать их вам.
    Урок 1.
    "Свойства и события"
    Для начала предполагается, что вы установили продукт от Борланд, именуемый Делфи, если нет то установите и снова вернитесь сюда.
    Теперь скачайте исходники отсюда : http://www.filehoster.ru/files/br1687.
    ***ПРЕДУПРЕЖДЕНИЕ***
    В исходнике нету комментариев, т.к. я думаю, что если для вас эта статья будет чем-то новым, то вы будете читать её всю(!!!).
    Начнём-с...
    Для того, чтобы открыть в компиляторе сделанный проект вам надо открыть файл с расширением .dpr.
    В открытом окне вы увидите перед собой окно(в дальнейшем форму) будущего приложения.
    Как несложно догадаться это счётчик количества нажатий на кнопку.
    Давайте оставим проект и перейдём к теории.
    Теория гласит, что у любого обьекта на форме (виден он или нет) есть свойства, которые можно менять во время редактирования (design time) или во время работы программы (runtime).
    Ну хватит теории.
    Найдите в окне компилятора окошечко, именуемое Object Inspector. Щелкните мышкой на любом объекте на форме (кнопке, тексту (лэйблу)или даже по пустому месту на форме). Вы увидите список, пока что большей частью вам не понятных слов и слов напротив них (запутался ;) ).
    Это Свойства объекта (вкладка Properties).
    Рядом с нею находится вкладка Events (события).
    Теория:
    Для чего нужны события в понимании простого человека:
    Событие можно представить как рычажок, который запускается в определённый момент, в который это событие происходит (onCreate при создании, onClick при нажатии на объект левой кнопкой мыши).
    Рассмотрим наш код:
    PHP:
    procedure TForm1.FormCreate(SenderTObject);  
    begin  
    n
    :=0
     
    end
     
    Здесь, мы при запуске программы обнуляем счётчик нажатий на кнопку (переменная была объявлена заранее в разделе var).
    Зачем это нужно?
    Чтобы прибавлять к переменной, нужно знать её исходное значение. Для этого мы обнуляем счётчик названный n.
    Идём дальше
    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    begin
    n
    :=n+1;
    Label2.Caption:=(IntToStr(n));
    end;
    В этом отрывке кода и идёт вся суть программы. расписываем как инструкцию:
    При нажатии кнопки Button1
    происходит
    переменной n присваивается значение её самой+1
    Название лэйбла №2 меняется на значение пременной n, но т.к. название лэйбла имеет строковой тип, то оно не согласуется с целочисленным типом integer. Для решения этой проблемы используем стандартную функцию IntToStr дословно ЦелочисленноеВСтроковое
    конец процедуры.
    Заключение:
    Почему нельзя было к примеру объявить значение переменной n, равное 0 вовремя события нажатия кнопки?
    Да потому что иначе бы значение всё время бы становилось 0+1.

    В этом примере я показал, как можно изменять свойства объектов во время выполнения программы.
    Домашнее задание)))))):
    Написать программу, которая бы изменяла название кнопки (свойство Caption) на количество нажатий на кнопку.
     
    2 people like this.
  2. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    не легче ли учебник по делфи почитать?
     
  3. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Ахахаха домашние задание хДд пацталом.. Аля тема про то как переустанавливать виндос..
     
  4. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    2 gisTy +1
     
  5. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    потом канапля ,
     
  6. Dian

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

    Joined:
    2 Sep 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    4
    ronald, пиши сразу примеры реггеров и коней - в учебниках их обычно нет
     
    1 person likes this.
  7. Sinay

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

    Joined:
    1 Sep 2007
    Messages:
    356
    Likes Received:
    365
    Reputations:
    20
    ищи норм учебник
     
  8. Sinay

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

    Joined:
    1 Sep 2007
    Messages:
    356
    Likes Received:
    365
    Reputations:
    20
    проголосовал бы,да нужного варианта нет((
    cremator (c),gisTy +1
     
  9. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    это делалось для нифига не понимающих в делфи нубиков, если вы такие мего отцы выкладывайте свои примеры для чайников, будем смотреть
     
  10. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Вчера парился со своей прогой и во время отладки стала вдруг постоянно выскакивать стек оверлоадед и хрен поймешь из за чего. Вроде не рекурсивных вызовов, не многоуровневых процедур не было.. И решил на мое удивление я тем, что описал одну переменную-массив записей как глобальную.. И все как по маслу пошло. Как такое объяснить?
     
    1 person likes this.
  11. t00th

    t00th Banned

    Joined:
    15 Jul 2007
    Messages:
    37
    Likes Received:
    15
    Reputations:
    6
    Для "нубиков" есть книжки.Для вопросов специальная тема.
    Если захотел заработать плюсы пиши что-нибудь нормальное.
     
  12. Rebz

    Rebz Super Moderator
    Staff Member

    Joined:
    8 Nov 2004
    Messages:
    4,055
    Likes Received:
    1,532
    Reputations:
    1,128
    Если в названии присутствует слово "Цикл", то делай тогда цикл, а не 1.
    Это первое.
    А второе, то что ты поведал - это вообще ничто по сравнению с нормальными знаниями Delphi. Ты либо разделы описывай, либо ещё как-то по темам большим дели. А то крупинку описал и назвал это статьей.
     
  13. Dronga

    Dronga ВАША реклама ТУТ!!

    Joined:
    1 Jul 2005
    Messages:
    575
    Likes Received:
    239
    Reputations:
    249
    Гуру-дельфи, спасай!!! /thread90251.html

    Поглядим чего автор сам умеет ;)
     
    #13 Dronga, 5 Nov 2008
    Last edited: 5 Nov 2008
  14. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    Урок-пример 2. Мелкие пакости в большой сети

    Привет!
    Слушая фонтан критики я наткнулся на предложение выложить троянчиков и обещаю, что сделаю это, но в одном из последующих уроков.
    А сегодня мы будем пакостить :cool:
    Вот чиненный и рабочий компонент TICQ .
    С его помощью мы будем пакостить всем кто сидит в аське (ну может лишь избранным идиотам :rolleyes: ).
    Вот как раз пример работы с ним Bomb Da ICQ
    Я думаю вы спокойно сможете установить компонент, если нет, то поищите файл помощи в архиве.
    Теперь можно открывать пример.
    Как видно, это ICQ-флуд (не спам, мать его за ногу!!!).
    ***ВНИМАНИЕ***
    Будьте осторожны, т.к. за спам вашу аську могут забанить, а также лучше не подписываться своим именем. дабы не получить по (возможно пустой) башке.

    Давайте смотреть код и думать о действиях в нём(по логической цепочке, а не по коду).
    1.в переменных объявлены int n и v
    2. в событии создании формы обнуляется перменная v, а кнопыч "Send Message" становится неактивным(опять изменение свойств объекта во время runtime)
    3. Пользователь вводит свои UIN и пароль в Edit1 и Edit2, а также вводит UIN жертвы
    2.Тыцкаетъ кнопыч и логинится в сервер аськи
    кнопыч Send message активируется
    вводится количество сообщений
    вводится сообщение
    4.тыц-тыц, клац-клац сообщение полетело.
    И пока n, равное количеству отправляемых сообщений не станет равным переменной v ,прога будет бомбить.
    Ну и что-то же я вам должен объяснить:
    цикл while- новое для чайников понятие,
    его можно представить как его же перевод "пока".
    Цикл while выполняется пока условие истинно (n>v).
    Прошу остальных умных, выкладывать сюда любые исходники связанные с аськой.
    Пока!
     
  15. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Уматно:D:D:DDdddd Ты теперь мегахакиръ!!!
     
    1 person likes this.
  16. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    41
    Reputations:
    6
    никто и не хотель писать мего-статью в выходные))
     
  17. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Если ты это делал для "нубиков" как сам говоришь то опиши как установить компонент для аськи, а то не всем понятно может быть
     
  18. GlOFF

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

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Хоть и не люблю критиковать, но все же очень сыровато...
    Инфа не полностью дается, допустим я ниразу не видел делфи,
    то я бы неразобрался абсолютно, особенно компонент icq.
     
  19. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Вообщем так.... о чем ваще эта тема????????
    Это цикл статей о чем???
    Чему именно ты тут хочешь научить новичков если сам из их степи???
    Слушай дорогой походу снести придется тему и если создаешь тему должен быть смысл, и нужная информация, а не эта тупость...

    -------

    Да и вообще: /showthread.php?t=85032
     
    1 person likes this.
  20. GlOFF

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

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Да.. разложи все по полочкам, где нужно скрины приведи... Усли уж это для новичков!
    Разбей на абзаци, выдели текст и дай нормальный поэтапный смысл...