-
使用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 返回指定数值的绝对值,计算正负数绝对值的例子,FloatToStr(Abs)函数用法代码,示例中计算了小数、整数两种数据类型的绝对值,单击对应的箭头,即可查看计算结果,对应的三种计算方法,请参见以下代码:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Edit2.Text := FloatToStr(Abs(-1.5));
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Edit4.Text := FloatToStr(Abs(-200));
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
Edit6.Text := FloatToStr(Abs(-1.80));
end;
- 2022-06-13 12:40:35下载
- 积分:1
-
Delphi TreeView来显示数据库信息
Delphi 使用TreeView来显示数据库信息,从数据库中读取数据,然后生成树形交叉节点的菜单,这种菜单通俗的叫做“树形菜单”,也是大家平时比较常见的菜单形式之一。
function TreeAddItem(Sender: TTreeView;ItemList: TStrings;BookMark: TBookMark;Resort: Boolean):TTreeNode;
var
ThisNode,Node: TTreeNode;
i: integer;
begin
Node := Nil;
for i := 0 to ItemList.Count-1 do
begin
ThisNode := TreeFindItem(Sender,Node,ItemList[i]);
if(ThisNodeNil) then Node := ThisNode
else begin
if I then begin
if I=0 then Node := Sender.items.Add(Node, Itemlist[i])
else Node := Sender.items.AddChild(Node, Itemlist[i]);
end
else begin
if I=0 then Node := Sender.items.AddObject(Node, Itemlist[i],Bookmark)
else Node := Sender.items.AddChildObject(Node, Itemlist[i],Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent nil) then Node.parent.alphasort;
end;
end;
Result := Node;
end;
- 2022-02-02 14:05:08下载
- 积分: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 如何放大和缩小图像【图片】
源码演示Delphi 如何放大和缩小图像【图片】,我们这个例子可以学习了解如何使用Delphi编程代码,放大或缩小一张图片,这里把放大和缩小图片的基数写在按钮事件中,用户每次单击按钮,就会按照一定的缩放倍数放大或缩小图像,本示例测试图片已写入程序中,编译运行后操作并演示效果,对图像的缩放部分,重点参考以下代码:
图片缩小操作:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if image1.Height>50 then
begin
image1.Height:=image1.Height-10;
image1.Width:=image1.Width-13;
end;
end;
图片放大操作:
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if image1.Height
- 2023-04-18 03:35:03下载
- 积分:1
-
Delphi SQLSERVER停车场收费管理系统
Delphi SQLSERVER停车场收费管理系统,本系统涉及有多个硬件,运行后需要初始化硬件,读取硬件的配置数据,包括控制器。需要联网读取数据,比较综合的一套系统。可对挡车器、停车场照明系统进行管理,可财务报帐、年终结算等功能,主窗口启动时,先连接数据库和用户登录。硬件参数需要重新启动该程序才能生效,设置照明灯自动开关时间,向数据库中写入记录,控制硬件打开挡车器,开始事务:fee_station-结帐次数加1,维护费用AMaintain=0 ,start_fee增加。。。
- 2023-06-03 04:50:05下载
- 积分:1
-
Delphi 提高图像的亮度和对比度
Delphi 提高图像的亮度,每次只能提升一点高度,用着比较麻烦,不过解析图像部分可以借鉴下。以下代码可参考,不过我没发现哪里是调节图片亮度的:
PByte := ImageBmp.scanline[y];
for x:=0 to ImageBmp.Width-1 do
begin
if (PByte[x*3]
- 2023-09-02 06:40: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在TListView中显示数据库
Delphi在TListView中显示数据库,ListView控件的简单用法,在日常的编程开发中,这个比较常用 。
self.ListView1.ViewStyle:=vsReport;
for i:=0 to Query1.FieldCount-1 do
begin
TempColumn:=self.ListView1.Columns.Add;
TempColumn.Caption:=Query1.Fields[i].FieldName;
end;
Query1.First;
while not Query1.Eof do
begin
TempItem:=self.ListView1.Items.Add;
TempItem.Caption:=Query1.Fields[0].AsString;
for i:=1 to Query1.FieldCount-1 do
begin
TempItem.SubItems.Add(Query1.Fields[i].AsString);
end;
Query1.Next;
end;
- 2023-06-25 00:05:04下载
- 积分:1
-
delphi 获取网页源码
delphi 获取网页源码
- 2023-01-22 10:05:04下载
- 积分:1