-
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
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
Delphi 监控剪贴板的文字内容
Delphi 监控剪贴板的文字内容,这个监控程序可以监控复制到剪切板的文字信息,图片暂时不能监控到,具体的监控实现如下:
NextformHwnd:HWND;//观察链中下一个窗口句柄
procedure WMDrawClipBoard(var AMessage:TMessage);message WM_DRAWCLIPBOARD;
//处理WM_DRAWCLIPBOARD消息过程
{ Public declarations }
//将WM_DRAWCLIPBOARD消息传递到下一个观察链中的窗口
SendMessage(NextformHwnd,AMessage.Msg,AMessage.WParam,AMessage.LParam);
//查询剪贴板中特定格式的数据内容
if (Clipboard.HasFormat(CF_TEXT) or Clipboard.HasFormat(CF_OEMTEXT)) then
begin
//处理剪贴板中内容
memo1.Lines.Clear;
memo1.Lines.Add(Clipboard.asText);
end;
- 2022-01-22 10:48:45下载
- 积分:1
-
使用Delphi 制作无闪烁的动画效果
使用Delphi 制作无闪烁的动画效果,如何实现不闪烁的动画呢?这个例子或许能找到一些答案:部分代码如下:
var
x,i: Integer;
dir,run: Boolean;
begin
b := TBitMap.Create;
b.Width := AnimWindow.Width;
b.Height := 32;
b.Canvas.Pen.Color := clBtnFace;
b.Canvas.Brush.Color := clBtnFace;
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
run := True;
dir := False;
x := 0;
while run do
for i := 0 to AnimWindow.ImageList1.Count-1 do
begin
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
AnimWindow.ImageList1.Draw(b.Canvas,x,0,i);
Synchronize(DrawAnimPic);
Sleep(AnimWindow.SpinEdit1.Value);
if (x = 0) or (x = 300) then dir := not dir;
if dir then Inc(x) else Dec(x);
end;
b.Free;
end;
- 2023-03-22 21:40:04下载
- 积分:1
-
Delphi 让组件拖动窗体 按钮拖动窗口移动
Delphi 让组件拖动窗体 按钮拖动窗口移动,如图所示的窗口中,用户只需按住按钮,即可将整个窗口在屏幕上随意拖动,实现了如何用组件来移动窗体的功能。下面是相关代码:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=MBLeft then
begin
releasecapture;
PerForm(WM_SYSCOMMAND,$F012,0);
end;
end;
- 2023-03-07 20:25:03下载
- 积分: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 制作的文字屏保,文字交替变化,晃动鼠标结束屏保。本程序的亮点是对文字动画效果的生成和控制。具有文字渐变和水平平移动画。
- 2022-03-28 23:49:31下载
- 积分:1
-
Delphi 创建独立的子窗体 脱离父窗口但可通过父窗口关闭
Delphi 创建多个独立的子窗体 脱离父窗口而显示,但是却可通过父窗口关闭打开的所有子窗口,就是通过主窗口内的关闭按钮,关闭独立于父窗口之外的子窗口,这个功能我感觉很实用吧,源代码中也包括了多个子窗口的代码,父子窗口之间是如何关联起来的呢,请参见这个源代码实例 。
- 2022-01-25 17:06:08下载
- 积分:1
-
Delphi 使用Word作为自动化服务器
这个程序演示了使用Word作为自动化服务器,Delphi地自动化控制器是如何将一个查询结果插入到word文档中,返回应用参数.这个调用在英文和法文版的 Word中相同。对德文版的Word,这个过程名是翻译后的。如果这个过程不存在,存在一个不同的Word翻译版本,还可以插入中文Word,运行效果如图所示。
- 2022-04-29 13:18:27下载
- 积分:1
-
Delphi 用获取路径的方法得到圆形窗体
Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:
dc:=self.Canvas.Handle;
BeginPath(dc);
//根据路径创建不规则窗体
SetBkMode(dc,TRANSPARENT);
//设置为透明模式
Ellipse(dc,20,20,220,220);
EndPath(dc);
region:=PathToRegion(dc);
SetWindowRgn(self.Handle,region,TRUE);
end;
- 2022-05-16 23:17:16下载
- 积分:1