Разработка прикладных программ для ОС WINDOWS с помощью интегрированных сред Delphi / C++Builder. Баканов В.М. - 64 стр.

UptoLike

Составители: 

- 64 -
нения изображения принудительно перерисовывать область вывода путем
использования родительских методов Paint (без предварительной очистки
области) или (иногда) Repaint (область вывода перед перерисовкой очищает-
ся).
К сожалению, подобные вышеприведенным алгоритмы очень неэффек-
тивны по затратам машинного времени (вследствие многократного вывода на
экран отдельных пикселов); профессионалльный подход заключается в соз-
дании внеэкранного битового
образа - например, с помощью компонента ти-
па TBitmap - и 'сброс' оного на экран (режим копирования CopyMode=
cmSrcCopy) с помощью метода Draw.
8. ПЕЧАТЬ В Delphi И C++Builder
Вывод на печать - вторая традиционно сложная группа операций в WIN-
DOWS. Delphi и C++Builder предоставляют разработчику компонент
TPrinter, однако мало упрощающий организацию вывода на печать.
Версии Delphi выше 1.0 и C++Builder имеют штатный компонент
TQuickReport, в максимальной степени упрощающий организацию печати;
см. документацию указанного компонента.
Только в сложных случаях целесообразно применять систему Report
Smith, обладающую огромными возможностями, но требующую больших за-
трат памяти и медленно работающую даже на мощных ПЭВМ.
9. НЕКОТОРЫЕ ПОЛЕЗНЫЕ ФУНКЦИИ И ПРИЕМЫ
ПРОГРАММИРОВАНИЯ
В Delphi И C++Builder
9.1. ЧАСТО ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ И ПРОЦЕДУРЫ
При работе с Delphi часто приходится использовать некоторые функции,
непривычные даже для знатоков языка Pascal; ниже приведены советы по
применению этих функций.
При отладке часто приходится выводить в компонент TLabel числовые
значения, в то же время свойство Caption принимает только
строковые зна-
чения. Ниже показано применение функций простейшего (без возможности
указания числа позиций для целого и вещественного) форматирования целых
и вещественных величин для преобразования в строку
Label1.Caption := IntToStr(NumberOfCars) + ' : ' +
FloatToStr(SpeedOfCar);
Существуют реализующие обратное преобразование функции StrToInt и
StrToFIoat. Пример несколько более сложного форматирования показан ра-
нее - см. раздел 5.6 данной работы. Наибольшей же гибкостью обладают
                                        - 64 -


нения изображения принудительно перерисовывать область вывода путем
использования родительских методов Paint (без предварительной очистки
области) или (иногда) Repaint (область вывода перед перерисовкой очищает-
ся).
    К сожалению, подобные вышеприведенным алгоритмы очень неэффек-
тивны по затратам машинного времени (вследствие многократного вывода на
экран отдельных пикселов); профессионалльный подход заключается в соз-
дании внеэкранного битового образа - например, с помощью компонента ти-
па TBitmap - и 'сброс' оного на экран (режим копирования CopyMode=
cmSrcCopy) с помощью метода Draw.

8. ПЕЧАТЬ В Delphi И C++Builder

   Вывод на печать - вторая традиционно сложная группа операций в WIN-
DOWS. Delphi и C++Builder предоставляют разработчику компонент
TPrinter, однако мало упрощающий организацию вывода на печать.
   Версии Delphi выше 1.0 и C++Builder имеют штатный компонент
TQuickReport, в максимальной степени упрощающий организацию печати;
см. документацию указанного компонента.
   Только в сложных случаях целесообразно применять систему Report
Smith, обладающую огромными возможностями, но требующую больших за-
трат памяти и медленно работающую даже на мощных ПЭВМ.

9. НЕКОТОРЫЕ ПОЛЕЗНЫЕ ФУНКЦИИ И ПРИЕМЫ
   ПРОГРАММИРОВАНИЯ В Delphi И C++Builder

9.1. ЧАСТО ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ И ПРОЦЕДУРЫ

   При работе с Delphi часто приходится использовать некоторые функции,
непривычные даже для знатоков языка Pascal; ниже приведены советы по
применению этих функций.
   При отладке часто приходится выводить в компонент TLabel числовые
значения, в то же время свойство Caption принимает только строковые зна-
чения. Ниже показано применение функций простейшего (без возможности
указания числа позиций для целого и вещественного) форматирования целых
и вещественных величин для преобразования в строку

Label1.Caption := IntToStr(NumberOfCars) + ' : ' +
                  FloatToStr(SpeedOfCar);

   Существуют реализующие обратное преобразование функции StrToInt и
StrToFIoat. Пример несколько более сложного форматирования показан ра-
нее - см. раздел 5.6 данной работы. Наибольшей же гибкостью обладают