Основные правила написания программ
1. В одной строке может быть несколько команд. Рекомендуется не более одной команды в строке. Перенос команды допускается в любом месте, в котором может находиться пробел. Перенос идентификатора и константы не допускается. Символы «:=«означают присвоение значения. 2. Комментарии заключаются в ограничители: фигурные скобки «{}» или пару символов «(* «и «*) «. Комментарии могут располагаться всюду, где допустимо использование пробела. Текст комментария в фигурных скобках не может начинаться с символа «$». Допускается одновременная вложенность комментариев с различными ограничителями. Текст, расположенный в конце строки после символов «//», является тоже комментарием. 3. После каждой команды ставится символ «точка с запятой» со следующими исключениями: не ставится после слов Label, Type, Const, Var, Begin, While, Repeat, Do, Then и не указывается перед Until, Else. 4. Рекомендуется делать левосторонние отступы для выделения уровней вложенности команды. 5. Все используемые типы, переменные, константы, функции, процедуры должны быть объявлены до их первого использования. 6. При ссылках на идентификаторы в различных модулях или объектах имена этих модулей или объектов предшествуют идентификатору и разделяются точкой (Unit3.FactProdaga или Form2.Label1.Caption). Справочная служба В затруднительных ситуациях пользователь может оперативно воспользоваться справочной службой, которая выведет информацию о нужном элементе программы. Существует три способа обращения к справочной службе из окна редактора программ: F1 ‑ получение контекстно‑зависимой справки по текущему элементу, на который указывает курсор; Ctrl+J ‑ включение в программу заготовки команды или функции;
использование меню Help. Во многих справках содержится пример использования идентификатора, который можно перенести в программу, выделить, cкопировать в буфер (^C) и восстановить из буфера (^V). Типы данных Константы Константы ‑ это объекты, не меняющие свое значение. Могут использоваться следующие типы констант: целые числа ‑ записываются со знаком или без него по общим правилам (например, 21); вещественные числа ‑ записываются со знаком или без него по обычным правилам с использованием десятичной точки (например, 15.16); шестнадцатеричное число ‑ состоит из шестнадцатеричных цифр, начиная со знака доллара ($). Логическая константа ‑ это либо слово False (ложь), либо слово True (истина). Символьная константа ‑ любой символ, заключенный в апострофы: ‘Z’ ‑ символ Z. Если необходимо записать апостроф, то он удваивается: ‘’’’ ‑ символ апостроф. Строковая константа ‑ любая последовательность символов (кроме символа CR ‑ возврат каретки), заключенная в апострофы. Апостроф внутри строковой константы удваивается. Строку можно составить из кодов символов, которые указываются после знака «#». Пример. #7’Ошибка!’#13’Нажмите любую клавишу’#7 Датная константа - задается в виде ‘дд.мм.гг чч:мм:сс’. Пример перевода датной константы в дату функцией StrToDateTime Var d:TdateTime; Begin d:=StrToDateTime(’07.05.99 12:14’) End Конструктор множества ‑список элементов множества, заключенный в квадратные скобки ([1,2,3,4..7,17]). Константные выражения (именованные константы, символические имена) указываются в разделе констант Const в виде выражений, которые будут подставлены в текст программы перед ее компиляцией вместо констант (Const Procent=100*Fact/Plan). ... Zproc=Procent; //равнозначно Zproc=100*Fact/Plan; Встроенные в Delphi именованные константы не требуют своего объявления в разделе Const. Использование именованных констант упрощает корректировку исходного текста при изменении константного выражения и повышает наглядность исходного текста программы.
Именованные константы с кодами клавиш: F1 ‑ F10 (VK_F1 ‑ VK_F10), пробел (VK_SPACE), BackSpace (VK_BACK), Tab (VK_TAB), Enter (VK_RETURN), Shift (VK_SHIFT), Ctrl (VK_CONTROL), Capslock (VK_CAPITAL), Esc (VK_ESCAPE), Insert (VK_INSERT),PageUp (VK_PRIOR), PageUp (VK_NEXT), End (VK_END), Home (VK_HOME), ← (VK_LEFT), ↑ (VK_UP), → (VK_RIGHT), ↓ (VK_DOWN), Delete (VK_DELETE), PrintScreen (VK_SNAPSHOT), ScrollLock (VK_SCROLL), Pause (VK_PAUSE), NumLock (VK_NUMLOCK). Переменные Тип ‑ это множество принимаемых значений переменной. Типы данных можно разделить на встроенные и определяемые пользователем в разделе типов Type в виде: <имя типа пользователя>=<описание типа>. Переменные ‑ это объекты, изменяющие свои значения при выполнении программы. Все переменные должны быть объявлены в разделе Var в виде: <список переменных через запятую>: <тип>. Переменные, объявленные вне процедур и функций, являются глобальными (внешними) и ими можно пользоваться во всех процедурах и функциях программы. Глобальным переменным можно присваивать первоначальное значение при их объявлении (Var Nds: Real=0.23;). Переменные, которые объявлены в процедурах и функциях, являются локальными, и при окончании работы процедуры или функции они автоматически удаляются из памяти. Переменные константы могут использоваться только в области видимости. Область видимости локальной переменной распространяется на все вложенные подпрограммы; объявленные в этих подпрограммах одноименные переменные заслоняют эту область. Если одноименная переменная объявлена во вложенной подпрограмме, то будет использоваться эта переменная в данной подпрограмме, а не переменная из внешней программы. Если одноименная переменная не объявлена во вложенной подпрограмме, то будет использоваться одноименная глобальная или локальная переменная из внешней программы. Идентификатор пользователя отменяет одноименную стандартную функцию или процедуру. Типизированные константы представляют собой переменные в разделе программы Const, которые получают первоначальное значение при объявлении. Типизированную константу нельзя использовать в качестве значения при объявлении других констант или границ интервального типа.
Пример: Const Nds: Real=0.23; Regkoef: Integer=15. Если включена директива компилятора { $J+ }, то значения типизированных констант можно изменять при выполнении программы, иначе ({$J‑}) - нет. Простые типы данных Целые типы
Вещественные типы
Логические типы
Отличия в этих типах поясним на примерах: Boolean: False<True, Ord(True)=1. Другие типы: False<>True, Ord(True)<>0. Символьные типы
Unicode является современной международной унифицированной системой кодирования символов. Символ в системе кодирования Unicode занимает в памяти одно слово из двух байтов и имеет 65536 различных значений, которые закреплены специальной международной комиссией по Uncode за кодами символов всех языков мира, что решает проблему одновременного использования в программах, в документах и в файлах различных национальных языков мира. 1.1.3.5. Тип дата ‑ время (TDateTime) Тип подобен типу Currency; в целой части хранится дата, в дробной части - время. Разность дат дает число дней между датами, при сложении или вычитании числа из даты получается новая дата.
Пример: Var A: String; T: TdateTime; //объявление переменной T типа дата ‑ время A:=DateTimeToStr(Date+10); T:=Time+StrToDateTime(‘2:45’) Перечисляемые типы Перечисляемый тип задается перечислением тех значений, которые он может получить. Type <имя типа>=(<значение1>,[<значение2>]...) Каждому значению соответствует порядковый номер этого значения в списке значений (отчет начинается с нуля). Пример. Перечисляемый тип с сокращенными названиями месяцев. Type TypeMonth=(jan,feb,mar,apr,may,jun,jul,aug,sep, oct, nov, dec); Var Month: TypeMonth;.... If Month=aug Then Label1.Capion:= ‘Хорошо бы поехать к морю!’ Переменную перечисляемого типа можно определить сразу в разделе переменных, без предварительного описания перечисляемого типа (Var TypeMonth: (jan,feb,mar,apr,may,jun,jul,aug, sep, oct, nov, dec). Интервальные типы Type <имя типа>=< мин. значение> .. <макс. значение>; Пример. type dni=1..31; var rd, vd: dni; Переменную интервального типа можно определить сразу в разделе переменных без предварительного описания интервального типа: var dni: 1 .. 31; god: 1900 .. 2000 Порядковые типы Порядковыми типами называют целые, логические, символьные, перечисляемые, интервальные типы. Для порядковых типов имеются функции: Ord(i) ‑ порядковый номер аргумента (запрещен аргумент типа Int64). Pred(i)/Succ(i) ‑ предшествующее/следующее значение для аргумента. High(i)/Low(i) ‑ максимальное/ минимальное значение аргумента. Inc(i)/Dec(i ‑ увеличение/уменьшение i на единицу (инкремент/декремент). Пример. Две группы по три эквивалентных оператора: Inc(i); i:=Succ(i); i:=i+1; Dec(i); i:=Pred(i); i:=i‑1;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|