Язык Delphi. Переменные, константы и их типы - Форум
Суббота, 08.02.2025, 22:16 | Приветствую Вас Гость

Жми-форум обо всём

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Модератор форума: RoMkA29  
Язык Delphi. Переменные, константы и их типы
RoMkA29Дата: Понедельник, 08.04.2013, 23:20 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 264
Репутация: 3
Статус: Offline
Данные в компьютере можно рассматривать как ячейки памяти, имеющие свои имена (идентификаторы). Все данные в программе на языке Delphi должны быть описаны до их первого использования. И компилятор следит, чтобы в программе они использовались в соответствии с этим описанием, что позволяет избежать ошибок.

    Любая величина в Delphi может быть постоянной или переменной. Её имя (идентификатор) может состоять из комбинации латинских букв, цифр и знака подчёркивания, и начинаться не с цифры. При этом регистр символов значения не имеет.

    Место описания данных в программе - вне логических блоков begin / end. В модуле перед ключевым словом implementation есть блок описания:

Код
[b]var[/b]
   Form1: TForm1;


Именно здесь, начиная со следующей строки, удобно объявлять глобальные переменные и константы. Как видим, одна (Form1) уже есть!

Команда объявления переменных в языке Delphi:

   var имя_переменной : тип_переменной ;

    Слово var - ключевое. Именем может быть любой идентификатор, если он не был описан ранее и не является одним из ключевых или зарезервированных слов языка Delphi. Если нужно описать несколько переменных одного типа, то их перечисляют, отделяя запятой: 

    
Код
[b]var[/b] A, B, C [b]: Integer;[/b]


    Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:

Код
[b]var[/b] A, B [b]: Integer;[/b]
         C, D [b]: String;[/b]


    Постоянную величину иначе называют константой. Конечно, в программе можно использовать числа и строки непосредственно: 3.1415 или 'Это значение числа пи', но иногда удобнее присвоить их идентификатору. Описание констант аналогично описанию переменных, но используется ключевое слово const, за именем идентификатора следует тип, затем знак равенства и его значение. Причём тип константы допускается не указывать:

Код
[b]const[/b] pi[b]=[/b][color=blue]3.1415[/color] [b];[/b]
          ZnakPi [b]: String =[/b] [color=blue]'Это значение числа пи'[/color][b];[/b]


К слову, константа Pi встроенная в Delphi, то есть для того чтобы использовать в Delphi число3,1415... в расчётах, нужно просто присвоить встроенную константу Pi переменной типа Real или просто использовать непосредственно в выражениях.

   Теперь пришло время узнать о типах данных, используемых в Delphi. Прежде всего это строки и числа.

   Строкой называется последовательность символов, заключённая в одиночные кавычки:
'это текстовая строка'Если текст должен содержать сам символ кавычки, то его надо повторить дважды:
'это '' - символ одиночной кавычки'Строка может быть и пустой, не содержащей символов. Тогда она состоит из двух идущих друг за другом без пробела кавычек. Естественно, строка может состоять и только из одних пробелов.
   Самый популярный строковый тип - String. Строка типа String может содержать переменное количество символов объёмом до 2 Гбайт. Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String[50]. Более полно работа со строками Delphiописывается далее. 
   Одиночный символ имеет тип Char и записывается в виде знака в одиночных кавычках: 'a'. Есть символы, которые на экране отобразить невозможно, например, символ конца строки (равен #13), символ переноса строки (равен #10). Такие символы записываются в виде их числового кода (в кодировке ANSI), перед которым стоит знак #. Например, #0.
   Наконец, существуют так называемые нуль-терминированные строки. Отсчёт символов в таких строках начинается с нуля, а заканчивается символом с кодом 0 (#0). Такие строки имеют тип PChar.

   Числа бывают целые и дробные.
В следующей таблице перечислены стандартные типы целых чисел и соответствующие им дипазоны допустимых значений.

   Integer   -2147483648 .. +2147483647   Cardinal   0 .. 4294967295   Shortint   -128 .. +127   Smallint   -32768 .. +32767   Int64   -263 .. +263-1   Byte   0 .. +255   Word   0 .. +65535Наиболее удобным для использования в программах является тип Delphi Integer. Другие целые типы используются для уменьшения места, занимаемого данными в памяти компьютера.

   Дробные числа имеют дробную часть, отделяемую десятичной точкой. Допускается использование символа e (или E), за которым следует число, указывающее, что левую часть нужно умножить на 10 в соответствующей степени: 5e25 - пять умножить на десять в двадцать пятой степени.
Ниже приведены стандартные типы дробных чисел и соответствующие им диапазоны допустимых значений. Для большинства типов указан диапазон положительных значений, однако допустимым является аналогичный диапазон отрицательных значений, а также число 0.

   Real   5*10-324 .. 1.7*10308   Real48   2.9*10-39 .. 1.7*1038   Singl   1.5*10-45 .. 3.4*1038   Double   5*10-324 .. 1.7*10308   Extended   3.6*10-4951 .. 1.1*104932-1   Comp   -263 .. +263-1   Currency   922337203685477.5807Наиболее удобным для использования в программах является тип Delphi Real. Ему эквивилентен тип Double, но в будущем это может быть изменено. Вычисления с дробными числами выполняются приближённо, за исключением типа Currency (финансовый), который предназначен для минимизации ошибок округления в бухгалтерских расчётах.

   Следующим типом данных является логический Boolean, состоящий всего из двух значений: True(Истина) и False (Ложь). При этом True > False.

   Теперь, используя компоненты, их свойства и события, вводя собственные переменные, можно конструировать программы, содержащие вычисления. Осталось узнать, как вычисленное значение вывести на экран.
Про консольные программы я здесь не говорю! А в нормальных оконных Windows-приложениях это значение нужно поместить в какой-нибудь компонент, имеющий свойства Text или Caption. Это, например, такие компоненты как Label и Edit, да и сама Форма имеет свойство Caption, куда тоже можно выводить информацию. Однако, в Delphi информацию перед выводом, как правило, необходимо преобразовывать. Так как присвоение возможно только между переменными одного типа, то такая программа (не пытайтесь её исполнять):

   
Код
[b]var[/b] A, B, C: Integer ;
   [b]begin[/b]
    A := 5 ;
    B := 10 ;
    C := A+B ;
    Label1.Caption := C ;
   [b]end ;[/b]


вызовет ошибку, так как свойство Caption имеет текстовый тип String, а использованные переменные - цифровой тип Integer. Значит, нужно преобразовать значение переменной C в текстовый тип. Для этого есть встроенная функция IntToStr. Строка в нашей "программе", вызывавшая ошибку, должна выглядеть так:

   
Код
[b]Label1.Caption := IntToStr(C) ;[/b]


   Такая программа, кроме показа числа 15, ни на что не способна. Мы должны научиться вводить в программу другие числа. Используем компоненты Edit. Введённые числа будут содержаться в свойстве Text этих компонентов. Расположим на форме два компонента Edit, один компонент Label и кнопку Button, по нажатию на которую и будем проводить вычисления. В компоненты Edit1 и Edit2будем вводить числа для суммирования. Чтобы переместиться в редактор кода, щёлкнем дважды по нашей кнопке Button1. Мы попадём прямо в сформированную для нас средой Delphi заготовку обработчика нажатия на кнопку, непосредственно между операторами begin и end. Напишем такой простой код:

  
Код
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);
   [b]var[/b] A, B, C: Integer;[color=navy][i]//Не забудьте описание переменных[/i][/color]
   [b]begin[/b]
   [color=navy][i]//Начало кода:[/i][/color]
    A := Edit1.Text;
    B := Edit2.Text;
    C := A+B;
    Label1.Caption := IntToStr(C);
   [color=navy][i]//Конец кода[/i][/color]
   [b]end ;[/b]
 

При попытке исполнить этот код Delphi покажет ошибки по аналогичной причине - переменные A и Bимеют цифровой тип Integer, а свойство Text - текстовый тип String. Исправить ошибки поможет встроенная функция StrToInt, выполняющая обратное преобразование - текст в целое число. Операторы присвоения переменным A и B должны выглядеть так:

   
Код
A := StrToInt(Edit1.Text);
    B := StrToInt(Edit2.Text);


В данном случае переменные A, B, C использовались для наглядности. Можно обойтись одной строчкой:

   
Код
Label1.Caption:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text));

Аналогично, имеются функции и для преобразования в строку и обратно действительных чисел c плавающей (Floating англ.) запятой, имеющих тип Real. Для преобразования в строку - FloatToStr, обратно - StrToFloat.
 
  • Страница 1 из 1
  • 1
Поиск:

Навигация
Block title
Форма входа

Наш бот
Наш бот информер

ICQ:636-921-022
Jabber:zhmibot@jabber.ru
Случайные картинки
Случайная музыка
[27.05.2013][mp3]
Loc Dog – Давай останемся друзьями (0)
Loc Dog – Давай останемся друзьями
[11.03.2013][mp3]
Johnyboy - Я не умею разговаривать с людьми (InDaBattle2 Round5) EFREET PROD (0)
Johnyboy - Я не умею разговаривать с людьми (InDaBattle2 Round5) EFREET PROD
[22.08.2013][mp3]
Адвайта – Я так тебя люблю (1)
Адвайта – Я так тебя люблю
Опрос
Вы к нам ещё вернетесь?
Всего ответов: 32
Поиск
Обновление
  • Куплю, обмен швейцарские франки 8 серии, английские фунты (1)
  • Раздача Халявы (ICQ Дедиков Wmz Wmr, Steam аккаунты к играм (1)
  • Мы же русские люди, нам не привыкать привыкать! (1)
  • Букмекерская контора Betsstore (1)
  • Полезные советы для пользователей Windows XP (1)
  • Статистика


    Яндекс.Метрика
    Статистика