Реферат: Ввод вывод данных в дельфи
Название: Ввод вывод данных в дельфи Раздел: Рефераты по информатике Тип: реферат | ||
Ввод и вывод данных в среде Дельфи Дельфи представляет собой интегрированную среду разработки, инструменты которой позволяют значительно ускорить процесс разработки, создания и отладки программ. Среду Дельфи составляет набор окон, визуально не связанных друг с другом. Одним из основных окон является окно конструктора форм (FormDesigner), с помощью которого создаются заготовки для визуальной части программного приложения. Конструирование формы состоит в переносе в поле формы необходимых компонентов. Каждый компонент имеет определенные свойства, которые определяют состояние и поведение объекта. В программе свойства используются для чтения и/или записи данных напрямую или через определенные методы, т.е. при обращении к тому или иному свойству выполняется либо прямое чтение/запись его значения, либо вызов процедуры или функции, которые возвращают требуемое значение. На первом этапе создания программных приложений в Дельфи мы будем работать со следующими компонентами, позволяющими выполнить ввод и вывод данных, поясняющих надписей и т.п.: EDIT - однострочный редактор для ввода, вывода и модификации данных MEMO - многострочный текстовый редактор для вывода, ввода и изменения LABEL - метка, для размещения заголовков, и других поясняющих надписей STATICTEXT - метка, для размещения надписей в рельефной рамке STRINGGRID - таблица строк, используется для ввода/вывода данных в виде двумерной таблицы. Каждый компонент получает свое имя (имя компонента и номер, например EDIT1 – первый однострочный редактор, размещенный на форме, EDIT2 - второй однострочный редактор, размещенный на форме и т.д.) Доступ к компонентам осуществляется с помощью соответствующих свойств компонентов, причем для каждого компонента эти свойства могут быть разными. Имя компонента Свойство для ввода/вывода EDITTEXT (в программе записывается EDIT1.TEXT) MEMOTEXT (в программе записывается MEMO 1.TEXT) LABEL CAPTION (только вывод) (LABEL1.CAPTION) STATICTEXT CAPTION (только вывод) (STATICTEXT1.CAPTION) STRINGGRID массив CELLS [номер столбца, номер строки] в программе записывается STRINGGRID1.CELLS[ j,i ] Для компонента MEMO часто используется свойство «строка» LINES в сочетании с методом «добавить» ADD. ( в программе записывается MEMO1.LINES.ADD ( ) ). Указанные свойства этих компонентов имеют строковый тип, т.е. тип STRING, поэтому при вводе числовых данных необходимо выполнить соответствующие преобразования данных - при вводе надо перевести данные из строкового типа в числовой, а именно в целочисленный тип или вещественный тип с помощью функций STRTOINT ( ) или STRTOFLOAT ( ); - при выводе данные надо перевести из целочисленного или вещественного типа в строковый с помощью функций INTTOSTR ( ) или FLOATTOSTR ( ) Для выполнения этих операций используется оператор присваивания « := »языка Паскаль. В левой части оператора записывается имя компонента и его свойство, разделителем является точка, а в правой части – соответствующее значение. В правой части можно записать любые данные строкового типа, т.е. записанные в апострофах или имя компонента и через точку его свойство, откуда берутся данные. Для многострочного редактора существует несколько способов вывода данных: - способ 1 Memo1.Text := ‘вывод с потерей всего выведенного ранее’; - способ 2 Memo1.Text := Memo1.Text + ‘вывод с сохранением выведенного ранее’; - способ 3 Memo1.Lines.Add (‘ добавить строку и вывести все, что в апострофах‘) ; Способы 1 и 2 не вводят новой строки. Примеры
Если выполнить вывод в поле Memo1 из компонента Edit1, то записывается команда Memo1.Text := Edit1.Text
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 ком-та s tringgrid1 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. Вывод матрицы В в s tringgrid2 for i := 1 to m do for j:=1 to n do stringgrid2.cells[ j,i ]:=floattostr (b [ i,j ]); 2. Вывод матрицы В в компонент Memo с расчетом позиций чисел и в файл ' d:\ rez. txt' var ff : textfile ; d,p,z,i,j:integer; // позиции, счетчик пробелов, длина числа ss,aa :string; // промежуточные строки ss –строка матрицы ; // аа-строка для числа begin assignfile ( ff,' d:\ rez. 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:= в - 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 |