WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     | 1 | 2 || 4 | 5 |   ...   | 85 |

«CVBuilder 6 СПРАВОЧНОЕ ПОСОБИЕ Книга 2 Классы и компоненты Москва ЗАО Издательство БИНОМ 2002 УДК 004.43 ББК 32.973.26-018.1 А87 Архангельский А.Я. C++Builder 6. ...»

-- [ Страница 3 ] --

Метод Terminate завершает выполнение приложения. Если вам надо завершить приложение из главной формы, то вместо метода Application—Termmate() вы можете использовать метод Close главной формы. Но если вам надо закрыть приложение из какой-то вторичной формы, например, из диалога, то надо применять метод Application—Terminate().

Метод Minimize сворачивает приложение, помещая его пиктограмму в полосу задач Windows.

Ряд методов связан с работой со справочными файлами. Выше уже говорилось о свойстве HelpFile, указывающем текущий файл справки. Метод HelpContext:

bool HelpContext (Classes::THelpContext Context);

вызывает переход в файл справки на тему с идентификатором Context. Это идентификатор, который при проектировании справки поставлен в соответствие некоторой теме. Метод Help Jump:

bool HelpJump(const System::AnsiString JumpID);

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

Метод HelpCommand:

bool HelpCommand(int Command, int Data);

позволяет выполнить указанную параметром Command команду API WinHelp с параметром Data. Метод генерирует событие OnHelp активной формы или приложения, а затем выполняет указанную команду WinHelp. Полный список команд WinHelp вы можете найти в теме WinHelp справочного файла win32.hlp, расположенного в каталоге...\Program Files\Common Files\Borland Shared\MSHelp. Приведем только некоторые из них. Команда HELP_CONTENTS с параметром 0 отображает окно Содержание справки. Команда HELP_INDEX с параметром 0 отображает окно Указатель справки. Команда HELP_CONTEXT с параметром, равным идентификатору темы, отображает тему с заданным идентификатором (это тождественно рассмотренному ранее методу HelpContext). Команда HELP_CONTEXTPOPUP с параметром, равным идентификатору темы, делает то же самое, но отображает тему во всплывающем окне.

Хотелось бы еще обратить внимание читателя на очень полезный метод MessageBox (см. в гл. 5), позволяющий вызывать диалоговое окно с указанным текстом, указанным заголовком и русскими надписями на кнопках (в русифицированных версиях Windows). Это наиболее удачный полностью русифицируемый стандартный диалог.

В классе TApplication определено множество событий, которые очень полезны для организации приложения. Ранее для использования этих событий было необходимо вводить соответствующие обработчики и указывать на них объекту Application специальными операторами. Начиная с C+4-Builder 5 в библиотеке имеется компонент ApplicationEvents, существенно облегчивший эту задачу. Этот компонент перехватывает события объекта Application и, следовательно, обработчики этих событий теперь можно писать как обработчики событий невизуального компонента ApplicationEvents.

DateSeparator — переменная Определяет символ разделителя, используемого в формате отображения дат.

Модуль SysUtils.hpp.

Определение extern PACKAGE char DateSeparator;

Описание Глобальная переменная DateSeparator определяет символ разделителя, используемого в формате отображения дат ShortDateFormat и в ряде других форматов. По умолчанию в русифицированных версиях Windows это символ точки. Но вы можете программно задать другой символ разделителя. Правда, если вы не задаете явным образом формат отображения, то само по себе изменение DateSeparator, ни к чему не приведет. Но если вы, кроме того, измените значение переменной ShortDateFormat, используя в ее описании спецификатор "/", или если примените для отображения даты функции FormatDateTime. DateTimeToString и иные, описывающие формат, то в отображении будет использоваться новое значение DateS eparator.

Оператор Editl-Text = Date О;

отобразит в окне Editl текущую дату в виде: "27.06.2002". Если вы предварительно выполните оператор DateSeparator = ' - ' ;

изменяющий значение DateSeparator, то приведенный выше оператор вывода в окно Editl отобразит дату в прежнем формате. Но если вы будете отображать дату оператором Editl-Text = FormatDateTime("dd/mm/yyyy",Date());

или операторами ShortDateFormat = "dd/mm/yyyy";

Editl-Text = Dated;

то отображение примет вид: "27-06-2002", т.е. сработает заданный вами разделитель "-".

Default8087CW -- переменная Содержит значение по умолчанию управляющего слова FPU.

Заголовочный файл Systern.hpp.

Определение extern PACKAGE Word Default8087CW;

Описание Переменная DefauIt8087CW содержит значение по умолчанию управляющего слова FPU. Это слово управляет точностью, округлением и генерацией исключений при выполнении операций с плавающей запятой.

Слово может устанавливаться функцией Set8087CW. Например:

Set8087CW(Default8087CW);

Infinity, Neglnfinity, NaN — константы При выполнении арифметических операций и математических функций могут возникать ошибки, связанные с переполнением или с принципиальной невозможностью вычислить результат. Для идентификации подобных ошибок введены три константы: Infinity (положительная бесконечность), Neglnfinity (отрицательная бесконечность), NaN (нецифровое значение).

Они определены в модуле Math.hpp следующим образом:

static const Extended NaN = 0. 0 / 0. 0 ;

Если преобразовывать эти значения в строку обычной функцией FloatToStr.

то будут выданы соответственно тексты "INF", "-INF", "NAN". Последующее использование полученных значений в арифметических операциях приведет к выдаче в качестве результата аналогичных значений.



Но все это будет так, если функцией Set8087CW или другими аналогичными функциями устранена генерация исключений при арифметических ошибках.

Константы Infinity, Neglnfinity и NaN не могут использоваться в операциях сравнения. Для проверки результата в том же модуле Math.hpp введены функции Islnfinite и IsNan. Первая из них возвращает true, если значение аргумента равно Infinity или Neglnfinity, а вторая — если значение аргумента равно NaN. Если функцией Islnfinite обнаружено, что значение бесконечное, то знак бесконечности можно определить функцией Sign.

LongDateFormat — переменная Определяет длинный формат отображения дат.

См. разд. «ShortDateFormat, LongDateFormat — переменные».

LongTimeFormat, ShortTimeFormat — переменные Определяют формат отображения времени.

Модуль SysUtils.hpp.

Определение extern PACKAGE A n s i S t r i n g LongTimeFormat;

extern PACKAGE A n s i S t r i n g ShortTimeFormat;

Описание Глобальная переменная LongTimeFormat определяет формат отображения времени в виде строки такими функциями, как DateTimeToString, TimeToStr и многими другими. По умолчанию в русифицированных версиях Windows она обеспечивает отображение времени в формате час (две цифры), минуты (две цифры), секунды (две цифры). В качестве разделителей используется символ, определенный в глобальной переменной TimeSeparator (обычно двоеточие). Один из приведенных ниже спецификаторов обеспечивает отображение времени в кратком формате, определенном глобальной переменной ShortTimeFormat. По умолчанию это час и минуты (по два символа), разделенные символом TimeSeparator.

Задавая значения LongTimeFormat и ShortTimeFormat можно изменить отображение времени по умолчанию. В текстах строк могут использоваться следующие спецификаторы:

Спецификатор Действие спецификатора Отображает час числом без предшествующего нуля: 0- hh Отображает час всегда двузначным числом: 00- m или n Отображает минуты числом без предшествующего нуля: 0- mm или nn Отображает секунды числом без предшествующего нуля: 0- Отображает секунды всегда двузначным числом: 00- Отображает миллисекунды числом без предшествующего нуля:

Отображает миллисекунды всегда трехзначным числом:

zzz t Отображает время в формате, соответствующем глобальной переменной ShortTimeFormat ("час:минута") Используется при 12 -часовом отображении времени для записи am/pm символов "am" или "рт". Регистр символов соответствует регистру, использованному в записи спецификатора Используется при 12-часовом отображении времени для записи a/p символов "а" или "р". Регистр символов соответствует регистру, использованному в записи спецификатора Используется при 12-часовом отображении времени для записи ampm символов, задаваемых глобальными переменными TimeAMString и TimePMString (в русифицированных Windows обычно Отображает разделитель времени, заданный глобальной переменной TimeSeparator (обычно":") Символы, заключенные в одинарные или двойные кавычки, 'xx'/"xx" как и символы, отличные от других спецификаторов, переносятся в результирующую строку без форматирования Все спецификаторы могут записываться в любом регистре.

отобразит в окне Editl время в формате по умолчанию, например: "16:05:02".

Если же перед этим оператором вставить изменение переменной LongTimeFormat:

LongTimeFormat = "время: h : m : s " ;

то то же время отобразится в виде: "время: 16:5:2". А в случае оператора LongTimeFormat = "время: t";

отображение будет иметь вид: "время: 16:05"., т.е. будет использована переменная ShortTimeFormat. Ее тоже можно изменить. Например, если перед отображением даты вы выполните оператор ShortTimeFormat = "h часов m минут";

то приведенный выше оператор, задающий значение LongTimeFormat, приведет к отображению текста: "время: 16 часов 5 минут".

Можете записать операторы LongTimeFormat = Edit2-Text;

Editl-Text = Time ( ) ;

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

NoErrMsg — переменная Управляет сообщениями об ошибках.

Модуль System.

Определение extern PACKAGE bool NoErrMsg = 0;

Описание Переменная NoErrMsg управляет появлением системных сообщений об ошибках времени выполнения. При значении false, принятом по умолчанию, в случае ошибки пользователю предъявляется диалоговое окно с соответствующим сообщением. Если установить NoErrMsg в true, эти окна появляться не будут.

Модуль SysUtils трансформирует большинство ошибок времени выполнения в исключения. Поэтому, если в приложении подключен модуль SysUtils, системные сообщения об ошибках времени выполнения могут не появляться, даже если NoErrMsg = false (точнее, эти сообщения заменяются стандартной обработкой исключений).

Screen — переменная Глобальная переменная типа TScreen.

Описание В приложении C++Builder автоматически создается глобальный объект Screen (экран) типа TScreen, свойства которого определяются из информации Windows о мониторе, на котором запускается приложение. Вы можете в любом приложении использовать, например, такие свойства объекта Screen, как Height — высота экрана и Width — его ширина. Это, в частности, может потребоваться, если вы задаете значение свойства своих форм Position таким, что размеры форм остаются постоянными. Так как вы используете в процессе проектирования один тип монитора, а приложение в дальнейшем может работать на мониторе другого типа, то не исключено, например, что ваша форма не поместится на экране или наоборот — будет слишком маленького размера для данного монитора. Чтобы избежать этих неприятностей, можно автоматически масштабировать свою форму, вводя, например, в обработчик ее события OnCreate код:

Width = Screen-Width / 2;

Height = Screen-Height / 2;

Этот код задает размеры формы равными половине соответствующих размеров экрана.

Разрешающую способность экрана можно определить, воспользовавшись свойством PixelsPerlnch, указывающим количество пикселов экрана на дюйм в вертикальном направлении. Это справедливо именно для вертикального направления, поскольку во многих мониторах коэффициенты масштабирования по горизонтали и вертикали различаются.



Pages:     | 1 | 2 || 4 | 5 |   ...   | 85 |