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

UptoLike

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

- 65 -
функции форматирования и преобразования (обычно включают в своем име-
ни слово 'Format). Например, функция
Format(const Fmt: string, const Args: array of consts): string;
возвращает строку, представляющую собой отформатированные по шаб-
лону Fmt (в основном используются С-шаблоны форматирования) ряд пере-
менных Args. Например, в следующем примере в поле LabelOut будут выве-
дены - текст 'Значение...', расположенное в 4 позициях целое I и расположен-
ное в 10 позициях (с тремя знаками после запятой) вещественное число R.
NumbI: integer;
NumbR: real;
. . . . . . . . . . . .
LabelOut.Caption:=Format('3начение I=%4d, R=%10.3f, [NumbI, NumbR]);
C++Builder.
Соответственно
int NumbI;
float NumbR;
. . . . . . . . . . . .
char buffer_1 [100]; // С-строка из 100 символов
sprintf(buffer_1, "Значение l=%4d, R=%10.3f", Numbl,NumbR);
LabelOut->Caption =buffer_1;
// Delphi-подобная функция Format также доступна, однако
// при передаче в нее форматируемых параметров необходимо
// преобразовывать их к типу 'array of const' (TVarRec) - см. образец ниже
// TVarRec str[3] = {"3начение", Numbl,NumbR"};
// Label1->Caption=Format("%s I=%4d , R=%10.3f", str,3);
Естественно, существует ряд функций обратного преобразования ('стр-
ока
число’). Для более подробного ознакомления рекомендуется литерату-
ра [5,8,10,11,13].
Большинство авктивизируемых событиями процедур передают вызываю-
щей подпрограмме значение параметра Sender, указывающего на объект, вы-
звавший событие. Во многих случаях (например, при наличии множества вы-
полняющих близкие функции кнопок) нет необходимости связывать собст-
венную процедуру-обработчик с каждым Control’ом. Нижеприведенный Pas-
cal-код иллюстрирует
возможность идентификации (по имени) компонента,
вызвавшего процедуру:
...
if (Sender as TComponent).Name = ‘Button_01’ then
{ обработка нажатия кнопки с именем Button_01 }
else
if (Sender as TComponent).Name = ‘Button_02’ then
                                         - 65 -


функции форматирования и преобразования (обычно включают в своем име-
ни слово 'Format). Например, функция

Format(const Fmt: string, const Args: array of consts): string;

   возвращает строку, представляющую собой отформатированные по шаб-
лону Fmt (в основном используются С-шаблоны форматирования) ряд пере-
менных Args. Например, в следующем примере в поле LabelOut будут выве-
дены - текст 'Значение...', расположенное в 4 позициях целое I и расположен-
ное в 10 позициях (с тремя знаками после запятой) вещественное число R.

NumbI: integer;
NumbR: real;
............
LabelOut.Caption:=Format('3начение I=%4d, R=%10.3f, [NumbI, NumbR]);

   C++Builder. Соответственно

int NumbI;
float NumbR;
....... .....
char buffer_1 [100]; // С-строка из 100 символов
sprintf(buffer_1, "Значение l=%4d, R=%10.3f", Numbl,NumbR);
LabelOut->Caption =buffer_1;
// Delphi-подобная функция Format также доступна, однако
// при передаче в нее форматируемых параметров необходимо
// преобразовывать их к типу 'array of const' (TVarRec) - см. образец ниже
// TVarRec str[3] = {"3начение", Numbl,NumbR"};
// Label1->Caption=Format("%s I=%4d , R=%10.3f", str,3);

    Естественно, существует ряд функций обратного преобразования ('стр-
ока число’). Для более подробного ознакомления рекомендуется литерату-
ра [5,8,10,11,13].
    Большинство авктивизируемых событиями процедур передают вызываю-
щей подпрограмме значение параметра Sender, указывающего на объект, вы-
звавший событие. Во многих случаях (например, при наличии множества вы-
полняющих близкие функции кнопок) нет необходимости связывать собст-
венную процедуру-обработчик с каждым Control’ом. Нижеприведенный Pas-
cal-код иллюстрирует возможность идентификации (по имени) компонента,
вызвавшего процедуру:
...
if (Sender as TComponent).Name = ‘Button_01’ then
    { обработка нажатия кнопки с именем Button_01 }
else
if (Sender as TComponent).Name = ‘Button_02’ then