首页
社区
课程
招聘
7
[旧帖] [原创]保密卡程序 附效果图+源码+程序 0.00雪花
发表于: 2010-10-31 12:40 3241

[旧帖] [原创]保密卡程序 附效果图+源码+程序 0.00雪花

2010-10-31 12:40
3241
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
unit USafeCard;
 
{$R 'Card.res' 'Card.rc'}
interface
 
uses
  Windows, SysUtils, Classes, Forms,Dialogs,Graphics,Clipbrd,
  StdCtrls, ExtCtrls, Buttons, Controls;
 
type
  TForm8 = class(TForm)
    GroupBox1: TGroupBox;
    Image1: TImage;
    BitBtn1: TBitBtn;
    Button1: TButton;
    Button2: TButton;
    Shape1: TShape;
    Label1: TLabel;
    Label2: TLabel;
    Panel1: TPanel;
    Timer1: TTimer;
    GroupBox2: TGroupBox;
    Edit1: TEdit;
    Button3: TButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn1MouseEnter(Sender: TObject);
    procedure BitBtn1MouseLeave(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Shape1MouseEnter(Sender: TObject);
    procedure Shape1MouseLeave(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
 
var
  Form8: TForm8;
  BitBtn:array[1..8,1..15] of TBitBtn;//二维数组组件的定义
  BitBtnTemp:TBitBtn;//记录上次点击按钮的临时组件
 
implementation
 
{$R *.dfm}
 
procedure TForm8.BitBtn1Click(Sender: TObject);
begin
  (Sender as TBitBtn).Visible:=False;
 
  if BitBtnTemp=nil then
  begin
    BitBtnTemp:= (Sender as TBitBtn);
    Exit;
  end;
 
  if not(BitBtnTemp=nil) then
  begin
    BitBtnTemp.Visible:=True;
    BitBtnTemp:=(Sender as TBitBtn);
    Exit;
  end;
end;
 
procedure TForm8.BitBtn1MouseEnter(Sender: TObject);
var
BBTemp:TBitBtn;
PosX,PosY:Integer;
i,j:Integer;
begin
 
   BBTemp:=(Sender as TBitBtn);
   PosY:=BBTemp.Tag div 10;//10-150
   PosX:=BBTemp.Tag mod 10;//1-8
   Label2.Caption:=Char(PosX+64)+IntToStr(PosY div 10);//Char(65):A
 
   for i := 1 to 8 do
   begin
      if i=PosX then
      begin
        for j := 1 to 15 do
           begin
             BitBtn[i,j].Kind:=bkRetry;
             BitBtn[i,j].Caption:='&';
           end;
      end;
   end;
 
   for j := 1 to 15 do
   begin
      if j=(PosY div 10) then
      begin
        for i := 1 to 8 do
           begin
             BitBtn[i,j].Kind:=bkRetry;
             BitBtn[i,j].Caption:='&';
           end;
      end;
   end;
 
 
end;
 
procedure TForm8.BitBtn1MouseLeave(Sender: TObject);
var
i,j:Integer;
begin
  Image1.Visible:=False;
  for i := 1 to 8 do
  begin
    for j := 1 to 15 do
      begin
        if BitBtn[i,j].Kind=bkRetry then
        begin
          BitBtn[i,j].Kind:=bkCustom;
          BitBtn[i,j].Glyph:=nil;
          BitBtn[i,j].Caption:='';
        end;
      end;
  end;
  Image1.Visible:=True;//有时刷新会暴露按钮后的图片,不知何原因,故控制图片的显示时间
end;
 
 
 
procedure TForm8.Button1Click(Sender: TObject);
begin
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'ABNNEK'); //Load card1 模糊名称
    if not(BitBtnTemp=nil) then
    begin
      BitBtnTemp.Visible:=True;
      BitBtnTemp:=nil;
    end;
end;
 
procedure TForm8.Button2Click(Sender: TObject);
begin
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'BBTKR'); //Load card2
    if not(BitBtnTemp=nil) then
    begin
      BitBtnTemp.Visible:=True;
      BitBtnTemp:=nil;
    end;
end;
 
procedure TForm8.Button3Click(Sender: TObject);
begin
  if Edit1.Text='mmm   ' then
  GroupBox2.Visible:=False;
end;
 
procedure TForm8.FormCreate(Sender: TObject);
var
i,j:Integer;
begin
  SetWindowPos(Handle,HWND_TOPMOST,0,0,Self.Width,Self.Height,SWP_SHOWWINDOW);//令窗体在最前
  for i := 1 to 8 do
  begin
    for j := 1 to 15 do
      begin
        BitBtn[i, j]:=TBitBtn.Create(Self);//动态创建组件,create参数多用self,也就是窗体本身
        BitBtn[i, j].Parent:=Panel1;//动态创建组件,要正常显示需指定父容器
 
        BitBtn[i, j].Width:=30;
        BitBtn[i, j].Height:=28; //大小
 
        BitBtn[i, j].Left:=29*(i-1);
        BitBtn[i, j].Top:=26*(j-1);  //位置
 
        BitBtn[i, j].OnClick:=BitBtn1Click;  //批量响应事件
        BitBtn[i, j].OnMouseEnter:=BitBtn1MouseEnter;
        BitBtn[i, j].OnMouseLeave:=BitBtn1MouseLeave;
 
        BitBtn[i, j].TabStop:=False;
        BitBtn[i, j].Tag:=100*j+i;//通过tag来识别组件
      end;
  end;
  Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'ABNNEK'); //Load card1 模糊名称
  Edit1.SetFocus;
end;
 
procedure TForm8.Shape1MouseEnter(Sender: TObject);
begin
  Shape1.Pen.Mode:=pmNop;//显示卡序号
end;
 
procedure TForm8.Shape1MouseLeave(Sender: TObject);
begin
  Shape1.Pen.Mode:=pmWhite;//覆盖卡序号
end;
 
procedure TForm8.Timer1Timer(Sender: TObject);
begin
  Clipboard.Clear;//引用Clipbrd单元,则可以直接调用Clipboard全局变量。
end;
 
end.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
Youlor
为你点赞~
2024-5-31 04:20
伟叔叔
为你点赞~
2024-2-28 00:12
QinBeast
为你点赞~
2024-1-18 05:20
心游尘世外
为你点赞~
2024-1-14 03:33
shinratensei
为你点赞~
2024-1-14 00:34
飘零丶
为你点赞~
2023-12-29 00:33
PLEBFE
为你点赞~
2023-3-15 04:39
最新回复 (13)
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
....学习一下
2010-10-31 13:16
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
3
顶哈!顺便鄙视哈!不传东西上来
2010-10-31 13:26
0
雪    币: 258
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
已经更新附件,有源码和编译好的exe
2010-10-31 19:32
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看看,学习学习。
2010-10-31 21:05
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习了,谢谢了。
2010-10-31 21:40
0
雪    币: 94
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
支持原创,谢谢楼主了
2010-11-1 08:31
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
自主编程很好,支持下
2010-11-3 12:04
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
很不错的程序。
2010-11-3 12:33
0
雪    币: 263
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
很好,学习一下,谢了
2010-11-3 13:28
0
雪    币: 70
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
看不懂了,顶。
2010-11-3 13:48
0
雪    币: 2105
活跃值: (594)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
清剪贴板就可以防截屏?
2010-11-30 12:45
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有源码。。我可以学习一下了,以前用vb写了个类似的。。
2010-11-30 13:01
0
雪    币: 303
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
差点功能。如果可以导入密保卡 自动识别出图上密文 或许会更好。。。
2010-11-30 13:46
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册