-
Delphi演示UniCode编码、简体繁体互转的方法实现
Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制):
常用编码:
codepage=936 简体中文GBK
codepage=950 繁体中文BIG5
codepage=437 美国/加拿大英语
codepage=932 日文
codepage=949 韩文
codepage=866 俄文
codepage=65001 unicode UTF-8
本例子中仅使用了936、950,如果你要进行其他语言的编码转换,仅需相应改变其中的编码值即可。
- 2023-06-10 00:30:04下载
- 积分:1
-
Delphi 百叶窗的方式显示图像
百叶窗效果的图像显示,这个效果我觉得大家不会陌生吧,在电视上、电脑上,这种切换图片显示的方式还是挺常见的,像百叶窗的样式,本效果重在演示图像的解析。
- 2022-02-04 23:25:14下载
- 积分:1
-
Delphi 应用程序背景与桌面融合在一起
Delphi 应用程序背景与桌面融合在一起,运行后,显示windows 桌面上的内容,显示壁纸,拖动窗口移动,桌面背景并不移动,好像是一个桌面相框一样,实现代码:
for i:=0 to ControlCount-1 do
if Controls[i] is TGraphicControl then
begin
//使TLabel组件不透明显示
Controls[i].perform(WM_PAINT, TLabel(Controls[i]).canvas.handle, 0);
end;
- 2022-02-02 23:31:59下载
- 积分:1
-
Delphi 在图片中写入文字
在图片中写入文字(写入文字后按回车键),Delphi 图片合成 效果,图片与字符的合并,在图片中写入文字,就像PhotoShop中完成的效果,有兴趣的参考源码吧。
- 2023-03-24 10:00:04下载
- 积分:1
-
Delphi 使用API函数拔号
Delphi 使用API函数拔号,拨号程序,基于api的方法实现,有兴趣下载源码参考一番。
- 2022-01-26 01:52:58下载
- 积分:1
-
delphi 获取网页源码
delphi 获取网页源码
- 2023-01-22 10:05:04下载
- 积分:1
-
Delphi添加图层蒙版
Delphi添加图层蒙版,运行本程序后,在屏幕上添加一层阴影,透明度大概在70%左右,可看作是在屏幕上方蒙了一层薄膜的感觉,代码简单:procedure TForm1.FormCreate(Sender: TObject);
var
bTrans: Byte;
OldStyle: Integer;
begin
form1.Color := clGradientActiveCaption;
WindowState := wsMaximized;
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, OldStyle or WS_EX_LAYERED Or WS_EX_TRANSPARENT);
bTrans := 128;
SetLayeredWindowAttributes(Handle, 0, bTrans, LWA_ALPHA);
end;
- 2022-02-06 10:25:25下载
- 积分:1
-
Delphi 模拟制作Windows XP风格界面的下拉页
Delphi 模拟制作Windows XP风格界面的下拉页,实际上就是XP资源管理器界面的右侧窗口,鼠标单击会向下展开,再次单击会重新合拢,像一个折叠展开的面板那样,这种形式的窗口在Windows中已经早有应用,这只是一个用Delphi代码仿写的效果,希望对大家的Delphi界面设计有所帮助。
- 2022-07-24 03:34:24下载
- 积分: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 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:
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