main.pas
来自「这是一套全面的网络组件」· PAS 代码 · 共 64 行
PAS
64 行
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, clHttpRequest, clSoap, StdCtrls, ExtCtrls, clCert, clCryptAPI;
type
TForm1 = class(TForm)
clSoapMessage: TclSoapMessage;
memSource: TMemo;
memResult: TMemo;
btnSign: TButton;
Label1: TLabel;
Label2: TLabel;
edtCertFile: TEdit;
edtCertPassword: TEdit;
Label3: TLabel;
memReferences: TMemo;
btnBrowse: TButton;
Label4: TLabel;
Label5: TLabel;
Bevel1: TBevel;
OpenDialog: TOpenDialog;
clCertificateStore: TclCertificateStore;
procedure btnSignClick(Sender: TObject);
procedure clSoapMessageGetCertificate(Sender: TObject;
var ACertificate: TclCertificate; var Handled: Boolean);
procedure btnBrowseClick(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnSignClick(Sender: TObject);
begin
clSoapMessage.BuildSoapRequest(memSource.Lines, '');
clSoapMessage.SignReferences.Assign(memReferences.Lines);
clSoapMessage.Sign();
memResult.Lines.Assign(clSoapMessage.RequestSource);
end;
procedure TForm1.clSoapMessageGetCertificate(Sender: TObject;
var ACertificate: TclCertificate; var Handled: Boolean);
begin
clCertificateStore.ImportFromPFX(edtCertFile.Text, edtCertPassword.Text);
ACertificate := clCertificateStore[0];
end;
procedure TForm1.btnBrowseClick(Sender: TObject);
begin
if OpenDialog.Execute() then
begin
edtCertFile.Text := OpenDialog.FileName;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?