Всем привет! Я познающий и довольно много познавший программист на Делфи. В связи с тем, что программировать на Делфи легко и свободно всё многие и многие тянутся к изучению делфи, но не многим понятны многие аспекты Делфи. Именно для этого раз в неделю, я буду добавлять сюда простенькие примеры и буквально разжевывать их вам. Урок 1. "Свойства и события" Для начала предполагается, что вы установили продукт от Борланд, именуемый Делфи, если нет то установите и снова вернитесь сюда. Теперь скачайте исходники отсюда : http://www.filehoster.ru/files/br1687. ***ПРЕДУПРЕЖДЕНИЕ*** В исходнике нету комментариев, т.к. я думаю, что если для вас эта статья будет чем-то новым, то вы будете читать её всю(!!!). Начнём-с... Для того, чтобы открыть в компиляторе сделанный проект вам надо открыть файл с расширением .dpr. В открытом окне вы увидите перед собой окно(в дальнейшем форму) будущего приложения. Как несложно догадаться это счётчик количества нажатий на кнопку. Давайте оставим проект и перейдём к теории. Теория гласит, что у любого обьекта на форме (виден он или нет) есть свойства, которые можно менять во время редактирования (design time) или во время работы программы (runtime). Ну хватит теории. Найдите в окне компилятора окошечко, именуемое Object Inspector. Щелкните мышкой на любом объекте на форме (кнопке, тексту (лэйблу)или даже по пустому месту на форме). Вы увидите список, пока что большей частью вам не понятных слов и слов напротив них (запутался ). Это Свойства объекта (вкладка Properties). Рядом с нею находится вкладка Events (события). Теория: Для чего нужны события в понимании простого человека: Событие можно представить как рычажок, который запускается в определённый момент, в который это событие происходит (onCreate при создании, onClick при нажатии на объект левой кнопкой мыши). Рассмотрим наш код: PHP: procedure TForm1.FormCreate(Sender: TObject); begin n:=0; end; Здесь, мы при запуске программы обнуляем счётчик нажатий на кнопку (переменная была объявлена заранее в разделе var). Зачем это нужно? Чтобы прибавлять к переменной, нужно знать её исходное значение. Для этого мы обнуляем счётчик названный n. Идём дальше PHP: procedure TForm1.Button1Click(Sender: TObject); begin n:=n+1; Label2.Caption:=(IntToStr(n)); end; В этом отрывке кода и идёт вся суть программы. расписываем как инструкцию: При нажатии кнопки Button1 происходит переменной n присваивается значение её самой+1 Название лэйбла №2 меняется на значение пременной n, но т.к. название лэйбла имеет строковой тип, то оно не согласуется с целочисленным типом integer. Для решения этой проблемы используем стандартную функцию IntToStr дословно ЦелочисленноеВСтроковое конец процедуры. Заключение: Почему нельзя было к примеру объявить значение переменной n, равное 0 вовремя события нажатия кнопки? Да потому что иначе бы значение всё время бы становилось 0+1. В этом примере я показал, как можно изменять свойства объектов во время выполнения программы. Домашнее задание)))))): Написать программу, которая бы изменяла название кнопки (свойство Caption) на количество нажатий на кнопку.
это делалось для нифига не понимающих в делфи нубиков, если вы такие мего отцы выкладывайте свои примеры для чайников, будем смотреть
Вчера парился со своей прогой и во время отладки стала вдруг постоянно выскакивать стек оверлоадед и хрен поймешь из за чего. Вроде не рекурсивных вызовов, не многоуровневых процедур не было.. И решил на мое удивление я тем, что описал одну переменную-массив записей как глобальную.. И все как по маслу пошло. Как такое объяснить?
Для "нубиков" есть книжки.Для вопросов специальная тема. Если захотел заработать плюсы пиши что-нибудь нормальное.
Если в названии присутствует слово "Цикл", то делай тогда цикл, а не 1. Это первое. А второе, то что ты поведал - это вообще ничто по сравнению с нормальными знаниями Delphi. Ты либо разделы описывай, либо ещё как-то по темам большим дели. А то крупинку описал и назвал это статьей.
Урок-пример 2. Мелкие пакости в большой сети Привет! Слушая фонтан критики я наткнулся на предложение выложить троянчиков и обещаю, что сделаю это, но в одном из последующих уроков. А сегодня мы будем пакостить Вот чиненный и рабочий компонент TICQ . С его помощью мы будем пакостить всем кто сидит в аське (ну может лишь избранным идиотам ). Вот как раз пример работы с ним 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). Прошу остальных умных, выкладывать сюда любые исходники связанные с аськой. Пока!
Если ты это делал для "нубиков" как сам говоришь то опиши как установить компонент для аськи, а то не всем понятно может быть
Хоть и не люблю критиковать, но все же очень сыровато... Инфа не полностью дается, допустим я ниразу не видел делфи, то я бы неразобрался абсолютно, особенно компонент icq.
Вообщем так.... о чем ваще эта тема???????? Это цикл статей о чем??? Чему именно ты тут хочешь научить новичков если сам из их степи??? Слушай дорогой походу снести придется тему и если создаешь тему должен быть смысл, и нужная информация, а не эта тупость... ------- Да и вообще: /showthread.php?t=85032
Да.. разложи все по полочкам, где нужно скрины приведи... Усли уж это для новичков! Разбей на абзаци, выдели текст и дай нормальный поэтапный смысл...