📄 comstr.pas
字号:
unit ComStr;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, ActiveX, Classes, ComObj;
type
IJuComStrServer = interface(IUnknown)
['{70718A5F-E74C-43D4-B0C6-33212C196BF8}']
function GetValue(): string; stdcall;
procedure SetValue(const Value: string); stdcall;
function UpperCase(): string; stdcall;
function LowerCase(): string; stdcall;
property Text: string read GetValue write SetValue;
end;
TJuComStrServer = class(TComObject, IJuComStrServer)
private
FText: string;
public
function GetValue(): string; virtual; stdcall;
procedure SetValue(const Value: string); virtual; stdcall;
function UpperCase(): string; virtual; stdcall;
function LowerCase(): string; virtual; stdcall;
property Text: string read GetValue write SetValue;
end;
const
Class_JuComStrServer: TGUID = '{0E4E670B-6A3B-4C5A-9BCE-3CC39DE1A917}';
implementation
uses SysUtils, ComServ;
{ TJuComStrServer }
function TJuComStrServer.GetValue: string;
begin
Result := FText;
end;
function TJuComStrServer.LowerCase: string;
begin
Result := SysUtils.LowerCase(FText);
end;
procedure TJuComStrServer.SetValue(const Value: string);
begin
if FText <> Value then FText := Value;
end;
function TJuComStrServer.UpperCase: string;
begin
Result := SysUtils.UpperCase(FText);
end;
initialization
TComObjectFactory.Create(ComServer, TJuComStrServer, Class_JuComStrServer,
'JuComStrServer', 'June String ComServer', ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -