-
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实现多次渲染的RGB色环颜色渐变特效源码
Delphi实现RGB色环多次渐变,生成一个渐变的圆形,颜色渐变步长可自定义,在代码中,为了绘制出来的圆好看,分成四个部分进行绘制,此部分代码展示如下:
if (degree >= 0+qki) and (degree 45+qki) and (degree 135+qki) and (degree 215+qki) and (degree 315+qki) and (degree
- 2022-04-26 22:54:00下载
- 积分:1
-
Delphi 获取磁盘序号
Delphi 获取磁盘序号,获取序号非磁盘编号,也不是序列号。运行后的效果如图所示,应该是所选择的磁盘在我的电脑中的排列序号。
操作时,只需选择对应的盘符,然后单击按钮即可,请参见测试截图所示。
- 2022-07-24 20:22:04下载
- 积分: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
-
Delphi 获取网页源代码
Delphi 获取网页源代码,这个程序首先是一个网页浏览器,可解析用户输入的网址,直接输出网页界面,然后通过操作主窗口区的Tab选项,查看该网页的源代码,也就是完成了两种功能:1、网页浏览器,2、查看源代码。运行界面如下图示。
- 2023-05-24 10:50:03下载
- 积分:1
-
Delphi时间换算 换算秒数为时间格式
Delphi时间换算 换算秒数为时间格式,其实这种换算还是挺简单的吧,TimeToStr(I/86400);就可以算出。在运行的程序窗口中,输入任意秒数(必需输入数字)后,点击确定按钮,即可显示出时间格式的秒数了。具体的代码这里不帖了,需要的请下载完整源码吧,运行效果图如截图所示。
- 2022-07-17 19:50:24下载
- 积分:1
-
内存使用状态Delphi 探测并显示
Delphi获取内存的使用状态并显示信息,这里是使用GlobalMemoryStatus来实现,有的是使用GetSystemInfo来获龋本程序可显示内存大小和可用内存,并显示进度条。不过我这台电脑是16G内存的Windows7 64位系统,程序可能没认出啊,下面是识别内存可用量的大小,仅供参考:
memo_status.dwLength := sizeof(memo_status);
GlobalMemoryStatus(memo_status);
Gauge2.Progress := (round((100*(memo_status.dwAvailPhys
/ memo_status.dwTotalPhys))));
label1.Caption := inttostr(memo_status.dwAvailPhys);
label2.Caption := inttostr(memo_status.dwTotalPhys);
- 2022-02-03 06:55:31下载
- 积分:1
-
Delphi 使同类的组件进行同样的操作
Delphi 使同类的组件进行同样的操作的一个实例,类似于将WEB表单统一清空的功能,点击按钮后,所有文本框组件的内容被清空,作用在相同的组件实例上,代码:
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ClearText : Integer;
begin
For ClearText := 0 to Form1.ComponentCount -1 do
begin
//判断如果窗体中包含文本框组件,则将所有文本框组件的内容清空
if Form1.Components[ClearText] is TEdit then
begin
TEdit(Components[ClearText]).Clear;
end;
end;
end;
- 2022-05-23 05:25:03下载
- 积分:1
-
Delphi Shadow窗口阴影立体效果
Delphi 制作立体窗口阴影效果,这个阴影看上去很明显,不过不是线性的,线性的实现起来要比这种阴影复杂一些。
ShadowWidth:integer; //用于确定阴影的宽度或高度
RightShadow:TForm; //主窗口的右边产生一个阴影窗口
BottomShadow:TForm; //主窗口的下部产生一个阴影窗口
procedure WMWindowPosChanged(var Msg:TWMWindowPosChanged);message wm_windowposchanged;
- 2022-05-14 21:59:11下载
- 积分:1
-
Delphi获取BMP图片指定点RGB值
delphi获取图片指定点RGB颜色值,载入一张BMP图像,鼠标单击图像任意处,将获取该处的RGB颜色分量图。任何一种颜色都是由RGB分量值构成,获取这些分量值,就可以改变这些值,从而改变颜色,为程序的进一步处理提供基础保障,获取RGB颜色分量,相关代码如下:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
image1.Picture.LoadFromFile(OpenPicturedialog1.FileName);
Form1.Canvas.Draw(0,0,image1.Picture.Bitmap);
end;
end;
- 2023-09-03 19:00:03下载
- 积分:1