Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора по Delphi.doc
Скачиваний:
79
Добавлен:
31.05.2015
Размер:
102.91 Кб
Скачать

4.Операторы Delphi:

Основной текст программы, заключенный всегда между словами begin и end, состоит из операторов – т.е. действий. После каждого оператора ставится точка с запятой.

Простейший и основной – оператор присваивания. Выглядит он так: переменная:=выражение; Например: stroka7:=’ne hochu uchit informatiku’; stroka8:=stroka7+’ i fiziku tozhe ne hochu uchit’; dveNedeli:=odnaNedelia*2; Также вы можете присвоить что-то любому параметру одного из компонентов, например, установить высоту (параметр) кнопки (компонент) в 57 пикселей: Botton1.height:=57; Чтобы изменить значение какой-то переменной надо присвоить ей ее саму плюс (минус, умножить и т.д.) какое-то выражение, например: width:=width*3; {увеличивает ширину формы в три раза} height:=height - width div 2; {уменьшает высоту формы на половину ее ширины} Присваивая переменной выражение, вы кладете в "ящик" новое значение, старое при этом пропадает. Чтобы поменять значение двух переменных крест-накрест (переменной а присвоить значение b и наоборот), нельзя написать a:=b; b:=a; поскольку уже на первом шаге значение а затрется новым. Надо сохранить его сначала в отдельном "ящике"-переменной.

Условный оператор позволяет выполнять одно или другое действие в зависимости от того, выполняется ли данное условие. Выглядит он так:

If условие then оператор1 else оператор2 ;

Если условие выполняется, будет исполнен оператор1, в противном случае – оператор2. Если вам нужно выполнить не одно действие, а несколько, их надо заключить в "скобки" begin-end, например: if a<>0 then begin {эти действия выполнятся, если а не равно нулю} b:=100/a; Label1.Caption:=FloatToStr(b); end else {Это действие выполнится, если а равно нулю} Label1.Caption:='На ноль делить нельзя';

Запомните, что перед словом else не должна стоять точка с запятой!!! Условия бывают простыми и составными. Простые условия: равенства и неравенства (=, <>, <=,>=), нечетность (функция Odd()). В качестве условия может выступать переменная типа boolean, например, if ready then... Составные условия строятся с помощью not, or, and (не, или, и), при этом простые условия заключаются в скобки, например: if (a>=0) and (a<=9) then Label1.Caption:='а – цифра';

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

case выражение of

первое значение: оператор;

второе значение: оператор;

третье значение: оператор;

end;

Вот пример программы, меняющий цвет формы в зависимости от количества кликов:

i:=i+1; case i mod 3 of

0: Color:=clred;

1: Color:=clblue;

2: Color:=clgreen;

end;

Оператор цикла служит для повторения одинаковых действий данное количество раз. При этом переменная цикла пробегает все значения от начального до конечного. Выглядит этот оператор так: for i:=5 to 10 do нужноедействие;

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

res:=1;

for k:=2 to 10 do

begin res:=res*k; Label1.Caption:=Label1.Caption + ' ' + IntToStr(res);

end

Эта программа выдаст факториалы всех чисел от двух до десяти через пробел.

Условный цикл выглядит так: while условие do оператор ; Этот оператор будет выполняться до тех пор, пока условие не станет ложным. Например, следующий цикл будет выполняться, пока в строке не обнаружится буква «ы»: i:=1; while MyString[i]<>’ы’ do i:=i+1; Обратите внимание на то, что если в строке этого символа вообще не найдется, программа выдаст ошибку при попытке обращения к несуществующему элементу строки. В данном случае следует либо исправить условие цикла, либо оператор, например, так:

while MyString[i]<>’ы’ do begin

i:=i+1; if i>length(MyString) then break; end;

5.Процедура на Delphi состоит из следующих блоков:

заголовок

procedure TForm2.FormClick(Sender: TObject);

раздел описания переменных

var a: integer;

собственно текст

begin

a:=5;

height:=height+a;

end;

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

в разделе описания вы должны познакомить процедуру с новыми для нее именами. Этот раздел начинается со служебного слова var. В нем вы не можете выполнять никаких действий (ни присваивать, ни выполнять никакие операторы).

Основной раздел начинается со служебного слова begin. После него и до слова end; вы пишете последовательность операторов через точку с запятой.

Помимо процедур, в Дельфи предусмотрены функции – процедуры, выдающие определенное значение. Вот пример такой функции:

function TForm1.factorial (i: integer) : integer; {получает на входе целое число i и выдает целое число}

var res,k: integer;

begin

res:=1;

for k:=1 to do

res:=res*k;

factorial:=res;

end;

6.Основные компоненты Delphi. Каждый компонент содержит параметры и события. Каждому событию можно сопоставить процедуру обработки события (которая запускается при наступлении события). Параметры – это переменные с фиксированным именем, которые отвечают за свойства объекта. Например, параметр height – за высоту объекта, width – за ширину, left и top – за отступы слева и сверху. Чтобы получить доступ к параметрам компонента надо указать сначала его имя, а потом, через точку, сам параметр. Например, Form1.height – это высота формы, Button1.width – ширина кнопки и т.п. Чтобы создать компонент вы просто перетаскиваете его мышкой с панели компонентов (в правой части экрана) на форму. При этом параметры объекта (например, его расположение на форме) настраиваются автоматически. Вы можете поменять их двумя способами. Вы можете настроить их вручную (в Objects Inspector на вкладке Parameters в левой части экрана) для каждого компонента (выбрав компонент из раскрывающегося списка). В этом случае программа начнет работать с этими параметрами. Обязательно проверьте, чьи размеры (кнопки, формы или какого-либо поля) вы настраиваете! Также можно поменять параметры программно, написав соответствующий код. Тогда этот параметр изменится в ходе выполнения программы. Чтобы связать с событием в данном компоненте какую-то процедуру, выберите нужный компонент и дважды кликните на соответствующем событии. Дельфи сам присвоит этой процедуре имя (которое вы, впрочем, можете изменить) и вставит кусочек кода с описанием данной процедуры. Вам останется только добавить в это описание нужные операторы и описать новые переменные, которые вы будете в ней использовать.

поле вывода TLabel: предназначено для вывода информации. Чтобы напечатать что-то в этом поле надо параметру Caption присвоить значение типа string, например, так: Label1.Caption:='¡hola!'; Если вы хотите добавить информацию в это поле, напишите Label1.Caption:=Label1.Caption+'¡hola!'; Если вам надо добавить пробел, прибавьте ' ', чтобы перейти на другую строку, прибавьте #13.

поле ввода TEdit: предназначено для ввода информации. За содержание этого поля отвечает параметр Text. Чтобы получить целое число из этого поля, напишите:

названиепеременной:=StrToInt(Edit1.Text);

кнопка TButton. Название кнопки содержится в поле Caption.

Многострочное поле ввода TMemo. Представляет собой список (или, если угодно, массив) строк. Первая строка имеет номер 0. Чтобы обратиться к строке с номером 7, напишите Memo1.Lines[7]. Чтобы узнать, каков второй символ третьей строки, напишите Memo1.Lines[3][2]. Чтобы добавить строку, используйте метод Memo1.Lines.Add(‘Novaia stroka’);. Помимо этого есть следующие полезные методы (не забудьте написать перед ними Memo1.Lines.):

Clear – очищает поле

Count – выдает количество строк (последняя имеет номер count – 1)

Delete(5) – удаляет строку номер 5.

Insert(5, ‘privet’) – вставляет строку на 5-ю позицию

LoadFromFile(‘a.txt’) – загружает в поле файл

SaveToFile(‘a.txt’) – сохраняет содержимое поля в файл.

7.Чтение из текстового файла и запись в файл.

Сначала следует описать переменную типа TStringList, потом уже в самой процедуре создать ее (выделить на нее память), загрузить ее из файла и работать с ней, как с полем Мемо. Затем результат можно сохранить в файл. В примере показано, как найти самую длинную строку в файле, выдать ее и завершить программу.

procedure TForm2.FormCreate(Sender: TObject);

var MyFile: TstringList; k:integer; LargestLine:string;

begin

MyFile:=TStringList.Create;

MyFile.LoadFromFile('c:\a.txt');

LargestLine:='';

for k:=0 to MyFile.Count - 1 do

if length(MyFile[k])>length(LargestLine) then LargestLine:=MyFile[k];

ShowMessage('The largest line is '+LargestLine);

MyFile.Free;

Application.Terminate;

end;

8.Исключительные ситуации.

Дельфи позволяет перехватывать ошибки, могущие возникнуть в процессе выполнения программы. Впишите в основную процедуру (или на OnCreate)

application.OnException:=MyExcept;

и создайте специальную процедуру, в которой вы произведете нужное действие:

procedure TForm2.MyExcept (Sender: TObject; E: Exception);

begin

Label1.Caption:='Этого делать нельзя!!!'

end;

Переменная Е отвечает за тип исключения. Например, вы можете поменять текст этой процедуры на такой: if E=EZeroDivide then ShowMessage('Делить на ноль нельзя!')

else ShowMessage(‘Другая какая-то ошибка‘);

9.Комментарии.

Если вам надо пояснить что-либо в тексте программы, заключите ваш комментарий в фигурные скобки. Весь закомментированный текст отобразится зеленым.

10. Математические функции

Формула

Функция

Значение

|x|

Аbs (x)

Абсолютное значение n

[x]

Trunc(x)

Целая часть числа x

{x}

Frac(x)

Дробная часть X

√x

Sqrt (x)

Квадратный корень из x

x2

Sqr (x)

Квадрат x

Sin x

Sin (x)

Синус x

Cos x

Cos (x)

Косинус x

arctg x

Arctan (x)

Арктангенс x

ex

Ехр(x)

Экспонента x

ln x

Ln(x)

Натуральный логарифм x

Pi

Число

xn

exp(n*ln(x))

Число х в степени n

n√x

exp(1/n*ln(x))

Корень в n-ой степени

Rardom(n)

Случайное целое число в диапазоне от 0 до n- 1

7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]