-
Delphi 使用快捷键保存数据至SQLSERVER
Delphi 使用快捷键保存数据,这里是将数据保存在SQLSERVER数据库中,测试前请连接好数据库哦。
- 2022-07-24 01:07:01下载
- 积分:1
-
Delphi 获取MonthCalendar中选择的日期
Delphi 获取MonthCalendar中选择的日期,其实就是完成一个时间、日期的选择功能,年份、月份、日期、时间都可自定义调整并选择,这个简单的例子,可演示Delphi中MonthCalendar的用法,生成一个日期时间选择器功能。下面是相关代码:
procedure TForm1.Button1Click(Sender: TObject);
var
Year,Month,Days: Word;
begin
DecodeDate(MonthCalendar1.Date,Year,Month,Days);
Edit1.Text:=IntToStr(Year);
Edit2.Text:=IntToStr(Month);
Edit3.Text:=IntToStr(Days);
end;
全部源码请下载本实例包。
- 2022-02-02 06:32:18下载
- 积分:1
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
Delphi7 向XML中添加RTTI信息
Delphi7.0 向XML中添加RTTI信息,这个例子挺简单,希望大家喜欢,面向Delphi新手的,高手请绕道哦,下面是本例Delphi向XML中添加RTTI信息的关键性代码:
procedure TForm1.ComponentToDOM(iNode: IXmlNode; Comp: TPersistent);
var
nProps, i: Integer;
PropList: PPropList;
Value: Variant;
newNode: IXmlNode;
begin
nProps := GetTypeData (Comp.ClassInfo)^.PropCount;
GetMem (PropList, nProps * SizeOf(Pointer));
try
GetPropInfos (Comp.ClassInfo, PropList);
for i := 0 to nProps - 1 do
begin
Value := GetPropValue (Comp, PropList [i].Name);
NewNode := iNode.AddChild(PropList [i].Name);
NewNode.Text := Value;
if (PropList [i].PropType^.Kind = tkClass) and (Value 0) then
if TObject (Integer(Value)) is TComponent then
NewNode.Text := TComponent (Integer(Value)).Name
else
ComponentToDOM (newNode, TObject (Integer(Value)) as TPersistent);
end;
finally
FreeMem (PropList);
end;
end;
- 2022-01-26 03:00:57下载
- 积分:1
-
Delphi 单击StringGrid列进行排序
Delphi 单击StringGrid列进行排序,StringGrid行的任意列单击,就会重新排序一次,排序规则可以自己定义,这种排序功能可有效提升StringGrid显示数据的易用性,增强其功能,提升用户体验,本例子源代码相当简单,对学习者也有很好的帮助作用。参见以下代码:
begin
if Button = mbRight then Exit;
TStringGrid(Sender).MouseToCell(X, Y, vCol, vRow);
if (vRow < 0) or (vRow >= TStringGrid(Sender).FixedRows) then Exit;
StringGridRowSort(TStringGrid(Sender), vCol, vOldCol = vCol);
if vOldCol = vCol then
vOldCol := - vOldCol
else
vOldCol := vCol;
end;
- 2022-05-29 23:30:47下载
- 积分:1
-
Delphi 进程通讯的实现实例源码
这是一个Delphi利用自定义消息实现的进程内部通讯的例子,附上了完整的源码,运行的效果如图所示。
本程序作者:王毅 , 陈立亮 , 刘蓉,在Windows2000环境下用Delphi6.0调试通过。
本例子中主控程序采用FindWindow()函数找寻底层工作程序,从而实现通讯。底层工作程序在调试时请先生成可执行文件,然后关闭Delphi编辑器,运行可执行文件进行调试。如果不关闭Delphi编辑器,底层工作程序窗口在处于最小化时将无法正常工作,因为FindWindow()返回的是Delphi编辑器中该窗口的句柄。
- 2022-07-04 09:38:31下载
- 积分:1
-
Delphi 利用API绘制弧形
Delphi 利用API绘制弧形,
begin
ArcRect := ClientRect;
Canvas.Pen.Width:=2;
for i:=1 to 10 do
begin
Arc(Canvas.Handle,ArcRect.Left,ArcRect.Top,ArcRect.Right,
ArcRect.Bottom,ArcRect.Right,(ArcRect.Bottom-ArcRect.Top) div 2,
ArcRect.Left,(ArcRect.Bottom-ArcRect.Top) div 2);
InflateRect(ArcRect,-2,-2);
Canvas.Pen.Color := PaletteIndex(i+10);
end;
- 2022-03-21 03:44:09下载
- 积分:1
-
在输入时按回车移动光标到一下文本框-Delphi示例
Delphi实现回车移动焦点的功能,当用户在输入时按回车键,将移动光标到一下文本框,这个功能我觉得可很好的提升软件的操作体验,为实现快捷输入近了一步。具体代码请参考如下:
begin
if Key = 13 then
begin
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0); //按下
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); //弹起
end;
end;
- 2022-08-21 20:36:32下载
- 积分: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编写制作一款形象的电子表(钟表)效果,模拟时钟,界面方面做成了圆形,看不见窗口的边框,像是透明的窗口,各个指针会走动,关于各个指针的移动及计算方法,有兴趣可参考:
vh := Hour/12.0*2*Pi;
vm := Min/60.0*2*Pi;
vs := Sec/60.0*2*Pi;
with Canvas do
begin
Pen.Width:=4;
Pen.Color := clBlack;
MoveTo(60,60);
LineTo(60+Round(25*Sin(vh)),60-Round(25*Cos(vh)));
Pen.Width:=2;
Pen.Color := clBlack;
MoveTo(60,60);
LineTo(60+Round(45*Sin(vm)),60-Round(45*Cos(vm)));
Pen.Width:=1;
Pen.Color := clRed;
MoveTo(60,60);
LineTo(60+Round(55*Sin(vs)),60-Round(55*Cos(vs)));
end;
窗体方面:这个圆盘窗口要是能移动就好了,不支持右键菜单,也不能关闭,关闭窗口需要按键盘上的ALT+F4。
- 2022-01-27 12:29:32下载
- 积分:1