-
Delphi IntToHex函数用法举例
关于IntToHex,在Delphi中使用频率也是挺高的,不过像我这种菜鸟,对IntToHex的具体用法仍是不太熟悉,后来看了这个小程序,了解了一些,分享给大家,特别是以下代码会加深你对IntToHex函数的用法理解。
procedure TForm1.Button1Click(Sender: TObject);
var
S:integer;
begin
S:=2147483647;
showmessage(inttoHex(s,8));
showmessage(inttoHex(s,10));
showmessage(inttoHex(s,16));
showmessage(inttoHex(s,32));
end;
- 2022-09-07 01:20:03下载
- 积分:1
-
Delphi 计算正负数绝对值
Delphi 返回指定数值的绝对值,计算正负数绝对值的例子,FloatToStr(Abs)函数用法代码,示例中计算了小数、整数两种数据类型的绝对值,单击对应的箭头,即可查看计算结果,对应的三种计算方法,请参见以下代码:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Edit2.Text := FloatToStr(Abs(-1.5));
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Edit4.Text := FloatToStr(Abs(-200));
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
Edit6.Text := FloatToStr(Abs(-1.80));
end;
- 2022-06-13 12:40:35下载
- 积分:1
-
Delphi中使用Word的一个例子
这个程序演示了使用Word作为自动化服务器,Delphi地自动化控制器是如何将一个查询结果插入到word文档中,在程序调用过程中返回应用参数.这个调用在英文和法文版的 Word中相同。如果这个过程不存在,存在一个不同的Word翻译版本。
对中文Word请在指定处插入。
- 2022-02-12 22:24:48下载
- 积分:1
-
Delphi判断双字节字符的例子
Delphi判断双字节,用法简单,在窗口输入框中输入字符串,单击按钮即可,程序会判断出是否包含有双字节字符,判断方法请看下边的代码段:
s := Edit1.Text;
i := 0;
while i begin
if (ByteType(S,i) mbSingleByte) then
begin
s1 := s1+ copy(s,i,2)+;
i := i+2;
end
else
i:= i+1;
end;
label2.Caption := trim(s1);
- 2022-07-24 15:06:09下载
- 积分:1
-
Delphi 实现图像热点功能
Delphi 实现图像热点功能,实现一张图片上不同形状区域的热点,定义椭圆形、四边形、三角形的区域变量的热点,相关代码如下:
var
thepoint:array [1..8] of tpoint;//存储多边形顶点坐标
count:integer;
pointnum:array [1..2] of integer;
begin
//四边形顶点坐标,首末点封闭
thepoint[1]:=point(135,99);
thepoint[2]:=point(105,183);
thepoint[3]:=point(129,201);
thepoint[4]:=point(188,92);
thepoint[5]:=point(135,99);
count:=5;//四边形顶点数目,首末点为一点
fourE_rgn:=CreatePolygonRgn(thepoint,count,WINDING);//生成四边形区域
elli_rgn:=CreateEllipticRgn(64,221,231,263);// 生成椭圆形区域
//第一个三角形顶点坐标
thepoint[1]:=point(118,67);
thepoint[2]:=point(32,28);
thepoint[3]:=point(17,90);
thepoint[4]:=point(118,67);
//第二个三角形顶点坐标
thepoint[5]:=point(155,44);
thepoint[6]:=point(202,91);
thepoint[7]:=point(277,44);
thepoint[8]:=point(155,44);
pointnum[1]:=4;//第一个三角形顶点数目
pointnum[2]:=4;//第二个三角形顶点数目
count:=2;//三角形数目
//生成由两个三角形构成的三角形区域
tri_rgn:=CreatePolyPolygonRgn(thepoint,pointnum,count,WINDING);
end;
- 2022-01-26 08:02:50下载
- 积分:1
-
Delphi 变速齿轮# 让时间变快减慢
Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:
procedure Speed(count:word); stdcall;
const ExceptionUsed = $03; { 中断号也可以用其它的中断号}
var
IDT : array [0..5] of byte; { 保存中断描述符表}
lpOldGate : dword; {存放旧向量}
begin
asm
push ebx
sidt IDT {读入中断描述符表}
mov ebx, dword ptr [IDT+2]{IDT表基地址}
add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置}
cli {关中断}
mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 }
shl edx, 16d {左移16位}
mov dx, word ptr [ebx] {取1,2字节 }
mov [lpOldGate], edx {保存旧的中断门}
mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段}
mov word ptr [ebx], ax {低16位,保存到1,2字}
shr eax, 16d
mov word ptr [ebx+6], ax {高16位,保存到6,7位}
int ExceptionUsed {发生中断}
mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中}
add ebx, 8*ExceptionUsed
mov edx, [lpOldGate]
mov word ptr [ebx], dx
- 2023-02-13 04:55:03下载
- 积分: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
-
Delphi 文件拖放获取路径实例
Delphi 文件拖放获取路径实例,用文件拖放的方式打开文件,本实例中虽然没有打开文件,但是获取到了文件路径,因此你就可以依此功能扩展成打开文件的功能。
实现方法使用了shellAPI,将Form1注册为文件拖放接收控件,说请请下载该源码。
- 2022-09-12 19:45:03下载
- 积分: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 计算1到10之间的奇数和【源码】
Delphi 推荐到奇数,并计算1到10之间的奇数求和,这是个简单的数学问题,数学水平高,写出这种小程序并不难,趁机把代码帖出来吧:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
j:=0;
For i := 1 to 10 do
begin
if i mod 2 =0 then
Continue;
j := j+i;
Edit1.text := IntToStr(j);
end;
end;
- 2023-02-23 03:45:04下载
- 积分:1