-
Delphi 将TDBGrid导入到Excel表中附数据库
Delphi7.0将TDBGrid导入到Excel表中,测试程序先连接好SQLSERVER数据库,并将数据读取到TDBGrid中,然后再将数据从TDBGrid导入到Excel表中,为了测试方便,SQLSERVER数据库文件已经附在源码包中。以下代码片断会有参考意义,完整源码请下载:
//将TDBGrid表中的标题插入到Excel表中的首行
for I:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
Page.Cells[j,i+1] := DbName.Columns[i].Title.Caption;
Page.Cells[j,i+1].Font.Bold := True; //设置字体为粗体
end;
Inc(j); //Excel表中的下一行
First; //将指针返回到TDBGrid表中数据的首行
while not Eof do
begin
for i:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
//将指定行中每列的数据,添加到Excel表中
Page.Cells[j,i+1] := trim(DbName.DataSource.DataSet.Fieldbyname(DbName.Columns[i].FieldName).asstring);
end;
Inc(j); //Excel表中的下一行
Next; //TDBGrid表中的下一条记录
end;
- 2022-06-29 23:05:07下载
- 积分:1
-
Delphi 变速齿轮# 让时间变快减慢
Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:
procedure Speed(count:word); stdcall;
const ExceptionUsed = $03; { 中断号也可以用其它的中断号}
var
IDT : array [0..5] of byte; { 保存中断描述符表}
lpOldGate : dword; {存放旧向量}
begin
asm
push ebx
sidt IDT {读入中断描述符表}
mov ebx, dword ptr [IDT+2]{IDT表基地址}
add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置}
cli {关中断}
mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 }
shl edx, 16d {左移16位}
mov dx, word ptr [ebx] {取1,2字节 }
mov [lpOldGate], edx {保存旧的中断门}
mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段}
mov word ptr [ebx], ax {低16位,保存到1,2字}
shr eax, 16d
mov word ptr [ebx+6], ax {高16位,保存到6,7位}
int ExceptionUsed {发生中断}
mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中}
add ebx, 8*ExceptionUsed
mov edx, [lpOldGate]
mov word ptr [ebx], dx
- 2023-02-13 04:55:03下载
- 积分: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 判断字符串是否为日期或时间,检查用户输入的时间格式是否正确,判断用户输入的是否是时间字符串,这个虽然麻烦些,不过这个例子将问题简单化,有兴趣的参考源码。
- 2022-08-24 16:56:14下载
- 积分:1
-
Delphi 钩子函数创建鼠标操作的演示
Delphi 钩子函数创建鼠标操作的演示,作者:冉林仓,测试内容包括三个:DemoRecord.dpr DemoPlayBack.dpr Hktest.dpr。
安装与调试说明:
如果制作的演示程序工作不正常,请注意修改HKPROC.PAS,JOURNALPLAYBACKHOOKHANDLER函数,主要是修改返回的RESULT值.
记录的消息序列与屏幕窗口位置、分辨率有很大的关系,哪怕是窗口位置和大小仅仅偏一点,你的回放就不一定正常,请你在使用时要反复调试,以获得比较理想的效果。
- 2023-09-02 14:55:03下载
- 积分: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 IntToHex函数用法举例
关于IntToHex,在Delphi中使用频率也是挺高的,不过像我这种菜鸟,对IntToHex的具体用法仍是不太熟悉,后来看了这个小程序,了解了一些,分享给大家,特别是以下代码会加深你对IntToHex函数的用法理解。
procedure TForm1.Button1Click(Sender: TObject);
var
S:integer;
begin
S:=2147483647;
showmessage(inttoHex(s,8));
showmessage(inttoHex(s,10));
showmessage(inttoHex(s,16));
showmessage(inttoHex(s,32));
end;
- 2022-09-07 01:20:03下载
- 积分:1
-
Delphi+Interbase-Code-汽配进销存源码-源代码全-使用手册-钻石精品
(R)-Delphi+Interbase-Code-龙邦汽配进销存源码-源代码全-使用手册-钻石精品
- 2022-03-16 11:47:13下载
- 积分:1
-
一个包括了下拉菜单的Delphi窗口设计范例程序
一个包括了菜单的Delphi窗口设计范例程序,以一个销售管理系统的主窗口界面设计为例,演示在窗体中添加下拉菜单、主窗口显示区、状态栏、标题栏等窗口元素,比较适合Delphi初学者学习。窗口中的下拉菜单我认为需要掌握,在很多的Delphi应用程序中,都会有此需求,欢迎下载源码。
- 2022-12-24 17:00:02下载
- 积分:1
-
Delphi 编写的VOD视频点播及后台管理系统
Delphi 编写的VOD视频点播及后台管理系统,这套系统既是一套多媒体系统,也是一套数据库系统,VOD部分的功能有:KTV管理系统,编号点歌、轻音乐、拼音点歌、迪士高、明星点歌、DVD影院、播放列表、歌曲管理等。
- 2022-01-24 15:29:37下载
- 积分:1