-
Windows 剪贴板高级编程-Delphi源码实例
Windows 剪贴板高级编程-Delphi源码实例,其实也不是什么高级编程,挺基础的剪贴板应用。学习如何在Delphi环境下读取Windows剪贴板的内容。在编写一些系统辅助类的软件中,可使用到这些小技巧。以下代码:将剪贴板内容读取出来,在代码的执行放入一个按钮事件中:
procedure TForm1.Button2Click(Sender: TObject);
var
DataRec: TDataRecord;
Data: THandle;
PData: Pointer;
begin
Data := Clipboard.GetAsHandle(CF_CUSTOMFORMAT);
if Data = 0 then Exit;
PData := GlobalLock(Data);
Move(PData^, DataRec, GlobalSize(Data));
GlobalUnlock(Data);
with DataRec do
ShowMessage(Name + #13#10 + Sex + #13#10 + Hobby);
end;
- 2022-04-22 08:40:48下载
- 积分:1
-
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 绘制艺术图案
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时间换算 换算秒数为时间格式,其实这种换算还是挺简单的吧,TimeToStr(I/86400);就可以算出。在运行的程序窗口中,输入任意秒数(必需输入数字)后,点击确定按钮,即可显示出时间格式的秒数了。具体的代码这里不帖了,需要的请下载完整源码吧,运行效果图如截图所示。
- 2022-07-17 19:50:24下载
- 积分:1
-
Delphi 创建Excel表格文件
Delphi 读取SQLSERVER数据库内容,并创建Excel表格文件,将内容导出到excel文件中,核心同样是基于createoleobject对象的excel.application方法实现,创建EXECEL对象 ,添加comobj单元,用循环加入记录,将数据表导入到Excel表中,正式开始EXECEL输出。
- 2022-02-15 04:17:26下载
- 积分:1
-
Delphi 监测程序多久未被使用
Delphi 监测程序多久未被使用,以秒数来衡量使用了多久,打开一次然后再关闭,就可以显示使用了多长时间。
- 2022-06-02 20:45:39下载
- 积分:1
-
Delphi 使用Canvas美化ListBox列表项
Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。
主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:
Canvas.FrameRect(Clientrect);
if odSelected in State then
begin
Canvas.Brush.Color:=clRed;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15);
setBkMode(Canvas.Handle,TRANSPARENT );
Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]);
end
else
begin
Canvas.Brush.Color:=clSkyBlue;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15);
Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]);
end;
- 2022-06-01 23:33:23下载
- 积分:1
-
Delphi 渐变的RGB空心色环绘制源码演示
Delphi渐变圆形的实现方法,RGB色环空心绘制演示源码:
oBmp := TBitmap.Create; //为了代码整齐就不写try了
oBmp.PixelFormat := ABitmap.PixelFormat;
oBmp.Width := ABitmap.Width;
oBmp.Height := ABitmap.Height;
BitBlt(oBmp.Canvas.Handle, 0, 0, oBmp.Width, oBmp.Height, ABitmap.Canvas.Handle, 80, 80, SRCCOPY); //要拷贝的位图
oRgn := CreateEllipticRgn(0, 0, 100, 100); //创建圆形区域
SelectClipRgn(ABitmap.Canvas.Handle, oRgn); //选择剪切区域
ABitmap.Canvas.Draw(0, 0, oBmp); //位图位于区域内的部分加载
- 2022-03-21 13:09:53下载
- 积分:1
-
Delphi 演示0~N位数的任意组合
Delphi 数列的排列组合一例,演示0~N位数的任意组合,组合的数字在0~5之间,需要输入1~6整数,排列结果会显示在文本框组件中。要点代码如下:
ssList := TStringList.Create;
try
if (nBase < 1) then
begin
end
else
begin
if (sList.Count = 0) then
begin
for nIdx := 0 to num-1 do
ssList.Add(a[nIdx]);
end
else
begin
for nIdx := 0 to num-1 do
for nSidx := 0 to sList.Count-1 do
if (Pos(a[nIdx], sList.Strings[nSidx]) = 0) then
ssList.Add(a[nIdx]+sList.Strings[nSidx]);
end;
Combine(nBase-1, ssList);
end;
if ssList.Count > 0 then
begin
sList.Clear;
sList.Text := ssList.Text;sslist.Count
end;
finally
ssList.Free;
end;
- 2022-04-29 16:59:03下载
- 积分:1
-
Delphi 简单的文件查看器
Delphi 简单的文件查看器,可以获取并显示文件的显示名,获取并显示文件类型信息,获取并显示表示该程序的图标,获取文件属性信息,始获取并显示文件上次修改的日期和时间,处理用户没有选择文件而选择了文件夹或驱动器的转化异常。
- 2022-08-11 18:22:46下载
- 积分:1