Delphi 0 что значит
Delphi 0 что значит
Если же мы хотим получить именно последовательное выполнение, то необходимо применять скобки (), обособляющие те операции, которые необходимо выполнить первыми. Скобки могут быть вложены друг в друга неограниченное число раз:
Вот теперь X будет равен 1.
Помимо четырёх математических действий в Delphi доступно множество математических функций, таких, например, как тигонометрические, логарифмические, и т.д. Они становятся доступны в программе после добавления в секцию Interface uses модуля Math. Их описание также можно найти в модуле Math.pas (можно найти воспользовавшись поиском Windows). Многие из них можно реализовать и самому, но встроенные функции наверняка будут работать быстрее и лучше, т.к. написаны на языке ассемблера.
Логические выражения
Операторы Delphi
Условный оператор позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия. Вот как он записывается:
if условие then действие else альтернатива ;
Условный оператор цикла удобно использовать в том случае, когда количество повторений заранее не известно:
while условие do
тело цикла ;
Этот цикл будет выполняться до тех пор, пока истинно условие (логическое выражение, возвращающее значение типа Boolean). При этом если это выражение сразу равно false, тело цикла не будет выполнено ни разу.
Нужно очень внимательно следить за написанием условия и контролем завершения цикла, так как в результате ошибки цикл while будет повторяться бесконечное количество раз, что приведёт к «зацикливанию» и «зависанию» программы.
Справедливости ради стоит рассказать об ещё одном операторе, позволяющем изменить последовательность выполнения программы. Это оператор перехода:
goto метка ;
В качестве метки может использоваться любой допустимый идентификатор или число в диапазоне от 0 до 9999. Метку предварительно необходимо объявить в разделе описания переменных, но с помощью не ключевого слова var, а ключевого слова label:
label меткa ;
или
label список меток ;
Переходить можно как вниз, так и вверх по программе. Двоеточие отделяет метку от оператора, на который производится переход. Пример использования оператора перехода:
Пример. Сортировка одномерного массива
Delphi 0 что значит
Данные в компьютере можно рассматривать как ячейки памяти, имеющие свои имена (идентификаторы). Все данные в программе на языке Delphi должны быть описаны до их первого использования. И компилятор следит, чтобы в программе они использовались в соответствии с этим описанием, что позволяет избежать ошибок.
Любая величина в Delphi может быть постоянной или переменной. Её имя (идентификатор) может состоять из комбинации латинских букв, цифр и знака подчёркивания, и начинаться не с цифры. При этом регистр символов значения не имеет.
Именно здесь, начиная со следующей строки, удобно объявлять глобальные переменные и константы. Как видим, одна (Form1) уже есть!
Команда объявления переменных в языке Delphi:
var имя_переменной : тип_переменной ;
Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:
const pi= 3.1415 ;
ZnakPi : String = ‘Это значение числа пи’ ;
К слову, константа Pi встроенная в Delphi, то есть для того чтобы использовать в Delphi число 3,1415. в расчётах, нужно просто присвоить встроенную константу Pi переменной типа Real или просто использовать непосредственно в выражениях.
Теперь пришло время узнать о типах данных, используемых в Delphi. Прежде всего это строки и числа.
Числа бывают целые и дробные.
В следующей таблице перечислены стандартные типы целых чисел и соответствующие им дипазоны допустимых значений.
Следующим типом данных является логический Boolean, состоящий всего из двух значений: True (Истина) и False (Ложь). При этом True > False.
Теперь, используя компоненты, их свойства и события, вводя собственные переменные, можно конструировать программы, содержащие вычисления. Осталось узнать, как вычисленное значение вывести на экран.
Про консольные программы я здесь не говорю! А в нормальных оконных Windows-приложениях это значение нужно поместить в какой-нибудь компонент, имеющий свойства Text или Caption. Это, например, такие компоненты как Label и Edit, да и сама Форма имеет свойство Caption, куда тоже можно выводить информацию. Однако, в Delphi информацию перед выводом, как правило, необходимо преобразовывать. Так как присвоение возможно только между переменными одного типа, то такая программа (не пытайтесь её исполнять):
var A, B, C: Integer ;
begin
A := 5 ;
B := 10 ;
C := A+B ;
Label1.Caption := C ;
end ;
Такая программа, кроме показа числа 15, ни на что не способна. Мы должны научиться вводить в программу другие числа. Используем компоненты Edit. Введённые числа будут содержаться в свойстве Text этих компонентов. Расположим на форме два компонента Edit, один компонент Label и кнопку Button, по нажатию на которую и будем проводить вычисления. В компоненты Edit1 и Edit2 будем вводить числа для суммирования. Чтобы переместиться в редактор кода, щёлкнем дважды по нашей кнопке Button1. Мы попадём прямо в сформированную для нас средой Delphi заготовку обработчика нажатия на кнопку, непосредственно между операторами begin и end. Напишем такой простой код:
procedure TForm1.Button1Click(Sender: TObject);
var A, B, C: Integer; //Не забудьте описание переменных
begin
//Начало кода:
A := Edit1.Text;
B := Edit2.Text;
C := A+B;
Label1.Caption := IntToStr(C);
//Конец кода
end ;
A := StrToInt(Edit1.Text);
B := StrToInt(Edit2.Text);
В данном случае переменные A, B, C использовались для наглядности. Можно обойтись одной строчкой:
Delphi 0 что значит
Данные в компьютере можно рассматривать как ячейки памяти, имеющие свои имена (идентификаторы). Все данные в программе на языке Delphi должны быть описаны до их первого использования. И компилятор следит, чтобы в программе они использовались в соответствии с этим описанием, что позволяет избежать ошибок.
Любая величина в Delphi может быть постоянной или переменной. Её имя (идентификатор) может состоять из комбинации латинских букв, цифр и знака подчёркивания, и начинаться не с цифры. При этом регистр символов значения не имеет.
Именно здесь, начиная со следующей строки, удобно объявлять глобальные переменные и константы. Как видим, одна (Form1) уже есть!
Команда объявления переменных в языке Delphi:
var имя_переменной : тип_переменной ;
Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:
const pi= 3.1415 ;
ZnakPi : String = ‘Это значение числа пи’ ;
К слову, константа Pi встроенная в Delphi, то есть для того чтобы использовать в Delphi число 3,1415. в расчётах, нужно просто присвоить встроенную константу Pi переменной типа Real или просто использовать непосредственно в выражениях.
Теперь пришло время узнать о типах данных, используемых в Delphi. Прежде всего это строки и числа.
Числа бывают целые и дробные.
В следующей таблице перечислены стандартные типы целых чисел и соответствующие им дипазоны допустимых значений.
Следующим типом данных является логический Boolean, состоящий всего из двух значений: True (Истина) и False (Ложь). При этом True > False.
Теперь, используя компоненты, их свойства и события, вводя собственные переменные, можно конструировать программы, содержащие вычисления. Осталось узнать, как вычисленное значение вывести на экран.
Про консольные программы я здесь не говорю! А в нормальных оконных Windows-приложениях это значение нужно поместить в какой-нибудь компонент, имеющий свойства Text или Caption. Это, например, такие компоненты как Label и Edit, да и сама Форма имеет свойство Caption, куда тоже можно выводить информацию. Однако, в Delphi информацию перед выводом, как правило, необходимо преобразовывать. Так как присвоение возможно только между переменными одного типа, то такая программа (не пытайтесь её исполнять):
var A, B, C: Integer ;
begin
A := 5 ;
B := 10 ;
C := A+B ;
Label1.Caption := C ;
end ;
Такая программа, кроме показа числа 15, ни на что не способна. Мы должны научиться вводить в программу другие числа. Используем компоненты Edit. Введённые числа будут содержаться в свойстве Text этих компонентов. Расположим на форме два компонента Edit, один компонент Label и кнопку Button, по нажатию на которую и будем проводить вычисления. В компоненты Edit1 и Edit2 будем вводить числа для суммирования. Чтобы переместиться в редактор кода, щёлкнем дважды по нашей кнопке Button1. Мы попадём прямо в сформированную для нас средой Delphi заготовку обработчика нажатия на кнопку, непосредственно между операторами begin и end. Напишем такой простой код:
procedure TForm1.Button1Click(Sender: TObject);
var A, B, C: Integer; //Не забудьте описание переменных
begin
//Начало кода:
A := Edit1.Text;
B := Edit2.Text;
C := A+B;
Label1.Caption := IntToStr(C);
//Конец кода
end ;
A := StrToInt(Edit1.Text);
B := StrToInt(Edit2.Text);
В данном случае переменные A, B, C использовались для наглядности. Можно обойтись одной строчкой:
Знакомство с событиями Delphi В начало урока Структурные типы данных
Тем не менее, посмотрю, можно ли что-то изменить. Кирилл, добавлено 21.11.11, 11:50:40
И в правду куда вставлять этот кусок? (начинал с 1 урока) Автор, добавлено 21.11.11, 13:18:38
Вот это:
procedure TForm1.Button1Click(Sender: TObject);
begin
генерирует сама Delphi при двойном щелчке по кнопке на Форме. А это
тогда вставляется между procedure и begin (блин, неужели не видно. )
A := Edit1.Text;
B := Edit2.Text;
C := A+B;
Label1.Caption := IntToStr(C);
между begin и end. И слова «начало кода» и «конец кода» показывают что именно именно вам нужно написать. Не принимаю упрёков в непонятности написанного. Просто нужно не просто читать, а делать. Тогда и эти вопросы сами отпадут.
Дмитрий, добавлено 4.12.11, 17:21:49
Как сделать так чтобы в строку Edit можно было ввести значение типа real к примеру число равное 0.1 Автор, добавлено 4.12.11, 17:51:07
У меня есть статья В Edit только числа. Там всё описано.
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c : integer;
begin
a:= StrToInt(Edit2.Text);
b:= StrToInt(Edit3.Text);
c:= a+b;
Label2.Caption:= inttostr (c);
end;
if strtofloat(edit1.text) Андрей, добавлено 12.05.12, 22:31:04
спасибо вам большое за ваши труды. Андрей, добавлено 13.05.12, 10:46:51
Огромное спасибо за урок!Программа работает. Аноним, добавлено 28.05.12, 13:36:08
Здравствуйте)))поскажите плиз как мне поступит. мне нужно чтобы если я ввела в Edit1 номер телефона (например код казани и номер телефона) и нажала на кнопку то у меня вышло сообщение что это номер казани, а если ввела не казанский код то никакого сообщения нет.
Автор, добавлено 28.05.12, 14:23:53
Это делается так. Сначала определяется как должен выглядеть номер. Вот например так:
«х» я обозначил любые числа, а _ (подчёркивание) пробел.
if pos(S, Edit1.Text)=N
then ShowMessage(‘Это казанский номер’);
Вот как-то так. Аноним, добавлено 28.05.12, 14:47:47
procedure TForm1.BitBtn1Click(Sender: TObject);
var s,n:integer;
begin
s:=843;
n:=1;
if pos(S, Edit1.Text)=n
then ShowMessage(‘Это казанский номер’);
end;
Написала так и вышла ошибка
[Ошибка] Unit1.pas(33): Incompatible types Автор, добавлено 28.05.12, 14:55:56
Нужно
S:=’843′;
Это вообще не пойми что написано, если, конечно, у вас это не описка. Нужно так:
А если нужно, чтобы эдит стёрся, то добавить
Но перед стиранием нужно сохранить значение в контейнер, некую переменную:
X1:=StrToFloat(Edit1.Text);
Автор, добавлено 21.07.12, 21:40:46
Если вы хотите для практики что-то сделать самостоятельно, а я вдруг напишу пару процедур, решающих данную задачу, я наверное окажу медвежью услугу.
То есть кроме контейнера для результата нужно ввести контейнер для символа ранее введённой операции.
«В данном случае переменные A, B, C использовались для наглядности. Можно обойтись одной строчкой:
var X, A, B: Real;
begin
A:=StrToFloat(Edit1.Text);
B:=StrToFloat(Edit2.Text);
X:=A*B;
Edit3.Text:=FloatToStr(X);
end; Вовка, добавлено 19.08.13, 16:41:49
Огромное тебе спасибо! я вчера начал изучать делфи по твоим урокам, сегодня все утро бился, как на дробь умножить. Вовка, добавлено 19.08.13, 17:06:11
я переделал ваш кусочек, сделал вот так.спасибо. значит мне надо осваивать функции преобразования.
var Arr: array of Integer;
c: integer;
begin
c:=7;
SetLength(Arr,c);
Arr[0]:=1;
Arr[2]:=1;
Arr[3]:=1;
Arr[5]:=1;
Arr[6]:=1;
end;
Спасибо. Павел, добавлено 17.11.13, 02:04:57
Хотелось бы что-нить типа такого:
if Arr[1]<>nil then Memo1.Lines.Add(‘Есть значение’)
else Memo1.Lines.Add(‘Значение отсутствует’);
Обучающий курс. 10. Логические выражения в Delphi
Логический тип данных
Операции над логическими выражениями
А вот и самое интересное. Для логических выражений введены 4 операции. Работа с ними чем-то похожа на работу с числами. Рассмотрим подробно эти операции.
1. Отрицание: NOT («не»)
Как понятно из названия, данная операция меняет значение логического выражения на противоположное: если была истина, то станет ложь, а если была ложь, то станет истина. Выражение, над которым будет произведена операция, указывается либо после слова NOT через пробел, либо в скобках. Примеры:
m := not (k);
n := not m;
p := not ( not (m));
a := True;
b := False;
c := True;
d := a and b;
e := a and c;
f := not (b) and c;
c := a or b;
d := not (b) or a;
c := a xor b;
d := not (a) xor b;
e := not (a) xor not (b);
Немного об оптимизации
В Delphi есть специальные методы оптимизации, в том числе и для логических выражений. Дело в том, что в некоторых случаях вычисление логического выражения полностью не требуется, чтобы получить результат. Простые примеры на AND и OR :
A := False;
B := True;
C := True;
D := True;
X := A and B and C and D;
A := True;
B := False;
C := True;
D := False;
X := A or B or C or D;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Visible := False;
Button2.Visible := not Button1.Visible;
end ;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button2.Visible := False;
Button1.Visible := not Button2.Visible;
end ;
Небольшое замечание
Следует обратить внимание ещё вот на что. Если в выражении несколько операндов, то их следует брать в скобки, расставляя таким образом приоритеты выполнения.
История языков программирования: Delphi — больше, чем просто язык
С Delphi обычно ассоциируется среда разработки приложений на основе языка Object Pascal, разработанного фирмой Borland. Этот язык является наследником Turbo Pascal с объектно-ориентированными расширениями, который в свою очередь ведет свою историю от «чистого» Pascal, созданного Никлаусом Виртом в 1970 году.
Впоследствии, в 2002 году, разработчики из компании Borland официально поставили знак равенства между языками Delphi и Object Pascal.
Предыстория
Изначальный Pascal, по мнению его разработчиков, имел самый быстрый компилятор в мире. Более того, вместе с ним была впервые разработана технология создания платформенно-независимых программ, которая нашла широкое применение в таком языке, как Java.
Однако его IDE, если это понятие можно применить к среде разработки того времени, функционировала только на базе операционной системы DOS.
С появлением Windows возникла необходимость в создании среды разработки ПО для этой платформы. Наиболее популярным решением для персональных Windows-компьютеров в 80-е — начале 90 годов стал компилятор и IDE Turbo Pascal фирмы Borland. Встроенный компилятор обеспечивал высокую скорость компиляции и высокое качество кода (отсюда приставка Turbo). Среда Turbo Pascal обеспечивала также отладку кода, содержала богатый набор примеров. Все эти качества на какое-то время позволили Turbo Pascal стать стандартом языка Pascal.
Вызов времени
В Windows довольно быстро начал развиваться графический интерфейс, а в IDE Turbo Pascal по-прежнему использовался DOS-подобный интерфейс. Постепенно в Microsoft поняли, что нужно двигаться в сторону «визуализации» программирования.
Чтобы создать простую программу, разработчикам приходилось писать по несколько страниц кода: прописывать объемные блоки кода для меню и окон, шрифтов, очищать память, «рисовать» кнопки и т.д. Однако преимущества графического интерфейса Windows были довольно сильны, поэтому нужно было поддержать развитие операционной системы. В Microsoft понимали, что необходимо как-то облегчить жизнь разработчиков. Поэтому в 90-х годах компания запустила несколько параллельных проектов по созданию нового языка программирования и среды разработки для Windows. Первой ласточкой стал Visual Basic.
Перспективы языка Pascal в этом отношении оказались далеко не радужными. К середине 90-х годов он уже находился в довольно запущенном состоянии. Компания Borland начала дорабатывать его, но вскоре стало понятно: изменения и добавления будут настолько серьезными, что результат этой работы можно считать новым языком программирования. Для нового языка была разработана IDE с графическим интерфейсом. Новая среда программирования и язык получили общее название Delphi.
Своё имя новая система (Delphi) получила в честь древнегреческого города Дельфы. Название было выбрано неспроста: город Дельфы связан с именем бога мудрости и покровителем искусств Аполлона. Согласно легенде главное святилище Аполлона находилось именно в этом городе. Его жрицы-сивиллы изрекали пророчества желающим узнать свою судьбу.
«Имя Delphi было предложено Денни Торпом во время мозгового штурма. Мы хотели, чтобы в имени системы отразились уникальные способности продукта к работе с базами данных, и Delphi как нельзя лучше перекликается с таким заслуженным именем в этой области, как Oracle, по крайней мере для тех, кому сочетание «Дельфийский Оракул» о чем-то говорит», рассказывал руководитель исследовательской группы по разработке системы Delphi Чак Язджевски.
В России Borland Delphi появился в конце 1993 года и сразу же завоевал большую популярность.
Основные версии
Версия 1 была предназначена для разработки под 16-разрядную платформу Win16. Начиная со второй версии, была реализована возможность компиляции программы под 32-разрядную платформу Win32.
Delphi 1
В версии 3 появилась поддержка многозвенной технологии (multi-tiered) доступа к данным, что позволило создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.
Delphi 3
Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему Linux.
За что боролись
Процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Достаточно просто перетащить нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector). С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки.
Разработчик получил в распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом.
Стало возможным создавать компоненты ActiveX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об HTML, XML или ASP.
Появилась возможность создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine, ODBC-драйверы или Microsoft ADO.
В Delphi разработчикам дали возможность создавать свои собственные компоненты, импортировать ОСХ-компоненты, создавать шаблоны проектов и мастеров, генерирующих заготовки проектов. Более того, авторы предоставили разработчику интерфейс для связи других приложений (или внешних программ) с Delphi IDE.
Перемены
В марте 2006 года компания Borland приняла решение о прекращении дальнейшего развития интегрированных сред разработки JBuilder, Delphi и C++Builder по причине убыточности этого направления. Была запланирована продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор. Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса.
После этого разработкой IDE-продуктов стала заниматься новая компания — CodeGear, которая была финансово полностью подконтрольна Borland.
В марте 2007 года CodeGear порадовала пользователей обновлённой линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. В этой версии появилось множество нововведений на уровне языка:
В версии Delphi XE2 (2011 год) был добавлен компилятор Win64 и кросс-компиляция для операционных систем фирмы Apple (MacOS X, iOS).
Про следующую версию в своем интервью рассказывал Всеволод Леонов, российский евангелист Delphi из компании Embarcadero Technologies:
Продукт Delphi XE3 является продолжением нового поколения средств быстрой разработки семейства Delphi. Напомню, в 2011 году вышла Delphi XE2 с платформой FireMonkey, которая является альтернативой библиотеки визуальных компонентов VCL.
Она очень похожа на VCL по методам использования и составу компонентов (кнопки, метки, поля ввода, меню и т.д.), но обладает способностью быть перенесенной на другую операционную систему. FireMonkey — кроссплатформенная. Приложения, созданные с помощью FireMonkey, могут компилироваться и под Windows, и под Mac OS. Практически в один-два «клика» мы можем пересобрать проект под принципиально другую операционную систему. Практически все демонстрационные проекты, поставляемые с Delphi на платформе FireMonkey, имеют две версии: одну под Windows, другую — под Mac OS. И для этого не нужно вносить изменения в исходный код приложения
Вышедшая в 2013 году версия Delphi XE5 обеспечила кросс-компиляцию приложений для устройств на платформе ARM/Android.
В апреле 2016 года появилась Delphi 10.1 berlin. Нововведения:
Ни жив, ни мертв
Известно, что Delphi перманентно «хоронят» или заявляют, что так жить нельзя. Они аргументируют тем, что система стала монструозной, неактуальной, неподдерживаемой, неудобной, какой-то еще…
Но можно вспомнить, что такое мнение чаще встречается в США и Западной Европе, где этот язык бешеной популярности и не имел никогда. Там эти соображения могут быть вполне резонными во многих случаях. Но есть и другие страны, где ситуация может отличаться — страны СНГ и остальные страны Восточной Европы.
С этим согласен Всеволод Леонов:
Небольшой исторический экскурс по поводу стран Восточной Европы. Система образования бывшего СССР была очень сильна во многих аспектах, но не по части прикладного программирования. В начале 90-х как получить доступ к компьютеру, так и научиться что-то делать в современных средах разработки могли лишь те, кто имел определенную специальность.
Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками, а также повысить общенациональный инженерный уровень создания прикладного ПО.
Таким образом, для стран бывшего соцлагеря связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень простого языка программирования и среды визуальной разработки на основе готовых компонентов.
Новый герой из open source
Наиболее известной свободной реализаций языка Pascal является Free Pascal. Помимо открытости исходного кода, его основным преимуществом является мультиплатформенность, а также поддержка различных диалектов.
На основе FreePascal создана свободная мультиплатформенная IDE Lazarus, позволяющая работать с проектами Delphi. Она основана на библиотеке визуальных компонентов Lazarus Component Library (LCL).
Список заявленных поддерживаемых платформ:
• Windows: 98, 2k, XP, Vista, 7, 32 и 64bit;
• FreeBSD/Linux: gtk 2.8 и qt4.5, 32 и 64bit;
• Mac OS X: 10.4, LCL только 32bit, не-LCL могут быть 64bit.
С другой стороны, среда Delphi по мере развития действительно становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования.