Ввод и вывод данных в среде Дельфи
Дельфи представляет собой интегрированную среду разработки, инструменты которой позволяют значительно ускорить процесс разработки, создания и отладки программ.
Среду Дельфи составляет набор окон, визуально не связанных друг с другом. Одним из основных окон является окно конструктора форм (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 слова Москва Label1.Caption := ‘ Москва ‘;
Вывод в поле метки 2 числа 25 Label2.Caption := ‘ 25 ‘ ;
Вывод в поле метки 1 числа 10,23 StaticText1 := ' 10.23 ‘ ;
Ввод в переменную А числа 5 из компонента Edit1 А:= strtoint(Edit1.Text)
Вывод в поле Memo1 значения переменной А Memo1.Text :=inttostr (A) ;
Если выполнить вывод в поле Memo1 из компонента Edit1, то записывается команда Memo1.Text := Edit1.Text
-
5
компонент Edit1
Ввод в переменную массива В[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: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:= 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
/usr/local/www//tmp/archives/16153460_2013.10.22_17-50-34/0.doc
Другие работы по теме:
Созание компоненты
Вы часто используете в своих программах одни и те же куски кода для обработки стандартных компонент? Если да, то вам стоит прочитать эту статью. Здесь мы рассмотрим основы создания компоненты, и в качестве примера создадим одну простую компоненту.
объект исследования или разработки
Санкт-Петербурга прикладных программ учета музейных ценностей. Исследована возможность перехода от программ, реализующих идеологию «файл-сервер», к программам, построенным по принципу «клиент-сервер». Отработан алгоритм конвертации записей бд субд foxPro в формат Mysql
Дельфийский метод
Другие названия метода: "", "Метод дельфийского оракула". Авторы метода: О. Холмер, Т. Гордон и др. (США), 50-е годы XX в. Назначение метода
Методы прогнозирования в маркетинговой деятельности
Прогнозирование служит для выяснения тенденций развития фирмы в условиях постоянного изменения факторов внешней и внутренней среды и поиска рациональных маркетинговых мероприятий по поддержке устойчивости ее экономического поведения.
Бабятинский, Валерий Константинович
План Введение 1 Биография 2 Признание и награды 3 Творчество 3.1 Роли в театре 3.2 Фильмография Список литературы Введение Валерий Константинович Бабятинский (род. 1942) — советский и российский актёр театра и кино, Народный артист РСФСР (1991)[1][2].
Описание файлов, создаваемых Дельфи
Вы когда ни будь задумывались о том, что создает Дельфи в папке с исходниками проекта? Да и нужен ли весь этот абсолютно бесполезный, для рядового программиста, "мусор"? Пора призадуматься. В этой мини-статье я расскажу о назначении таких файлов.
Предотвращение запуска 2-x копий программы
Известно, что Windows - многозадачная система. Это конечно хорошо. Но обратной стороной многозадачности является то, что одновременно можно запустить несколько копий одного и того же приложения.
Работа с файлам в Дельфи
В статье рассматриваются стандартные I/O операции с файлами, типичные ошибки и методы их предотвращения.
Нахождение пути от одного населённого пункта к другому
Цель работы: Разработать программу, осуществляющую нахождение пути от одного населённого пункта к другому. Введение В настоящее время индустрия производства компьютеров и программного обеспечения для них является одной из наиболее важных сфер экономики развитых стран. Ежегодно в мире продаются десятки миллионов компьютеров.
Лабораторная работа №12
Цель работы: Изучение правил описания и вызова подпрограмм: процедур и функций. Получение навыков и овладение приемами работы над подпрограммами. Задание№ 17
Интегрирование методом Симпсона
Московский Авиационный Институт Расчетно графическая работа по: алгоритмическим языкам и программированию. кафедра 403 Выполнил: Гуренков Дмитрий гр. 04-109 /____________/
Turbo Paskal Операции над матрицами
Государственный Комитет Российской Федерации по Высшему Образованию Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ»
16-ти разрядный реверсивный регистр
Проектировка 16-ти разрядного реверсивного регистра сдвига. Преобразование результата на выходе в код 8-4-2-1. Индикация на семисегментном индикаторе.
Различные способы печати из приложений
Печать используется в приложениях не так часто, вот и возникают различные вопросы по этому поводу. Иногда бывает необходимо "вывести на принтер" график получившейся функции или отчет о деятельности фирмы и т.д.
Установка компонентов в Дельфи
Если после установки компонента на форму возникли проблемы с компиляцией проекта, то это значит, что Delphi не может найти .pas файл компонента.
Cache': перехват текущего устройства
Неудобство стандартных устройств mumps состоит в том, что если выполняется программный код, осуществляющий ввод-вывод через него, то этот процесс сторонним кодом неуправляем иначе как установкой возможных опций устройству.
Работа с типами данных записи
Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
Создание базы данных "Стадионы города" на языке C
Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.
Алгоритмические языки: обработка одномерных массивов
Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
Примеры решения задач по программированию
Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.
Разработка форматов хранения программ. Структурирование
Основная цель этого блока, ввод данных для работы программы. Дополнительная цель, вывод информации. Два условия проверки вводимых данных. Первое условие проверки на количество точек. Второе, на правильность ввода координат точек. Созданные подпрограммы.
Сортировка массива методом Шелла
Отчёт по практике Выполнили: cт.гр. 97ЭЭ3 Толмач М., Ерегин П., Синева Т. Пензенский государственный университет, Кафедра "Экономическая кибернетика"
История развития вычислительной техники 2 2
Text Text 1953-1955. IBM 604, IBM 608, IBM 702 1953-1955. IBM 604, IBM 608, IBM 702 1965-1966. БЭСМ-6 60 000 транзисторов 200 000 диодов 1 млн. операций в секунду память – магнитная лента, магнитный барабан работали дл 90-х гг. Graphics
Ассемблер
Волжский университет имени В.Н.Татищева Факультет “Информатика и телекоммуникации” Кафедра “Информатика и системы управления” КУРСОВАЯ РАБОТА по дисциплине: “Организация ЭВМ ”
Глобальные объекты в Дельфи Их свойства и методы
Михаил Христосенко В этой работе я постараюсь рассмотреть существующие в Дельфи глобальные классы. Расскажу о том, как и где их можно применять и что с ними можно делать. Начнем мы с глобального класса (объекта) TApplication. Предлагаю вам ознакомиться с приведенной таблицей событий этого объекта:
Нахождение пути от одного населённого пункта к другому
Цель работы: Разработать программу, осуществляющую нахождение пути от одного населённого пункта к другому. Введение В настоящее время индустрия производства компьютеров и программного обеспечения для них является одной из наиболее важных сфер экономики развитых стран. Ежегодно в мире продаются десятки миллионов компьютеров.