Ввод вывод данных в дельфи

Автор работы: Пользователь скрыл имя, 29 Октября 2009 в 16:48, Не определен

Описание работы

Контрольная работа

Файлы: 1 файл

ввод вывод в дельфи.doc

— 50.00 Кб (Скачать файл)

    Ввод  и вывод данных в среде Дельфи

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

    Среду Дельфи составляет набор окон, визуально  не связанных друг с другом. Одним из основных окон является окно конструктора форм (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, поэтому при вводе числовых данных необходимо выполнить соответствующие преобразования данных

    • при вводе надо перевести данные из строкового типа в числовой, а именно в целочисленный тип или вещественный тип с помощью функций STRTOINT ( ) или STRTOFLOAT ( );
    • при выводе данные надо перевести из целочисленного или вещественного типа в строковый с помощью функций INTTOSTR ( )  или FLOATTOSTR ( )
 

Для выполнения этих операций используется оператор присваивания « := »языка Паскаль.

В левой  части оператора записывается имя  компонента и его свойство, разделителем является точка, а в правой части  – соответствующее значение.

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

Для многострочного редактора существует несколько  способов вывода данных:

  • способ 1 Memo1.Text := ‘вывод с потерей всего выведенного ранее’;
  • способ 2 Memo1.Text := Memo1.Text  + ‘вывод с сохранением выведенного ранее’;
  • способ 3 Memo1.Lines.Add (‘ добавить строку и вывести все, что в апострофах‘) ;

Способы 1 и 2 не вводят новой строки. 

Примеры

  1. Вывод в поле метки 1 слова Москва   Label1.Caption := ‘ Москва ‘;
  2. Вывод в поле метки 2 числа 25    Label2.Caption := ‘ 25 ‘ ;
  3. Вывод в поле метки 1 числа 10,23    StaticText1 := ' 10.23 ‘ ;
  4. Ввод в переменную А числа 5 из компонента Edit1 А:= strtoint(Edit1.Text)
  5. Вывод в поле Memo1 значения переменной А   Memo1.Text :=inttostr (A) ;

Если  выполнить вывод в поле Memo1 из компонента Edit1, то записывается команда Memo1.Text := Edit1.Text

          - компонент Edit1

  1. Ввод в переменную массива В[i,j] целочисленного  значения из ячейки StringGrid1

      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   

Информация о работе Ввод вывод данных в дельфи