Здравствуйте, в сегоднешней статье я хотел бы рассказать вам мои дорогие начинающие программисты делфи о функциях, о том как их создавать и вызывать. Решил написать эту статью поскольку многие сталкиваются с функциями, но ничего о них не знают, а кто-то просто не хочет их использовать.
Что же такое функция и зачем она нужна?
Функции предназначены для выполнения повторяющегося кода, и являются не заменимой вещью при создании относительно крупных приложений. Объявляется она следующим образом, взгляните на пример:
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 - Выдает вчерашнюю дату
|