Для вывода иллюстрации в форму добавлен компонент image, значок которого (рис. 15.3) находится на вкладке Additional палитры компонентов. В табл. 15.6 приведены свойства компонента image.

Таблица 15.6. Свойства компонента image

Свойство

Определяет

Name

Имя компонента

Picture

Свойство, являющееся объектом типа твИдпар. Определяет выво-

димую картинку

Left

Расстояние от левого края формы до левой границы области кар-

тинки

Top

Расстояние от верхней границы формы до верхней границы облас-

ти картинки

Таблица 15.6 (окончание)

Свойство

Height

Определяет

Высоту картинки

Width

Ширину картинки

AutoSize

Признак автоматического изменения размера компонента в соответствии с реальным размером картинки.

Если значение свойства AutoSize равно True, то при изменении значения свойства Picture автоматически меняется размер области вывода иллюстрации так, чтобы была видна вся картинка. Если значение свойства AutoSize равно False, а размер картинки превышает размер области, то отображается только часть картинки

Stretch

Признак автоматического сжатия или растяжения картинки таким образом, чтобы она была видна полностью в области, размер которой задан свойствами Width и Height

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

Например, для разрабатываемого приложения инструкция вывода иллюстрации, находящейся в файле isaak.bmp (изображение Исаакиевского собора), может быть такой:

Image1.Picture.LoadFromFile('isaak.bmp');

Очевидно, что размер области формы, которая может использоваться для вывода иллюстрации, зависит от длины (количества слов) вопроса, длины и количества альтернативных ответов. Чем длиннее вопрос и ответы, тем больше места в поле формы они занимают и тем меньше места остается для иллюстрации.

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

Если реальный размер иллюстрации превышает размер области, выделенной для ее вывода, то необходимо вычислить коэффициент масштабирования и установить максимально возможные, пропорциональные ширине и высоте иллюстрации значения свойств width и Height области вывода иллюстрации.

Рис. 15.4. Вычисление размера области вывода иллюстрации

Реальные размеры иллюстрации, загруженной в область imagei, можно получить из свойств Imagei.Picture.Bitmap.Width и Imagei.Picture.Bitmap.Height.

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

Например, для настройки программы тестирования, значок запуска которой находится на рабочем столе, на работу с файлом теста peterb.txt необходимо щелкнуть правой кнопкой мыши на значке программы, из появившегося контекстного меню выбрать команду Свойства и в поле Объект, после имени файла программы (Testi.exe), ввести имя файла теста (peterb.txt), заключив его в двойные кавычки (рис. 15.5).

( Примечание ^

Текст, находящийся в поле Объект вкладки Ярлык диалогового окна Свойства, называется командной строкой.

Программа может получить параметр, указанный в командной строке запуска программы, как значение функции Рагатз^(л), где л - номер параметра. Количество параметров командной строки находится в глобальной переменной РагатСоигл. Для приведенного выше примера командной строки запуска программы тестирования значение переменной РагатСоигл равно 1, а функции РагатЗ^(1) -peterb.txt.

Ниже приведен фрагмент программы, обеспечивающий прием параметра из командной строки:

Форма приложения || Оглавление || Загрузка файла теста


Delphi 6. Программирование на Object Pascal



Новости за месяц

  • Ноябрь
    2018
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс