-
Delphi 获取两个子字符串之间的字符个数
Delphi 获取两个子字符串之间的字符个数,也就是这个字符串由A/B/C三个字符组成,本例子是求A/C中间的所有字符串的个数,空格同样也包括在内。定义两个函数即可实现本功能:
Function TForm1.Strcount( s, s1, s2 : string ): integer;
var
i,j,slen : integer;
begin
i := pos( s1, s );
j := pos( s2, s );
slen := Length(s1);
if j >= i then
Result := j - i - slen
else
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
n := Strcount(Edit1.Text,Edit2.Text,Edit3.Text);
showmessage(IntToStr(n));
end;
- 2022-01-26 07:45:23下载
- 积分:1
-
Delphi7利用鼠标绘制矩形焦点的源码
本源代码主要演示Delphi7利用鼠标绘制矩形焦点,画出虚线框矩形,按住鼠标左键抖动矩形区域,即可显示虚线矩形框,可应用于需要拖动选择对象时作为选区使用,在Delphi中,这个功能使用Canvas实现:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if IsDraw then
begin
if Count >1 then
DrawFocusRect(Canvas.Handle,FocuRect);
FocuRect.Right := X;
FocuRect.Bottom := Y;
DrawFocusRect(Canvas.Handle,FocuRect);
Inc(Count);
IsEndDraw := True;
end;
end;
- 2023-02-14 21:35:04下载
- 积分:1
-
Delphi控制电脑蜂鸣器或扬声器发声音
Delphi控制电脑蜂鸣器或扬声器发声音,有些称之为喇叭,不过测试发现,这个是优先机箱蜂鸣器发出声音,或没装蜂鸣器,则会从音箱中发声音,实现的代码很简单,以下代码即可实现:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j : integer;
begin
for i := 1000 to 2000 do
begin
j := i;
windows.Beep(1000,3000);
end;
end;
- 2022-02-05 03:44:28下载
- 积分:1
-
Delphi 制作红绿眼镜三维立体画
这是一个Delphi色彩控制方面的示例,我看上去更像是Delphi分离出红绿颜色通道,从页形成的一种立体效果,复制和修改颜色模式来实现,相关代码可参考如下:
//设置添充颜色的大小
DBitmap.Width := LBitmap.Width;
DBitmap.Height := LBitmap.Height;
vRect := Rect(0, 0, DBitmap.Width, DBitmap.Height); //获取添充区域
DBitmap.Canvas.Brush.Color := vGreen; //设置画笔颜色
DBitmap.Canvas.FillRect(vRect); //添充颜色
LBitmap.Canvas.CopyMode := cmSrcPaint; //将复制模式改为OR
LBitmap.Canvas.CopyRect(vRect, DBitmap.Canvas, vRect); //对图片进行复制
DBitmap.Canvas.Brush.Color := vRed;
DBitmap.Canvas.FillRect(vRect);
RBitmap.Canvas.CopyMode := cmSrcPaint; //将复制模式改为OR
RBitmap.Canvas.CopyRect(vRect, DBitmap.Canvas, vRect); //对图片进行复制
DBitmap.Canvas.CopyRect(vRect, LBitmap.Canvas, vRect);
DBitmap.Canvas.CopyMode := cmSrcAnd; //将复制模式改为AND
DBitmap.Canvas.CopyRect(vRect, RBitmap.Canvas, vRect);
except
Exit;
end;
Result := True;
end;
- 2023-02-01 08:05:04下载
- 积分: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 目录操作范例:改变当前目录,先获取当前的目录路径,然后改变这个目录路径,文件当前在此目录,那么如何修改文件路径呢?
procedure TForm1.Button1Click(Sender: TObject);
begin
try
chdir(Edit2.Text);
finally
getdir(0,result);
Edit2.Text := result;
end;
end;
源代码仅供参考。
- 2022-11-19 16:05:03下载
- 积分: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 实现窗体的全屏显示效果,单击按钮后即可全屏。
- 2023-03-25 11:25:03下载
- 积分:1
-
Delphi实现窗体失去焦点时标题栏闪动特效
这是个有意思的窗口设计实例源码,Delphi实现窗体失去焦点时标题栏闪动特效,flashwindow特效,这样可吸引操作者注意,其实实现这一功能并不复杂,以下代码最关键:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
flashwindow(Handle,true);
end;
procedure TForm1.WMACTIVATEAPP(var message: TWMACTIVATEAPP);
begin
if Message.Active then
form1.Timer1.Enabled := false
else
form1.Timer1.Enabled := true;
end;
完整源码请下载。
- 2022-07-08 18:47:20下载
- 积分:1
-
Delphi 在程序运行过程中动态添加菜单
Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:
self.MainMenu1.AutoHotkeys:=maManual;
self.MainMenu1.AutoLineReduction:=maManual;
通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。
- 2022-03-22 14:48:49下载
- 积分:1