ВУЗ:
Составители:
TComObjectFactory.Create(ComServer, TObjConvert,
Class_ObjConvert, 'ObjConvert', 'Convert', ciSingleIn-
stance, tmSingle);
end.
3. ȼ ɪɚɡɞɟɥɟ ɨɩɢɫɚɧɢɹ ɢɫɩɨɥɶɡɭɟɦɵɯ ɦɨɞɭɥɟɣ ɩɨɫɥɟ Windows, ActiveX
ɢ ComObj ɫɥɟɞɭɟɬ ɞɨɛɚɜɢɬɶ ɟɳɟ ɢ ɦɨɞɭɥɶ ConvertInterface, ɜ ɤɨɬɨɪɨɦ
ɪɟɚɥɢɡɨɜɚɧ ɢɧɬɟɪɮɟɣɫ IConvert.
4. ȼ ɪɚɡɞɟɥɟ ɨɩɢɫɚɧɢɹ ɬɢɩɨɜ ɞɚɧɨ ɧɚɱɚɥɶɧɨɟ ɨɩɢɫɚɧɢɟ ɧɚɲɟɝɨ ɤɨɦɩɨ-
ɧɟɧɬɚ. ɂɫɯɨɞɹ ɢɡ ɷɬɨɝɨ ɨɩɢɫɚɧɢɹ, ɧɚɲ ɤɨɦɩɨɧɟɧɬ ɧɚɫɥɟɞɭɟɬɫɹ ɨɬ
ɤɥɚɫɫɚ TɋomObject, ɢ ɩɨɞɞɟɪɠɢɜɚɟɬ ɢɧɬɟɪɮɟɣɫ IConvert. ȼ ɪɚɡɞɟɥɟ
protected ɧɚɩɢɫɚɧ ɤɨɦɦɟɧɬɚɪɢɣ «Declare IConvert methods here» (ɨɩɢ-
ɲɢɬɟ ɡɞɟɫɶ ɦɟɬɨɞɵ IConvert). ȼ ɷɬɨɦ ɪɚɡɞɟɥɟ ɨɩɢɫɵɜɚɸɬɫɹ ɜɫɟ
ɮɭɧɤɰɢɢ, ɤɨɬɨɪɵɟ ɩɨɞɞɟɪɠɢɜɚɸɬɫɹ ɢɧɬɟɪɮɟɣɫɨɦ:
TObjConvert = class(TComObject, IConvert)
protected
{Declare IConvert methods here}
function Bin (const n: Word; var Str: WideString): Boolean;
stdcall;
function Oct(const n: Word; var Str: WideString): Boolean;
stdcall;
function Hex(const n: Word; var Str: WideString): Boolean;
stdcall;
end;
5. Ɉɫɬɚɟɬɫɹ ɪɟɚɥɢɡɨɜɚɬɶ ɮɭɧɤɰɢɢ ɨɛɴɟɤɬɚ TObjConvert ɜ ɪɚɡɞɟɥɟ
implementation:
implementation
uses ComServ;
{ TObjConvert }
function TObjConvert.Bin(const n: Word; var Str: WideString): Boo-
lean;
var
S: String;
m: Word;
begin
result:=true;
try
S:='';
m:=n;
25
26
repeat
S:=chr(m mod 2+48)+S;
m:=m div 2;
until m=0;
Str:= WideString(S);
except
result:=false;
end;
end;
function TObjConvert.Oct(const n: Word; var Str: WideString): Boo-
lean;
var
S: String;
m: Word;
begin
result:=true;
try
S: ='';
m:=n;
repeat
S:=chr(m mod 8+48)+S;
m:=m div 8;
until m=0;
Str:=WideString (S);
except
result:=false;
end;
end;
function TObjConvert.Hex(const n: Word; var Str: WideString): Boo-
lean;
var
S: String;
m,k: Word;
begin
result:=true;
try
S:='';
m:=n;
repeat
TComObjectFactory.Create(ComServer, TObjConvert, repeat
Class_ObjConvert, 'ObjConvert', 'Convert', ciSingleIn- S:=chr(m mod 2+48)+S;
stance, tmSingle); m:=m div 2;
end. until m=0;
3. � ������� �������� ������������ ������� ����� Windows, ActiveX Str:= WideString(S);
� ComObj ������� �������� ��� � ������ ConvertInterface, � ������� except
���������� ��������� IConvert. result:=false;
4. � ������� �������� ����� ���� ��������� �������� ������ �����- end;
�����. ������ �� ����� ��������, ��� ��������� ����������� �� end;
������ T�omObject, � ������������ ��������� IConvert. � ������� function TObjConvert.Oct(const n: Word; var Str: WideString): Boo-
protected ������� ����������� «Declare IConvert methods here» (���- lean;
���� ����� ������ IConvert). � ���� ������� ����������� ���
�������, ������� �������������� �����������: var
TObjConvert = class(TComObject, IConvert) S: String;
protected m: Word;
{Declare IConvert methods here} begin
function Bin (const n: Word; var Str: WideString): Boolean; result:=true;
stdcall; try
function Oct(const n: Word; var Str: WideString): Boolean; S: ='';
stdcall; m:=n;
function Hex(const n: Word; var Str: WideString): Boolean; repeat
stdcall; S:=chr(m mod 8+48)+S;
end; m:=m div 8;
5. �������� ����������� ������� ������� TObjConvert � ������� until m=0;
implementation: Str:=WideString (S);
except
implementation result:=false;
end;
uses ComServ; end;
{ TObjConvert } function TObjConvert.Hex(const n: Word; var Str: WideString): Boo-
function TObjConvert.Bin(const n: Word; var Str: WideString): Boo- lean;
lean; var
var S: String;
S: String; m,k: Word;
m: Word; begin
begin result:=true;
result:=true; try
try S:='';
S:=''; m:=n;
m:=n; repeat
25 26
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »
