Автор работы: Пользователь скрыл имя, 29 Октября 2009 в 16:48, Не определен
Контрольная работа
Ввод и вывод данных в среде Дельфи
Дельфи представляет собой интегрированную среду разработки, инструменты которой позволяют значительно ускорить процесс разработки, создания и отладки программ.
Среду Дельфи составляет набор окон, визуально не связанных друг с другом. Одним из основных окон является окно конструктора форм (Form Designer), с помощью которого создаются заготовки для визуальной части программного приложения.
Конструирование формы состоит в переносе в поле формы необходимых компонентов. Каждый компонент имеет определенные свойства, которые определяют состояние и поведение объекта. В программе свойства используются для чтения и/или записи данных напрямую или через определенные методы, т.е. при обращении к тому или иному свойству выполняется либо прямое чтение/запись его значения, либо вызов процедуры или функции, которые возвращают требуемое значение.
На первом этапе создания программных приложений в Дельфи мы будем работать со следующими компонентами, позволяющими выполнить ввод и вывод данных, поясняющих надписей и т.п.:
EDIT - однострочный редактор для ввода, вывода и модификации данных
MEMO - многострочный текстовый редактор для вывода, ввода и изменения
LABEL - метка, для размещения заголовков, и других поясняющих надписей
STATICTEXT - метка, для размещения надписей в рельефной рамке
STRINGGRID - таблица строк, используется для ввода/вывода данных в виде двумерной таблицы.
Каждый компонент получает свое имя (имя компонента и номер, например EDIT1 – первый однострочный редактор, размещенный на форме, EDIT2 - второй однострочный редактор, размещенный на форме и т.д.)
Доступ
к компонентам осуществляется с
помощью соответствующих
Имя компонента Свойство для ввода/вывода
EDIT TEXT (в программе записывается EDIT1.TEXT)
MEMO TEXT (в программе записывается MEMO 1.TEXT)
LABEL CAPTION (только вывод) (LABEL1.CAPTION)
STATICTEXT CAPTION (только вывод) (STATICTEXT1.CAPTION)
STRINGGRID массив CELLS [номер столбца, номер строки] в программе записывается STRINGGRID1.CELLS[ j,i ]
Для компонента MEMO часто используется свойство «строка» LINES в сочетании с методом «добавить» ADD. ( в программе записывается MEMO1.LINES.ADD ( ) ).
Указанные свойства этих компонентов имеют строковый тип, т.е. тип STRING, поэтому при вводе числовых данных необходимо выполнить соответствующие преобразования данных
Для выполнения этих операций используется оператор присваивания « := »языка Паскаль.
В левой части оператора записывается имя компонента и его свойство, разделителем является точка, а в правой части – соответствующее значение.
В правой части можно записать любые данные строкового типа, т.е. записанные в апострофах или имя компонента и через точку его свойство, откуда берутся данные.
Для многострочного редактора существует несколько способов вывода данных:
Способы
1 и 2 не вводят новой строки.
Примеры
Если выполнить вывод в поле Memo1 из компонента Edit1, то записывается команда Memo1.Text := Edit1.Text
- компонент Edit1
B [
i,j ] :=StrToInt ( StringGrid1.Cells[ j,i ] );
Организация вывода элементов одномерного массива
Элементы
одномерного массива можно
1. Вывод в компонент Edit
For I := 1 to M do
Edit1.Text:=Edit1.Text + ' '+ IntToStr(A[I])
2. Вывод в компонент Label1
For I := 1 to M do
Label1.Text:=Label1.Text + ' '+ IntToStr(A[I])
3. Вывод в компонент StaticText
For I := 1 to M do
StaticText1.Caption := StaticText1.Caption + IntToStr (A[I]) + ' ';
4. Вывод в компонент Memo
4.1. В строку:
For I := 1 to M do
Memo1.Text:=Memo1.Text + ' '+ IntToStr (A[I]) { использование свойства
Text компонента Memo}
4.2. В столбик
For I := 1 to M do
Memo1.Lines.Add ( IntToStr (A[I]) ) {использование метода Add –
добавление новой строки в список}
5. Вывод одномерного массива Sum в столбец № 1 ком-та stringgrid1
for i := 1 to m do
stringgrid1.Cells[ 1, i ]:= floattostr(sum [ i ] );
В строку № 1 компонента Stringgrid :
for j := 1 to n do
stringgrid1.Cells[ j, 1 ]:= floattostr(sum [ j ] );
1. Вывод матрицы В в stringgrid2
for i := 1 to m do
for j:=1 to n do stringgrid2.cells[ j,i ]:=floattostr (b [ i,j ]);
2. Вывод матрицы В в компонент Memo с расчетом позиций чисел и в файл 'd: ez.txt'
var ff :textfile ;
d,p,z,i,j:integer; // позиции, счетчик пробелов, длина числа
ss,aa :string; // промежуточные строки ss –строка матрицы ;
// аа-строка для числа
begin
assignfile (ff,'d: ez.txt'); // связь с файлом на диске
rewrite (ff); // открыть файл для записи
ss:='';
d:=8; // 8 позиций на число
memo2.Lines.Add('матрица В') ; // вывод в memo2
writeln(ff,'матрица В') ; // вывод в файл
for I:=1 to m do begin
For j:=1 to n do
Begin aa:= floattostr (b[i,j]); //расчет длины числа и добавление пробелов
// до 8 символов (на 1 число)
z:= d - length (aa);
if b[i,j] <0 then z:=z+1;
for p:=1 to z do SS:=ss+' '; // 1 пробел между апострофами
ss := ss + floattostr (b[i,j]) +' '; // 2 пробела между апострофами
end;
memo2.Lines.Add(ss) ;
writeln(ff,ss) ;
ss:=''; // без пробелов между апострофами
d:=8; end;
closefile(ff); // закрыть файл
end;
end.
Вид файла D : rez.txt с результатами :
матрица В
10,7 2,2 3,3 4,1
10,5 6,3 1,1 -2,1
1,1
5 0,3
-1,1