-
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
-
Delphi获取和设置汉字输入法
Delphi 获取系统中已安装的中文输入法,判断是否在中文状态,若是则关闭它,切换半角和全角模式,切换中文标点模式和英文标点模式,并对输入法做相关设置。以下是相关代码:
procedure TForm1.closecid;
var
mycid:hkl;
begin
mycid:=GetKeyBoardLayOut(0);
if ImmIsIME(mycid) then
//判断是否在中文状态,若是则关闭它
immsimulateHotkey(handle,IME_CHotKey_IME_NonIME_Toggle);
end;
procedure TForm1.FormShow(Sender: TObject);
var
j:integer;
begin
for j:=0 to screen.imes.count-1 do
begin
//获取系统中已安装的中文输入法
ComBoBox1.Items.Add(screen.Imes.strings[j]);
end;
end;
- 2022-10-19 03:05:03下载
- 积分:1
-
Delphi 绘制艺术图案
Delphi 绘制标准的艺术图案,是比较有规则的几何图案,如示例截图所示的样式 。
self.ClientHeight:=200;
self.ClientWidth:=200;
r:=self.ClientWidth/2;
Sect:=20;
for i:=0 to Sect-1 do
begin
x[i]:=Trunc(r*Cos(i*2*PI/Sect)+self.ClientWidth/2);
y[i]:=Trunc(r*Sin(i*2*PI/Sect)+self.ClientHeight /2);
end;
- 2022-01-28 10:36:40下载
- 积分:1
-
Delphi 静音 左右声道音量控制
Delphi控制系统静音,两个声道均不发出声音,同时若在非静态状态下,可控制左、右声道的音量大小,在代码中@表示指向变量v的指针(32位),调用此函数的用意就是得到右声道的值,在调节左声道的时候,不改变右声道}数字前面加$表示是十六进制数字,(t shl 8)表示t左移8位,部分参数设置代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
v:longint;
begin
waveoutgetvolume(0,@v);//得到现在音量,@v表示指向变量v的指针(32位)
trackbar1.Position:=hi(v);//设置左滑块的正确位置
trackbar2.Position:=hi(v shr 16);//设置右声道滑块的正确位置
end;
- 2022-06-02 00:55:40下载
- 积分:1
-
Delphi 监测程序多久未被使用
Delphi 监测程序多久未被使用,以秒数来衡量使用了多久,打开一次然后再关闭,就可以显示使用了多长时间。
- 2022-06-02 20:45:39下载
- 积分:1
-
Delphi TreeView来显示数据库信息
Delphi 使用TreeView来显示数据库信息,从数据库中读取数据,然后生成树形交叉节点的菜单,这种菜单通俗的叫做“树形菜单”,也是大家平时比较常见的菜单形式之一。
function TreeAddItem(Sender: TTreeView;ItemList: TStrings;BookMark: TBookMark;Resort: Boolean):TTreeNode;
var
ThisNode,Node: TTreeNode;
i: integer;
begin
Node := Nil;
for i := 0 to ItemList.Count-1 do
begin
ThisNode := TreeFindItem(Sender,Node,ItemList[i]);
if(ThisNodeNil) then Node := ThisNode
else begin
if I then begin
if I=0 then Node := Sender.items.Add(Node, Itemlist[i])
else Node := Sender.items.AddChild(Node, Itemlist[i]);
end
else begin
if I=0 then Node := Sender.items.AddObject(Node, Itemlist[i],Bookmark)
else Node := Sender.items.AddChildObject(Node, Itemlist[i],Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent nil) then Node.parent.alphasort;
end;
end;
Result := Node;
end;
- 2022-02-02 14:05:08下载
- 积分:1
-
圆角的窗体-Delphi代码实现方法
Delphi实现圆角的窗体效果,将矩形的窗口效果修饰为圆角的风格,如示例截图所示的效果,核心的几行代码如下:
begin
hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)
setwindowrgn(handle,hr,true); //设置园角窗口
end;
- 2022-08-18 21:29:53下载
- 积分:1
-
Delphi+Interbase-Code-汽配进销存源码-源代码全-使用手册-钻石精品
(R)-Delphi+Interbase-Code-龙邦汽配进销存源码-源代码全-使用手册-钻石精品
- 2022-03-16 11:47:13下载
- 积分:1
-
Windows 剪贴板高级编程-Delphi源码实例
Windows 剪贴板高级编程-Delphi源码实例,其实也不是什么高级编程,挺基础的剪贴板应用。学习如何在Delphi环境下读取Windows剪贴板的内容。在编写一些系统辅助类的软件中,可使用到这些小技巧。以下代码:将剪贴板内容读取出来,在代码的执行放入一个按钮事件中:
procedure TForm1.Button2Click(Sender: TObject);
var
DataRec: TDataRecord;
Data: THandle;
PData: Pointer;
begin
Data := Clipboard.GetAsHandle(CF_CUSTOMFORMAT);
if Data = 0 then Exit;
PData := GlobalLock(Data);
Move(PData^, DataRec, GlobalSize(Data));
GlobalUnlock(Data);
with DataRec do
ShowMessage(Name + #13#10 + Sex + #13#10 + Hobby);
end;
- 2022-04-22 08:40:48下载
- 积分:1
-
Delphi7 计算汉字的笔划
Delphi7 计算汉字的笔划有几划,输入一个汉字,本程序将计算出这个字有多少笔划,最后将结果将输出一个整数。
- 2022-12-25 04:20:03下载
- 积分:1