Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Новичкам о Delphi. Цикл статей (https://forum.antichat.xyz/showthread.php?t=90436)

ronald 04.11.2008 21:43

Новичкам о Delphi. Цикл статей
 
Всем привет!
Я познающий и довольно много познавший программист на Делфи.
В связи с тем, что программировать на Делфи легко и свободно всё многие и многие тянутся к изучению делфи, но не многим понятны многие аспекты Делфи. Именно для этого раз в неделю, я буду добавлять сюда простенькие примеры и буквально разжевывать их вам.
Урок 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) на количество нажатий на кнопку.

gisTy 05.11.2008 02:24

не легче ли учебник по делфи почитать?

cremator (c) 05.11.2008 02:32

Ахахаха домашние задание хДд пацталом.. Аля тема про то как переустанавливать виндос..

preda1or 05.11.2008 02:47

2 gisTy +1

PHPoozy 05.11.2008 06:52

потом канапля ,

Dian 05.11.2008 06:59

ronald, пиши сразу примеры реггеров и коней - в учебниках их обычно нет

Sinay 05.11.2008 07:34

Цитата:

Сообщение от DVD_RW
у мну учебник лежит дома - там первые два десятка страниц - чё как для чего комп - ну это не интересно ))
потом - простой калькулятор - теперь я знаю как его написать :) .. потом ещё ещё еще и потом васче хрень ппц какая идёт =(

ищи норм учебник

Sinay 05.11.2008 07:36

проголосовал бы,да нужного варианта нет((
cremator (c),gisTy +1

ronald 05.11.2008 11:32

это делалось для нифига не понимающих в делфи нубиков, если вы такие мего отцы выкладывайте свои примеры для чайников, будем смотреть

cremator (c) 05.11.2008 12:14

Вчера парился со своей прогой и во время отладки стала вдруг постоянно выскакивать стек оверлоадед и хрен поймешь из за чего. Вроде не рекурсивных вызовов, не многоуровневых процедур не было.. И решил на мое удивление я тем, что описал одну переменную-массив записей как глобальную.. И все как по маслу пошло. Как такое объяснить?

t00th 05.11.2008 13:50

Для "нубиков" есть книжки.Для вопросов специальная тема.
Если захотел заработать плюсы пиши что-нибудь нормальное.

Rebz 05.11.2008 14:17

Если в названии присутствует слово "Цикл", то делай тогда цикл, а не 1.
Это первое.
А второе, то что ты поведал - это вообще ничто по сравнению с нормальными знаниями Delphi. Ты либо разделы описывай, либо ещё как-то по темам большим дели. А то крупинку описал и назвал это статьей.

Dronga 05.11.2008 15:20

Гуру-дельфи, спасай!!! https://forum.antichat.ru/thread90251.html

Поглядим чего автор сам умеет ;)

ronald 09.11.2008 15:23

Урок-пример 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).
Прошу остальных умных, выкладывать сюда любые исходники связанные с аськой.
Пока!

cremator (c) 09.11.2008 15:40

Уматно:D:D:DDdddd Ты теперь мегахакиръ!!!

ronald 09.11.2008 16:09

никто и не хотель писать мего-статью в выходные))

cremator (c) 09.11.2008 18:49

Если ты это делал для "нубиков" как сам говоришь то опиши как установить компонент для аськи, а то не всем понятно может быть

GlOFF 09.11.2008 19:01

Хоть и не люблю критиковать, но все же очень сыровато...
Инфа не полностью дается, допустим я ниразу не видел делфи,
то я бы неразобрался абсолютно, особенно компонент icq.

De-visible 09.11.2008 19:51

Вообщем так.... о чем ваще эта тема????????
Это цикл статей о чем???
Чему именно ты тут хочешь научить новичков если сам из их степи???
Слушай дорогой походу снести придется тему и если создаешь тему должен быть смысл, и нужная информация, а не эта тупость...

-------

Да и вообще: http://forum.antichat.ru/showthread.php?t=85032

GlOFF 09.11.2008 19:55

Да.. разложи все по полочкам, где нужно скрины приведи... Усли уж это для новичков!
Разбей на абзаци, выдели текст и дай нормальный поэтапный смысл...


Время: 12:35