-
Delphi 获得汉字区位码的源码
Delphi 获得汉字区位码的源码,输入指定汉字,将得到这些汉字的区位码,关键代码请参考以下的源码:
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
hi,lo:integer;
begin
str:=trim(edit2.Text);
hi:=byte(str[1])-$a0;
lo:=byte(str[2])-$a0;
edit1.Text:=inttostr(hi)+inttostr(lo);
end;
- 2022-02-21 00:07:08下载
- 积分:1
-
Delphi 渐变的RGB空心色环绘制源码演示
Delphi渐变圆形的实现方法,RGB色环空心绘制演示源码:
oBmp := TBitmap.Create; //为了代码整齐就不写try了
oBmp.PixelFormat := ABitmap.PixelFormat;
oBmp.Width := ABitmap.Width;
oBmp.Height := ABitmap.Height;
BitBlt(oBmp.Canvas.Handle, 0, 0, oBmp.Width, oBmp.Height, ABitmap.Canvas.Handle, 80, 80, SRCCOPY); //要拷贝的位图
oRgn := CreateEllipticRgn(0, 0, 100, 100); //创建圆形区域
SelectClipRgn(ABitmap.Canvas.Handle, oRgn); //选择剪切区域
ABitmap.Canvas.Draw(0, 0, oBmp); //位图位于区域内的部分加载
- 2022-03-21 13:09:53下载
- 积分:1
-
Delphi 实现组件立体阴影、投影效果
Delphi 为组件制作立体效果,实现组件的阴影、投影效果,这种阴影效果不是很细腻,不过大致也说得过去,必竟实现方法简单,原生Delphi方法实现,不依靠三方控件,最终效果请参见测试截图所示。
- 2022-07-03 03:09:14下载
- 积分:1
-
Delphi 键盘钩子 封锁 windows 热键
Delphi 键盘钩子 封锁 windows 热键,封锁范围,可参见以下代码:
keycost := LPKBDLLHOOKSTRUCT(lParam);
if (keycost.vkCode=91) then//封锁win键
exit;
if (keycost.vkCode=VK_ESCAPE) and (GetAsyncKeyState(VK_CONTROL)0) then
exit; //封锁 ALT+TAB
if (keycost.vkCode=115) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+F4
if (keycost.vkCode=VK_ESCAPE) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+ESC
if (keycost.vkCode=VK_SPACE) and (GetAsyncKeyState(VK_CONTROL)
- 2023-03-30 06:05:03下载
- 积分:1
-
Delphi时间换算 换算秒数为时间格式
Delphi时间换算 换算秒数为时间格式,其实这种换算还是挺简单的吧,TimeToStr(I/86400);就可以算出。在运行的程序窗口中,输入任意秒数(必需输入数字)后,点击确定按钮,即可显示出时间格式的秒数了。具体的代码这里不帖了,需要的请下载完整源码吧,运行效果图如截图所示。
- 2022-07-17 19:50:24下载
- 积分:1
-
Delphi 实现的窗体下拉动画效果
Delphi 实现的窗体下拉动画效果,以下拉动画的方式显示一个窗口,关闭时同样有动画效果,只不过是上拉效果,让窗体变生成了,传统的窗口打开方式的确会让人觉得不新奇了,关于下拉和上拉,关键代码先帖上来,完整实例请下载本源码:
begin
AnimateWindow(Self.Handle, 250, AW_VER_NEGATIVE or AW_HIDE);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Self.Handle, 250, AW_VER_POSITIVE);
end;
- 2022-02-22 05:35:01下载
- 积分:1
-
Delphi 将TDBGrid导入到Excel表中附数据库
Delphi7.0将TDBGrid导入到Excel表中,测试程序先连接好SQLSERVER数据库,并将数据读取到TDBGrid中,然后再将数据从TDBGrid导入到Excel表中,为了测试方便,SQLSERVER数据库文件已经附在源码包中。以下代码片断会有参考意义,完整源码请下载:
//将TDBGrid表中的标题插入到Excel表中的首行
for I:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
Page.Cells[j,i+1] := DbName.Columns[i].Title.Caption;
Page.Cells[j,i+1].Font.Bold := True; //设置字体为粗体
end;
Inc(j); //Excel表中的下一行
First; //将指针返回到TDBGrid表中数据的首行
while not Eof do
begin
for i:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
//将指定行中每列的数据,添加到Excel表中
Page.Cells[j,i+1] := trim(DbName.DataSource.DataSet.Fieldbyname(DbName.Columns[i].FieldName).asstring);
end;
Inc(j); //Excel表中的下一行
Next; //TDBGrid表中的下一条记录
end;
- 2022-06-29 23:05:07下载
- 积分:1
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
Delphi 在程序运行过程中动态添加菜单
Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:
self.MainMenu1.AutoHotkeys:=maManual;
self.MainMenu1.AutoLineReduction:=maManual;
通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。
- 2022-03-22 14:48:49下载
- 积分:1
-
Delphi 读写物理扇区——实模式
Delphi 读写物理扇区——实模式, asm //以下汇编代码中,只有第一参数、第二参数、pFunc的值是需要改变的,其余都是固定的写法
pushad
push ebp //#2,保存ebp
sub esp,$2c //#1,预留2c字节的栈空间
push Int13Reg16 //第一参数,如果没有参数,则不用push
//第二参数,如果没有参数,则不用push
mov edx, pFunc //函数地址
mov ebp,esp //
add ebp,$2c //ebp校正,是作者分析QT_Thunk时发现的
call QT_Thunk
add esp,$2c //#1,释放上面预留的2c字节的栈空间
pop ebp //#2,恢复ebp
mov byte ptr @result,al
popad
end;
- 2022-01-24 18:37:58下载
- 积分:1