Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  

форум программистов

Основы Delphi
Const
Ключевое слово
Начинает определение данных с установленными значениями unit
  
1 Const
    Name1 = Expression1;
  {...}

2 Const
    Name1 Type = Expression1;
  {...}

3 Name (Const Const1 : type {;...});
Описание
Ключевое слово Const используется для начала раздела постоянных определений.

Раздел заканчивается следующим ключевым словом в программе.

В пределах раздела могут быть определены одна или более константы. Они могут быть смесью нормальных или типизированных констант:

1. Нормальные константы

Они дают название Name1 к установленному выражению, Expression1. Выражение должно быть одним из следующих типов:

Integer number
Floating point number
Character
String
Set
Enumerated value

2. Типизированные константы

Они очень странные. Они являются постоянными только в том смысле, что их значение сохраняется во всех частях программы. Все же они могут быть изменены (когда директива компилятора {WriteableConst} установлена на On).

Они используются, например, когда подпрограмма должна содержать значения, которые сохраняются поперек запросов.

Лучше использовать Объектно-ориентированные принципы, чтобы разрешить данным сохраняться поперек доступов.

3. Постоянные параметры подпрограммы

При передачи данных подпрограмме (функция или процедура), вы можете предписать определение параметра как Константу (Const), если значение никогда не модифицируется. Это незначительно улучшает работу, разъясняет операцию подпрограммы, и предотвращает случайные обновления значения.
Похожие команды
Function  Определяет подпрограмму, которая возвращает значение

Out  Идентифицирует стандартный параметр только для вывода

Procedure  Определяет подпрограмму, которая не возвращает значение

Type  Определяет новую категорию переменной или процесса

Var  Начинает раздела определения переменных

 
Пример кода : Иллюстрация различных типов констант
Const
  MAX_LINES = 3;
  CRUDE_PI  = 22/7;
  HELLO     = 'Hello World';
  LETTERS   = ['A'..'Z', 'a'..'z'];
  DECISION  = True;

var
  i : Integer;

begin
  // Отображение нашего сырого значения Пи
  ShowMessage('Crude Pi = '+FloatToStr(CRUDE_PI));

  // Скажем миру HELLO
  ShowMessage(HELLO);

  // Отоюражение данных MAX_LINES
  for i := 1 to MAX_LINES do
  begin
    // Делаем некоторую проверку - обратите внимание, что Char(i+64) = 'A'
    if DECISION and (Char(i+63) in LETTERS)
    then ShowMessage(Char(i+63)+' является буквой')
    else ShowMessage(Char(i+63)+' не является буквой');
  end;
end;

Crude_Pi = 3.14285714285714
Hello World
@ не является буквой
A является буквой
B является буквой
 
Пример кода : Сохранение значение числа через вызовы подпрограммы
var
  i : Integer;

begin
  for i := 1 to 8 do
    ShowMessage('Number = '+IntToStr(GetNextNumber));
end;

// Получение следующего числа из данной последовательности
function TForm1.GetNextNumber: Integer;
type
  // Определение диапазона чисел, подлежащих возврату этой подпрограммой
  TNumbers = 0..5;

Const
  // Типизированная константа, действительно, является постоянной переменной:
  // Её значение, сохраняется через вызовы к этой подпрограмме.
  {$WriteableConst On}
  nextNumber : TNumbers = 0;  // Начинаем с начала

begin
  // Возвращаем текущее значение
  result := nextNumber;

  // Приращение к следующему значению
  nextNumber := (nextNumber + 1) MOD 6;
end;

Number = 0
Number = 1
Number = 2
Number = 3
Number = 4
Number = 5
Number = 0
Number = 1
 


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика



Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки? Slurm подготовили для вас особенный продукт!





форум программистов


© Форум Delphi  |  Форум Pascal   |  Блог программистов   |  Исходники Delphi   |  Автор сайта  |  Ссылки   |  Английская версия