Сергей Парижский - Delphi. Учимся на примерах

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Delphi. Учимся на примерах"
Описание и краткое содержание "Delphi. Учимся на примерах" читать бесплатно онлайн.
Данная книга — продолжение предыдущей книги автора, "Delphi. Только практика". Также как и в "Delphi. Только практика", в данном издании подробно рассмотрены программы для сетей, различные шуточные программы, простые игрушки, некоторые полезные приложения, разработка приложений в стиле Windows XP. В частности, здесь можно найти такие примеры как бесплатная отправка SMS, FTP-клиент, простое шифрование, CGI-сценарии и многое другое. Описаны методы работы с системным реестром Windows и INI-файлами, а также некоторые важные аспекты программирования на системном уровне с применением функций Windows API. Для облегчения понимания программ каждый пример содержит комментарии сложных строк кода.
Книга ориентирована как на тех, кто уже имеет опыт создания приложений в Delphi, так и на начинающих программистов. Для начинающих пользователей Delphi в конце книги добавлено приложение с описанием синтаксиса языка программирования Object Pascal.
Идентификаторы
Идентификаторы – это имена констант, переменных, типов, свойств, процедур, функций, программ и программных модулей. Могут быть длиной до 255 символов, начинаться с символа или знака подчеркивания; могут содержать символы, цифры и знаки подчеркивания и не должны содержать пробелы.
В языке Object Pascal идентификаторы не чувствительны к регистру букв, то есть нет различия между строчными и заглавными буквами. Таким образом, идентификатор функции IntToStr равнозначен идентификатору inttostr или intTOstr.
В качестве имен идентификаторов не могут использоваться следующие зарезервированные слова:
• and, array, as, asm, at, automated;
• begin;
• case, class, const, constructor;
• destructor, div, do, downto;
• else, end, except, exports;
• file,finalization, finally, for, function;
• goto;
• if, implementation, in, inherited, initialization, inline,interface, is;
• label, library;
• mod;
• nil, not;
• object, of, on, or, out;
• packed, private, procedure, program, property, protected, public, published;
• raise,record, repeat, resourcestring;
• set, shl, shr, string;
• then, threadvar, to, try, type;
• unit, until, uses;
• var;
• while, with;
• xor.
Встроенные типы данных
Числовые типы
К числовым типам языка Object Pascal относятся целочисленные и типы чисел с плавающей запятой (табл. Д.1).
Таблица Д.1. Числовые типы данных языка Object Pascal
Целочисленные типы Диапазон значений Типы чисел с плавающей запятой Диапазон значений Byte 0..255 Real 5.0·10-324..1.7·10308 ShortInt -128..127 Real48 2.9·10-39..1.7·1038 SmallInt -32768..32767 Single 1.5·10-45..3.4·1038 Word 0..65535 Double 5.0·10-324..1.7·10308 Integer, LongInt -2147483648..21474883647 Extended 3.6·10-4951..1.1·104932 Cardinal, LongWord 0..4294967295 Comp -263+1..263–1 Int64 -263..263–1 Currency -922337203685477.5808..922337203685477.5807Символьный тип
Символьный тип обозначается при помощи ключевого слова Char к его значения хранят только один символ.
Строковые типы
В языке Object Pascal используются два обобщенных строковых типа:
• String — если в проекте Delphi указана директива компилятора {$H+} (поддержка больших строк), то этому типу соответствуют строки длиной от 0 до 2147483648 символов; в противном случае типу String соответствуют строки длиной от 0 до 255 символов;
• PChar — тип, аналогичный строковому типу языка C.
По своей сути, строковые значения — это массивы символов, в которых нумерация элементов для типа String начинается с 1, а для типа PChar — с 0.
Булев тип данных
Переменная булевого типа занимает один байт памяти и может принимать только одно из двух значений: True ("истина", "да", 1) или False ("ложь", "нет", 0). Булев тип обозначается при помощи ключевого слова Boolean.
Массивы
Массив — это упорядоченная именованная совокупность однотипных значений, к которым можно обращаться по их порядковому номеру (индексу). Для описания массивов в языке Object Pascal используют следующие формы:
• array [1..N1] of type — одномерный массив фиксированного размера (N1 — размерность массива, type — тип значений, хранимых в массиве);
• array[1..N1, 1..N2] of type — двухмерный массив фиксированного размера;
• array[1..N1, 1..N2, 1..N3] of type — трехмерный массив фиксированного размера;
• array of type — массив переменного размера. Длину таких массивов можно изменять в процессе выполнения программы при помощи процедуры SetLength. Индексация значений начинается с 0.
Константы
Константа — это именованное фиксированное значение. Для объявления констант используют конструкцию вида:
const имя_константы = значение;
Например:
const Factor = 1.756;
Тип константы определяется автоматически по присвоенному ей значению.
Переменные
Переменная — это именованное значение определенного типа, которое можно изменять в процессе выполнения программы. Для объявления переменных используют запись следующего вида:
var имя_переменной: имя_типа;
Например :
var
i: Integer; //переменная i типа Integer
s: String; //переменная S типа String
MyArray: array[1..10] of Char; {переменная MyArray — массив значений типа Char. Эту переменную можно было бы также объявить как String[10]}
При обращении и инициализации переменных используют следующие правила:
• для присвоения значений переменным используют оператор присваивания :=;
• строковые и символьные значения, присваиваемые переменным, заключают в одинарные кавычки ('с', ' строка');
• для обращения к отдельным элементам массива или отдельным символам строки используют запись вида: а[1] — для одномерных массивов и строк; а[3][1] – для двухмерных массивов; а[1][6][2] — для трехмерных массивов и т. д.;
• в качестве типа переменной может быть указан как встроенный тип языка Object Pascal, так и пользовательский, определенный при помощи ключевого слова type (создание пользовательских типов рассматривается ниже).
К переменным в программе обращаются по их идентификаторам.
Пример для типа String:
var
s1, s2: String; //объявляем две переменные типа String
с: Char; //и одну типа Char
...
s1:= 'Строка'; //присваиваем s1 некоторое значение
с:= s[1]; //переменная с хранит значение 'С'
s2:= s1 + с; //в s2 сохраняем строку 'СтрокаС'
…
Пример для динамического массива:
var
MyArray: array of Char; s: String;
…
SetLength(MyArray, 1); //устанавливаем длину массива = 1
A[0]:= 'С';
SetLength(MyArray, 2); //устанавливаем длину массива = 2
А[1]:= 'т';
s:= А[0] + А[1] + 'рока' //в s сохраняется значение 'Строка'
…
Пользовательские типы данных
Для объявления пользовательских типов, используют конструкцию вида:
type имя_типа = описание_типа;
К примеру, таким образом можно объявлять типы множеств, перечислимые типы и подтипы.
Множества
Множество — это совокупность однотипных целочисленных или символьных значений, среди которых не может быть двух одинаковых. Для объявления типа множества используется запись вида
set of первое_значение..последнее_значение;
Совокупности значений, которые используются для инициализаций переменных этого типа, заключают в квадратные скобки, а значения отделяются друг от друга запятыми.
Например:
type
TNumbers = set of 1..10;
TAlphabet = set of 'a';
var
Odds, Evens: TNumbers;
ABC: TAlphabet;
…
Odds:= [1, 3, 5, 7, 9];
Evens:= [2, 4, 6, 8, 10];
ABC:= ['a', 'b', 'с'];
…
Перечислимые типы
Перечислимые типы используют для определения упорядоченных наборов значений в виде списка идентификаторов, соответствующих этим значениям. Для объявления таких типов используют запись следующего вида:
type имя_типа = (элемент1, ... , элементN);
По умолчанию, первому элементу соответствует число 0, второму — 1 и т.д. Для того чтобы сопоставить с каким-либо элементом другое значение, следует использовать запись вида элемент = число.
Для извлечения числа, соответствующего некоторому элементу, используется функция Ord.
Пример:
type
TDigits = (Zero, One, Two, Three, Four, Five, Six, Seven Eight, Nine, Ten);
TConstants = (a = 10, b = 3);
var
x: TDigits;
k: TConstants;
MyResult: integer;
…
k:= b; //k присваиваем значении 3
if x = Zero then k:= a //если x=0, то к присваиваем 10
MyResult:= Ord(k); //MyResult = 3 или 10
…
Подтипы
Подтип определяет некоторый диапазон целочисленных или символьных значений. Для его объявления используют запись вида:
type имя_типа = начало..конец;
Переменные этого типа не могут принимать значений вне указанного диапазона. Пример:
type
TDigits = (Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten); //перечислимый тип
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Delphi. Учимся на примерах"
Книги похожие на "Delphi. Учимся на примерах" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Сергей Парижский - Delphi. Учимся на примерах"
Отзывы читателей о книге "Delphi. Учимся на примерах", комментарии и мнения людей о произведении.