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

I, j :integer;

sum, x :real;

begin

sum:=0;

for i:=1 to StringGrid1.RowCount –1 do

for j:=1 to StringGrid1.ColCount - 1 do

begin

if StringGrid1.Cells[j,i]='' then x:=0

else x:=StrToFloat( StringGrid1.Cells[j,i]);

sum:=sum+x;

end;

Label2.Caption:=FloatToStr(sum);

end;

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

    1. Вывод на печать

Постараемся в этом параграфе ответить на вопрос: как обеспечить вывод результатов на печать? Ограничимся простейшим способом печати, представленном в следующем примере. Печать выполняется при нажатии кнопки:

procedure TForm1.Button1Click(Sender: TObject);

var

p :TextFile;

k :real;

begin

AssignPrn (p);

Rewrite (p);

k:=4.3456;

writeln ( p, 'Это печать текста ',' K= ', k :3 :1);

CloseFile(p);

end;

Для выполнения печати объявим переменную типа TextFile и используем разновидность команды Assign – AssignPrn для настойки переменной р на порт принтера. Кроме того, необходимо добавить uses Printers; на соответствующее место в модуле формы. После этого вывод осуществляется как на языке Pascal.

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

  1. Многодокументный и однодокументный интерфейсы (mdi и sdi)

    1. Mdi и sdi: сравнение

При создании больших и сложных приложений трудно разместить все необходимые поля ввода/вывода и элементы управления на одном окне. Кроме того, всегда необходимо обеспечить удобство использования программы, обозримость и легкость понимания ее входных и выходных форм. При разработке программных комплексов, предназначенных для широкой эксплуатации, целесообразно, чтобы формы ввода/вывода по возможности совпадали по расположению информации с документами, с которыми работали при традиционной технологии, до перехода на ЭВМ. Вспомним хорошо знакомую среду Borland Pascal: там ведь тоже имеются разные окна (для набора текста программы, диагностических сообщений, выбора режимов работы программы и т.д.). И в Delphi можно создать приложения с многими окнами. В зависимости от того, как организовано управление окнами, различают две разновидности приложений с многими окнами:

  • многодокументный интерфейс – multiple document interface (MDI),

  • однодокументный интерфейс – single document interface (SDI).

Часто их называют соответственно MDI– и SDI–приложениями.

В MDI–приложениях имеется одно главное окно с меню, другие окна являются подчиненными (их называют еще дочерними) и ими можно управлять из главного окна. Закрытие главного окна означает завершение работы программы. Подчиненные окна не имеют собственного меню, но меню главного окна может видоизменяться в зависимости от того, какое окно в данный момент активно. Рекомендуют разрабатывать MDI–приложения таким образом, чтобы в главном окне было только меню, а все остальные действия выполнялись в подчиненных окнах. Примерами MDI–приложений являются Word, Windows 3.1.

Название SDI–приложения может ввести в заблуждение: кажется, что там имеется только одно окно. На самом деле там тоже допускается большое число окон, но нет главного окна, из которого управлялись бы все остальные. Все окна независимы, они могут содержать и собственные меню. Все действия над окнами придется запрограммировать самому. Примером SDI–приложения является Delphi.