-
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 获取系统中已安装的中文输入法,判断是否在中文状态,若是则关闭它,切换半角和全角模式,切换中文标点模式和英文标点模式,并对输入法做相关设置。以下是相关代码:
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 显示文件的播放进度,使用了Timer实现对进度的计算和显示。
- 2022-05-28 13:11:17下载
- 积分:1
-
Delphi 简单获取Windows时间的例子
简单获取Windows时间-Delphi源代码,改时间的小程序,在Windows自带的时间管理中也可完成系统时间的修改,这个只是一个帮助了解Windows与Delphi编程的例子,如何通过Delphi的程序来修改Windows时间,大致就是这样实现的。可参见以下源码:
procedure TForm1.Button1Click(Sender: TObject);
var
Dtimer : TSystemTime;
hh,Ghh : Integer;
begin
hh := StrToInt(Trim(Edit4.Text));
if hh < 8 then
Ghh := 16 + hh
else
Ghh := hh - 8;
with Dtimer do
begin
wYear:=StrToInt(Edit1.Text);
wMonth:=StrToInt(Edit2.Text);
wDay:=StrToInt(Edit3.Text);
wHour:=Ghh;
wMinute:=StrToInt(Edit5.Text);
wSecond:=StrToInt(Edit6.Text);
end;
SetSystemTime(Dtimer);
end;
- 2022-07-09 18:55:23下载
- 积分: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 如何使程序不出现在任务栏上,常规情况下,运行的程序都会在任务栏有一个图标窗口,方便用户操作,不出现在任务栏上也可以,不过不太符合常规,有点隐藏程序的嫌疑,以下代码是实现此功能的:
procedure TForm1.FormCreate(Sender: TObject);
begin
with Application do
SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE) and not WS_EX_APPWINDOW or WS_EX_TOOLWINDOW);
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
end;
- 2023-03-26 04:55:03下载
- 积分:1
-
Delphi 获取拖动到窗体中的文件的路径
Delphi 获取拖动到窗体中的文件的路径,这实际上是一个拖放打开文件的例子,这只不是其中的一个步骤,拖放打开是把文件拖放到本窗口中,直接打开该文件,而拖放得到路径是把文件的路径显示在窗口中,和打开文件其实难易程序是一样的。拖放后获取文件路径,代码如下:
procedure TForm1.FileIsDropped(var Msg: TMessage);
var
NumFiles : longint;
i : longint;
FName : array[0..255] of char;
begin
SetForegroundWindow(Handle);
NumFiles := DragQueryFile(Msg.WParam,$FFFFFFFF,nil,0);
for i := 0 to (NumFiles - 1) do
begin
DragQueryFile(Msg.WParam,i,FName,sizeof(FName));
Memo1.Lines.Add(FName);
end;
end;
- 2022-09-25 15:45:03下载
- 积分:1
-
Delphi 邮件短信发送自动通知系统
Delphi 邮件短信自动通知系统,并且支持邮件发送、邮件帐户管理、类似于微软Windows中的Outlook邮件客户端的功能,可添加邮箱帐户自动收集,并在有新邮件时提示用户登录查看。本程序可发送适合到用户手机来通知邮件情况,部分功能需要依赖于硬件支持。
程序可最小化到windows托盘处显示图标,通过定义好的右键菜单来调出主窗口,虽然是一个发邮件的小程序,但是暗含的Delphi技巧有很多哦,欢迎下载源码研究学习。
1.实现邮件检测功能:
(1)注册账号,注意正确添写POP3服务器,用户名,密码。
2.实现发送短信功能:
(1)在注册账号时要添写正确的手机号码,并选中发送到手机的复选框。
(2)跟据自己购买的GSM模块说明书设置串口参数,一般是“19200,n,8,1”。
(3)添写当地短信中心号码,前面的86可加可不加,如果没有写,系统在按“确定”后会自动加上。
(4)注意:如果短信中含有中文字符,则一定要设成Pdu模式,否则短信可能发送失败。
- 2023-07-27 17:40:06下载
- 积分:1
-
Delphi 图片颜色逐渐加深功能的实现
Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:
Bitmap:=image1.Picture.Bitmap;
image1.Height:= Bitmap.Height;
image1.Width:= Bitmap.Width;
for i:=0 to 255 do
begin
sleep(10);
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色
for x:=0 to ((Bitmap.Width*3)-1) do
//递减颜色值,不同的递减值可改变不同的速度
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
end;
Image1.Canvas.Draw(0,0,Bitmap);
Application.ProcessMessages; //让Application去处理消息队伍中的消息
end;
- 2022-03-23 16:34:19下载
- 积分:1
-
Delphi 限制窗口最大化显示
Delphi 限制窗口最大化显示,当用户单击最大化按钮后,窗口稍微变大了一点,但并没有最大化,有时候,我们需要限制,不让窗口最大化,在编写实现此功能时,定义了WMGetMinMaxInfo,以下代码在函数中定义,用户操作按钮,激活函数:
with Message.MinMaxInfo^ do
begin
ptMaxSize.X := 400; //最大化时宽度
ptMaxSize.Y := 300; //最大化时高度
ptMaxPosition.X := 120; //最大化时左上角横坐标
ptMaxPosition.Y := 120; //最大化时左上角纵坐标
end;
Message.Result := 0; //通知Windows改变了minmaxinfo
- 2022-01-24 18:38:10下载
- 积分:1