Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
26.04.2015
Размер:
205.82 Кб
Скачать

Преобразование типов

Так как в интерфейсе данные представлены строкой , то очень важно преобразование строковых данных в числовые. Для этого в Delphi используется ряд процедур и функций с возможностями форматирования:

  • StrToInt(S) – преобразует строку в целое число ( возможна ошибка )

  • StrToFloat(S) – преобразует строку в вещественное ( возможна ошибка )

  • IntToStr(X) - – преобразует целое значение строку

  • FloatToStr(X) - – преобразует вещественное значение строку

  • процедура Str( X, S) - преобразует числовое значение в строку.

  • процедура Val(S, X, N) - преобразует строку в числовое значение, при успешном преобразовании N=0;

  • FormatFloat(F, X) – преобразует числовое значение в строку согласно формата F. Формат F задается шаблоном типа String

Пример

var

X:Real; N:Integer;

Edit1.Text:=FormatFloat(‘0.00’, 0.5); // ‘0.50’

Edit1.Text:=FormatFloat(‘#.##’, 0.567);// ‘0.57’

Edit1.Text:=FormatFloat(‘#.##’, 1234.5);// ‘1234.5’

Edit1.Text:=FormatFloat(‘0.00’, 1234.5); // ‘1234.50’

Edit1.Text:=FormatFloat(‘#.##’, X); // // вывод X

Edit1.Text:=FloatToStr(X); // вывод X

Edit1.Text:=IntToStr(N); // вывод N

N:=StrToInt(Edit1.Text); // ввод N

X:=StrToFloat(Edit1.Text); // ввод X

Mассивы

Массив - это упорядоченная структура однотипных данных, хранящая их последовательно. Доступ к элементу массива осуществляется через его индекс. Тип массива описываются в разделе type следующим образом:

<Имя типа> = array [ диапазоны индексов ] of <тип элемента массива>;

В качестве типа для элементов массива можно использовать любые типы Delphi, кроме файловых. Диапазоны индексов представляют собой один или несколько диапазонов, перечисленные через запятую. Элементом одномерного массива является индексная переменная с одним индексом, например: R[1] , D[k+2] , List[2*i]

Пример

type

// описывается тип TMass (целочисленный массив из 6 элементов)

TMass = array [0..5] of Integer;

Переменные типа массив описываются в разделе var следующим образом:

<Имя переменной >: array [ диапазоны индексов ] of< тип элемента массива>

Пример

var

M: TMass; // M - целочисленный массив типа TMass

N,K: array [1..10] of Byte; // N, K - целочисленные массивы из 10 элементов

S: array [1..100] of String; // S – массив из 100 строк

X: array [1..10] of Real;// вещественный массив из 10 элементов

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

С[i,j] , L[k+2,3] , F[5,7]

Пример

Var

N2: array [1..5,1..10] of Integer; // целочисленный двумерный массив Mass2: array [0..2] of TMass; // двумерный целочисленный массив

При работе с массивом, как правило, используют цикл, а в цикле используют элементы массива (индексные переменные). С массивом работают поэлементно.

Пример

// ввод целочисленного массива N из 10 элементов из StringGrid

for i:=1 to 10 do

N[i] := StrToInt(StringGrid.Cells[ i-1,0];

// ввод строкового массива S из 100 элементов из StringGrid

for i:=1 to 100 do

S[i] := (StringGrid.Cells[ i-1,0];

// ввод двумерного массива Mass2, который представлен таблицей 6 x 3

for i:=0 to 3 do

for j:=0 to 5 do

Mass2[i,j] := StrToInt (StringGrid.Cells[ i,j];

Для вывода массива можно использовать компоненты StringGrid, ListBox.

Пример

// вывод целочисленного массива N из 10 элементов в ListBox

for i:=1 to 10 do

ListBox1.Items.Append(IntToStr(N[i]));

// вывод строкового двумерного массива N2 (5X10) в StringGrid

for i:=1 to 5 do

for j:=1 to 10 do

StringGrid.Cells[ j-1, i-1] :=IntToStr(N2[ i, j]);

Соседние файлы в папке Методический материал