referencesform.pas
来自「著名的SecureBlackBox控件完整源码」· PAS 代码 · 共 138 行
PAS
138 行
unit ReferencesForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,
ReferenceForm,
SBUtils, SBXMLSec, SBXMLTransform;
type
TfrmReferences = class(TForm)
lbReferences: TListBox;
btnClose: TButton;
btnAdd: TButton;
btnDelete: TButton;
btnInfo: TButton;
procedure btnInfoClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
private
FReferences: TElXMLReferenceList;
FVerify: Boolean;
procedure SetVerify(const Value: Boolean);
procedure SetReferences(const Value: TElXMLReferenceList);
procedure UpdateReferences;
public
property References: TElXMLReferenceList read FReferences write SetReferences;
property Verify: Boolean read FVerify write SetVerify;
end;
var
frmReferences: TfrmReferences;
implementation
{$R *.dfm}
{ TfrmReferences }
procedure TfrmReferences.btnAddClick(Sender: TObject);
var
Ref: TElXMLReference;
begin
Ref := TElXMLReference.Create;
frmReference.Reference := Ref;
frmReference.Verify := Verify;
if frmReference.ShowModal = mrOK then
begin
FReferences.Add(frmReference.Reference);
UpdateReferences;
end
else
FreeAndNil(Ref);
end;
procedure TfrmReferences.btnDeleteClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to lbReferences.Items.Count - 1 do
if lbReferences.Selected[i] then
begin
FReferences.Delete(i);
Break;
end;
UpdateReferences;
end;
procedure TfrmReferences.btnInfoClick(Sender: TObject);
var
i: Integer;
Found: Boolean;
begin
Found := False;
for i := 0 to lbReferences.Items.Count - 1 do
if lbReferences.Selected[i] then
begin
Found := True;
frmReference.Verify := Verify;
frmReference.Reference := References.Reference[i];
if frmReference.ShowModal = mrOK then
begin
frmReference.Reference;
end;
Break;
end;
if not Found and (lbReferences.Items.Count > 0) then
begin
frmReference.Verify := Verify;
frmReference.Reference := References.Reference[0];
if frmReference.ShowModal = mrOK then
frmReference.Reference;
end;
UpdateReferences;
end;
procedure TfrmReferences.SetReferences(const Value: TElXMLReferenceList);
begin
FReferences := Value;
UpdateReferences;
end;
procedure TfrmReferences.SetVerify(const Value: Boolean);
begin
FVerify := Value;
btnAdd.Enabled := not FVerify;
btnDelete.Enabled := not FVerify;
end;
procedure TfrmReferences.UpdateReferences;
var
i: Integer;
s: string;
begin
lbReferences.Clear;
for i := 0 to FReferences.Count - 1 do
begin
s := FReferences.Reference[i].ID;
if s <> '' then
s := s + ' - ';
s := s + FReferences.Reference[i].URI;
if s = '' then
s := 'none';
lbReferences.Items.AddObject(s, FReferences.Reference[i]);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?