Пятница, 17.05.2024, 14:22
Главная Регистрация RSS
Приветствую Вас, Гость
Главная » Основы Delphi » Функции в Delphi
23:02

Функции в Delphi

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

Что же такое функция и зачем она нужна?

Функции предназначены для выполнения повторяющегося кода, и являются не заменимой вещью при создании относительно крупных приложений. Объявляется она следующим образом, взгляните на пример:

function functionName (i: Integer; Str: String): Variant;

function - это ключевое слово, служащая для объявления функции в программе. За ней следует наименование функции, в нашем примере это - functionName, по имени функция вызывается из кода программы. В скобках перечисляются параметры передаваемые в функцию, они содержат данные которые обрабатываются "телом" функции, что они означают мы рассмотрим более подробно в других статьях. Сейчас лишь скажу что переменая i имеет тип данных Integer - целое число, а переменая Str тип данных String - строка.

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

Для использования функции в программе вышеперечисленых данных вполне достаточно, давайте приступим к практике. Разработаем программу с использованием функции, которая будет вычислять сумму полученых данных и возвращать результат. Это наипростейший пример. И так для его реализации нам понадобиться один компонент Button, и label. Они оба расположены на вкладке Standart.

Теперь создаем нашу первую функцию и назовем мы её func.

Прежде всего необходимо сделать следующее, перейти в верхнюю часть модуля unit1 и разделе private написать такую строчку:

function func (i, j: integer): integer;

Пишем код функции, у вас должно получиться примерно следующее:

function TForm1.func (i, j: integer): integer;
begin
end;

Тело функции будет содержать следующий код:

Result := i+j;

который складывает два числа

Вызов функции в программе.

Функции мы будет вызывать на событие "щелчок" по кнопке Button1 и выводить результат работы в компонент метку Label1. Это будет выглядить следующим образом:

Label1.Caption:=IntToStr(func(43,23));

IntToStr - встроенная в delphi функция, переводит данные из числового типа в строковый. Более подробное описание содержится в справочники по Delphi

Стандартные функции Delphi

  • Abs - Предназначена для получения абсолютной величины числа (модуль)
  • Addr - Возвращает адрес переменной, функции или процедуры
  • AnsiCompareStr - Сравнение двух строк на равенство
  • AnsiCompareText - Сравнение двух строк на равенство
  • AnsiContainsStr - Возвращается истина, если строка содержит подстроку
  • AnsiEndsStr - Возвращется истина, если строка заканчивается подстрокой
  • AnsiIndexStr - Сравнивает строку со списком строк, возвращает соответствующий индекс
  • AnsiLeftStr - Извлечённые символы слевой стороны строки
  • AnsiLowerCase - Символы верхнего регистра изменяются в строку со строчными буквамм
  • AnsiMatchStr - Возвращается истина, если строка точно соответствует какой-либо строке из списка
  • AnsiMidStr - Возвращает подстроку из средних символов строки
  • AnsiPos - Находит позицию одной строки в другой
  • AnsiReplaceStr - Заменяет часть одной строки другой
  • AnsiReverseString - Переворачивает последовательность символов в строке
  • AnsiRightStr - Извлечение символов с правой стороны строки
  • AnsiStartsStr - Возвращается истина, строка начинается подстрокой
  • AnsiUpperCase - Символы нижнего регистра изменяются на символы верхнего регистра
  • ArcCos - Арккосинус числа, возвращается в радианах
  • ArcSin - Арксинус числа, возвращается в радианах
  • ArcTan - Арктангенс числа, возвращается в радианах
  • Assigned - Осуществляет проверку функциональности указателей, объектов, методов
  • BeginThread - Начинает отдельный поток выполнения кода
  • Bounds - Передаёт координаты вершин объекта типа TRect (прямоугольник)
  • CelsiusToFahrenheit - Конвертирует значение температуры из Цельсия в Фаренгейта
  • ChangeFileExt - Изменяет расширение имени файла
  • Chr - Конвертирует целое число в символ
  • CompareStr - Сравнивает две строки, чтобы увидеть, какая из них больше
  • CompareText - Сравнивает две строки, игнорируя регистр
  • Concat - Соединяет несколько строк в одну
  • Convert - Преобразует одну величину измерения в другую
  • Copy - Создает копию части строки или части массива
  • Cos - Косинус числа
  • CreateDir - Создаёт директорию
  • CurrToStr - Преобразует денежную величину в строку
  • CurrToStrF - Преобразует денежную величину в строку с форматированием
  • Date - Возвращает текущую дату
  • DateTimeToFileDate - Преобразует значение TDateTime в формат date/time формат файла
  • DateTimeToStr - Конвертирует значение даты и времени TDateTime в строку
  • DateToStr - Преобразует значение даты TDateTime в строку
  • DayOfTheMonth - Дает день месяца для значения TDateTime (ISO 8601)
  • DayOfTheWeek - Возвращает индекс дня недели для значения TDateTime (ISO 8601)
  • DayOfTheYear - Выдает день года для значения TDateTime (ISO 8601)
  • DayOfWeek - Выдает индекс дня недели для значения TDateTime
  • DaysBetween - Выдает целый число дней между 2 датами
  • DaysInAMonth - Выдает число дней в месяце
  • DaysInAYear - Выдает число дней в году
  • DaySpan - Выдает дробное число дней между 2 датами
  • DegToRad - Преобразование значения градусов в радианы
  • DeleteFile - Удаляет файл, указанный в параметре
  • DirectoryExists - Возвращает true, если указанная директория существует
  • DiskFree - Выдает число свободных байтов на указанном диске
  • DiskSize - Выдает размер указанного диска в байтах
  • DupeString - Создает строку, содержащую копии подстроки
  • EncodeDate - Формирует значение TDateTime из значений года, месяца и дня
  • EncodeDateTime - Формирует значение TDateTime из значений времени и дня
  • EncodeTime - Формирует значение TDateTime из значений часа, минуты, секунды и миллисеккунды
  • EndOfADay - Генерирует значение TDateTime, установленное на самый конец дня
  • EndOfAMonth - Генерация значения TDateTime, установленное на самый конец месяца
  • Eof - Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset
  • Eoln - Возвращает true, если позиция курсора находится в конце строки
  • Exp - Выдаёт экспоненту числа
  • ExtractFileDir - Иизвлекает из полного имени файла название папки
  • ExtractFileDrive - Извлекает из полного имени файла название диска
  • ExtractFileExt - Извлекает из полного имени файла его расширение
  • ExtractFileName - Извлекает из полного имени файла краткое имя файла
  • ExtractFilePath - Извлекает из полного имени файла название патча
  • FahrenheitToCelsius - Конвертирует температуру из Фаренгейта в Цельсий
  • FileAge - Получение датя/время последнего изменения файла, не открывая его
  • FileDateToDateTime - Конвертирует формат даты/времени файла в значение TDateTime
  • FileExists - Возвращает True если указанный файл существует
  • FileGetAttr - Выдаёт атрибуты файла
  • FilePos - Устанавливает позицию в файле
  • FileSearch - Поиск файла в одной или более папках
  • FileSetAttr - Устанавливает атрибуты файла
  • FileSetDate - Установка даты и времени последнего изменения файла
  • FileSize - Выдает размер открытого файла в записях
  • FindClose - Закрывает успешный FindFirst поиск файла
  • FindCmdLineSwitch - Определяет, был передан некоторый параметр выключатель
  • FindFirst - Находит все файлы, соответствующие маске файла и атрибутов
  • FindNext - Находит следующий файл после успешного FindFirst
  • FloatToStr - Преобразует значение с плавающей запятой в строку
  • FloatToStrF - Преобразует значение с плавающей запятой в строку с форматированием
  • ForceDirectories - Создаёт новый путь каталогов
  • Format - Богатое форматирование чисел и текста в строке
  • FormatCurr - Богатое форматирование значений валюты в строку
  • FormatDateTime - Богатое форматирование переменной TDateTime в строку
  • FormatFloat - Богатое форматирование числа с плавающей запятой в строку
  • Дробная часть числа с плавающей запятой
  • GetCurrentDir - Возвращает текущий каталог (диск плюс каталог)
  • GetLastError - Выдаёт код ошибки последнего неудачного Windows API вызова.
  • GetMem - Получает указанное число байтов памяти.
  • Hi - Возвращает байт старшего разряда от типа Integer.
  • High - Возвращает самое высокое значение типа или переменной
  • IncDay - Приращивает переменную типа TDateTime на + или - число дней
  • IncMillisecond - Приращивает переменную типа TDateTime на + или - число миллисекунд
  • IncMinute - Приращивает переменную типа TDateTime на + или - число минут.
  • IncMonth - Увеличивает TDateTime переменную на некоторое число месяцев
  • IncSecond - Приращивает переменную типа TDateTime на + или - число секунд
  • IncYear - Увеличивает TDateTime переменную на количество лет
  • InputBox - Отображает диалог, который просит пользователя о вводе текста, со значением по умолчанию
  • InputQuery - Отображает диалог, который просит пользователя о вводе текста
  • Int - Целая часть числа с плавающей точкой
  • IntToHex - Преобразует целое число в шестнадцатеричную строку
  • IntToStr - Конвертирует целое число в строку
  • IOResult - Содержит возвращаемый код последней операции ввода/вывода
  • IsInfinite - Проверяет, является ли число с плавающей запятой бесконечным
  • IsLeapYear - Возвращает True, если данный календарный год високосный
  • IsMultiThread - Возвращает True, если код выполняет множество потоков
  • IsNaN - Выясняет, содержит ли число с плавающей запятой настоящее число
  • LastDelimiter - Находит последнюю позицию указанных символов в строке
  • Length - Возвращает число элементов в массиве или строке
  • Ln - Выдает натуральный логарифм числа
  • Lo - Возвращает младший байт целого числа (2 - байтового)
  • Log10 - Вычисляет логарифм числа с основанием 10
  • Low - Возвращает самое низкое значение типа или переменной
  • LowerCase - Изменяет символы верхнего регистра в строке в строчные буквы
  • Max - Выдает максимальное число из двух целых значений
  • Mean - Выдает среднее число из набора чисел
  • MessageDlg - Отображает сообщение, знак и выбираемые кнопки
  • MessageDlgPos - Отображает сообщение и кнопки в заданной позиции экрана
  • Min - Выдает минимальное из двух целых значений
  • MonthOfTheYear - Выдает месяц года для значения TDateTime
  • Now - Выдает текущую дату и время
  • Odd - Провеяет, является ли целое число нечетным
  • Ord - Порядковое значение целого числа, символа или перечисления
  • ParamCount - Выдает число параметров переданной текущей программе
  • ParamStr - Возвращается один из параметров используемых для запуска текущей программы
  • Pi - Математическая константа
  • Point - Генерирует значение TPoint из значений X и Y
  • PointsEqual - Сравнивает два значения TPoint на предмет равенства
  • Pos - Находит позицию одной строки в другой
  • Pred - Уменьшает порядковую переменную
  • Printer - Возвращает ссылку к глобальному объекту Printer
  • PromptForFileName - Показывает диалог, позволяющий пользователю выбрать файл
  • PtInRect - Проверяет, находится ли точка в пределах прямоугольника
  • RadToDeg - Преобразовывает значение радиана в градусы
  • Random - Генерирует случайное целое число или число с плавающей запятой
  • RandomRange - Генерирует произвольное число в пределах введённого диапазона
  • RecodeDate - Изменяет только дату переменной TDateTime
  • RecodeTime - Изменяет только время переменной TDateTime
  • Rect - Создаёт величину TRect с указанием 2 точек или 4 координат
  • RemoveDir - Позволяет удалить директорию
  • Rename - Переименовка фала
  • RenameFile - Переименование файла или директории
  • Round - Округление чисел с плавающей запятой до целого числа
  • RunError - Заканчивает программу с диалогом ошибки
  • SeekEof - Пропускает символы, пока не встретится конец файла
  • SeekEoln - Пропускает символы, пока не встретится конец текущей строки или файла
  • FileCtrl - SelectDirectory - Выводит диалоговое окно, с помощью которого пользователь может выбрать директорию
  • SetCurrentDir - Изменяет текущую директорию
  • Sin - Синус числа
  • SizeOf - Возвращает занимаемый размер типа или переменной в байтах
  • Slice - Создает часть массива с параметром "Открытый Массив"
  • Sqr - Возвращает квадрат числа
  • Sqrt - Возвращает квадратный корень числа
  • StringOfChar - Создает строку из одного символа, повторенного много раз
  • StringReplace - Заменяет одну или несколько подстрок, найденных в заданной строке
  • StringToWideChar - Преобразует обычную строку в WideChar - буфер с завершающим 0
  • StrScan - Ищет заданные символы в строке
  • StrToCurr - Преобразует числовую строку в денежное выражение
  • StrToDate - Конвертирует строку с датой в значение типа TDateTime
  • StrToDateTime - Конвертирует строку с датой и временем в значение типа TDateTime
  • StrToFloat - Преобразует числовую строку в значение с плавающей запятой
  • StrToInt - Преобразует строку с целым значением в Integer
  • StrToInt64 - Преобразует строку с целым значением в Int64
  • StrToInt64Def - Преобразует строку с целым значением в Int64, учитывая значение по умолчанию
  • StrToIntDef - Преобразует строку с значение с типом Integer, учитывая значение по умолчанию
  • StrToTime - Конвертирует строку с временем в значение с типом TDateTime
  • StuffString - Заменяет часть одной строки на другую
  • Succ - Инкрементирует порядковую переменную
  • Sum - Находит сумму элементов массива, состоящего из чисел с плавающей точкой
  • Tan - Тангенс числа
  • Time - Возвращает текущее время
  • TimeToStr - Конвертирует значение времени типа TDateTime в строку
  • Tomorrow - Возвращает дату завтрашнего дня
  • Trim - Удаляет начальные и конечные пробелы в строке
  • TrimLeft - Удаляет начальные пробелы в строке
  • TrimRight - Удаляет конечные пробелы в строке
  • Trunc - Целая часть числа с плавающей запятой
  • UpCase - Преобразует значение Char к верхнему регистру
  • UpperCase - Изменяет символы в строке из нижнего регистра в верхний
  • VarType - Возвращает текущий тип Variant переменной
  • WideCharToString - Копирует строку WideChar, заканчивающуюся нулём, в нормальную строку
  • WrapText - Добавьте перенос строки в строку, чтобы имитировать перенос слов
  • Yesterday - Выдает вчерашнюю дату
Категория: Основы Delphi | Просмотров: 10738 | Добавил: SliderVip | Рейтинг: 5.0/1
Всего комментариев: 2
1 Игорь  
0
Вот когда пишу объявление функции после кода в которой я его вызываю почему-то выскакивает ошибка, а если его написать перед вызовом то все работает нормально. С чем это связано?

2 Иван  
0
1. функция/процедура должна быть объявлена перед использованием, например:

function someFunc() : Integer;
begin
..
end;

procedure xxx();
begin
{здесь используется функция someFunc}
end;

2. или функцию/процедуру необходимо вынести в блок interface, например:
interface

function someFunc() : Integer;

implementation

procedure xxx();
begin
{здесь используется функция someFunc}
end;

function someFunc() : Integer;
begin
..
end;

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

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]