Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 2
Всего онлайн: 2
Зарегистрировано юзеров: 6358
Комментариев на сайте: 645
Новый юзер: Realtyvaday



Последние комментарии
c
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
GZip псевдоархив, на мой вопрос тоже не отвечают, как распаковать отдельные файлы/папки...
Pingitrus прокомментировал "Урок 71 - Работа с сжатыми файлами":
Есть еще кто нибудь живой на этом сайте, кто сможет помочь? Так то все работает, zip и rar распаковывает, но у меня есть файл dat который сжат GZip, почему то его не удается распаковать или так не получится так как этот файл не является архивом или является?)) пишет ошибку что неверная функция



Мы в соцсетях
c
Delphi
Урок 5 - Функции

  Продолжаем обучение Delphi и в этом уроке мы познакомимся с функциями. Представьте, что вы написали очень большую программу в которой более 2000 строк и у вас десятки раз повторяется один и тот же участок кода. Функция позволяет избегать такие повторения. То есть мы выносим повторяющийся код в функцию, а на месте тех десятков кода просто вызываем нашу функцию.

Синтаксис функции:

function имя (входные параметры):тип выходной переменной;
Рассмотрим подробнее на примере программы. Запускаем Delphi, создаем проект и кидаем кнопку и лабел на форму. Далее в редакторе кода находим слово Private.

Private


После слова Private объявляем функцию:
function sum (a, b:integer):integer;
Сейчас нажимаем комбинацию клавиш Ctrl+Shift+C и Delphi автоматически создает загатовку:
function TForm1.sum(a, b: integer): integer;
begin

end;
И между ключевыми словами begin и end пишем то, что будет делать наша функция, а функция будет делать простейшее - сложение переменных a и b, которые мы уже записали, когда объявляли функцию.

Тело функции:
function TForm1.sum(a, b: integer): integer;
begin
sum:=a+b; //Присваиваем функции сумму переменных
end;
Если сейчас запустить программу, то ничего не произойдет, так как функция у нас нигде не вызывается, да и значение переменным a и b мы не указали.

Создаем событие OnClick на кнопке и пишем:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; //создаем переменную
begin
i:=sum(5,7); //ссумируем
Label1.Caption:=IntToStr(i);//выводим
end;
Разберем строчку, где происходит суммирование. Пишем имя функции, потом в скобках значения для переменных a и b и результат присваиваем переменной i, которую потом выводим в лабел.

Конечно я привел самый простой и понятный пример. В функцию можно записать громадную формулу, по которой вы будете вычислять конец света и что бы потом не переписывать эту формулу можно просто указывать имя функции и вводить значения переменным.

Ну вот и всё! Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 13 Июля 2012
Просмотров: 32893

Урок 4 - Циклы Урок 6 - Одномерные массивы

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил: Programer [Новичок] Дата: 2012-08-09
Процедура это тоже самое что и функция?




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2012-08-09
Функция возвращает результат, а процедура нет.
P.S. А Вы уже и процедуры освоили? Похвально.




аватар Добавил: Programer [Новичок] Дата: 2012-08-10
thanks




аватар Добавил(а): delfiSkin [Новичок] Дата: 2013-05-18
Хороший урок вычислил конец света)




аватар Добавил(а): delfiSkin [Новичок] Дата: 2013-05-18
не знаю что за глюк произошел но выше написанный комментарий относился к 6 уроку)




аватар Добавил(а): delfiSkin [Новичок] Дата: 2013-05-18
О боже ,оказывается это глюк в моей голове,тот комментарий к этому уроку




аватар Добавил: ДимаДК [Новичок] Дата: 2013-07-14
Поражаюсь похожести Delphi на Паскаль . Думал будет сложно, придется переучиваться, а это полная копия Паскаля ! Сайт просто супер ! Ведь как бы Delphi не был похож на Паскаль, сам бы я в нем не разобрался.




аватар Добавил: RinDproramer [Новичок] Дата: 2013-07-15
Delphi - это и есть Паскаль, только измененный. Немного истории: В 1970 году появился сам Паскаль. В 1978 г. появился диалект Паскаля - UCSD Pascal.В 1983 г. вышла 1-я версия диалекта - Turbo Pascal от фирмы Borland(эта фирма и сделала для нас Delphi), который базировался на UCSD Pascal.В 90-х годах фирма Borland выпустила Object Pascal, ему передалось "наследство" от Turbo Pascal.А Delphi - это по сути вариант языка Object Pascal.Но сейчас Delphi все больше отделяется от "прородителя" - Object Pascal.(Вот так-то)




аватар Добавил(а): Fanner [Новичок] Дата: 2013-12-03
Отличный сайт.Огромнейшее спасибо за уроки как всегда все откладывал, а теперь вот приходится экстерном учить т.к. через пару дней нужно что-то сдать преподу.)




аватар Добавил(а): MothaFucka [Новичок] Дата: 2013-12-31
Комбинация ctrl+shift+c не срабатывает. Embarcadero Delphi XE3




аватар Добавил(а): eltgm [Новичок] Дата: 2014-05-12
не срабатывает комбинация Ctrl+Shift+C. PortableDelphi7




аватар Добавил: Denismen [Новичок] Дата: 2014-06-06
eltgm, не может такого быть




аватар Добавил(а): eltgm [Новичок] Дата: 2014-06-18
Denismen, ты до конца дочитай на PortableDelphi эту функцию вырезали,умник




аватар Добавил(а): Exotic [Новичок] Дата: 2014-10-10
В качестве ДЗ подобрал себе опупительное задание - написать самому дискриминант через функцию. Как ни странно, получилось.




аватар Добавил(а): Dragonfly [Новичок] Дата: 2014-11-26
Спасибо, не сразу все дошло вот код (домашки от Exotic) function TForm1.dis(a,b: integer): integer; begin A:=StrToInt(Edit1.Text); repeat B:=a+b; A:=a-1; until A=0; dis:=b; end; procedure TForm1.Button1Click(Sender: TObject); var c,D:integer; begin D:=dis(0,0); Label1.Caption:=IntToStr(D); end;




аватар Добавил(а): derevyov [Новичок] Дата: 2015-08-11
Замечательный сайт! Очень доступно и понятно! Спасибо




аватар Добавила: shukrona.normatova [Новичок] Дата: 2016-07-06
Здравствуйте. Можете привести ещё более сложный пример?




аватар Добавил(а): spilberg2007 [Новичок] Дата: 2016-07-16
Согласен с shukrona.normatova. Более сложный пример не помешал бы. И еще у функций есть основное свойство выводить информацию в конце расчетов через слово Result




аватар Добавил(а): spilberg2007 [Новичок] Дата: 2016-07-16
function NameFunc(Param : Тип) : Тип_возвращаемого_значения; var //объявление переменных (необязательно) begin //тело функции Result := результат вычислений; end;