dephi7怎么读(delphi 高手看过来!如何远程读写网站上的数据文件)

本文目录
- delphi 高手看过来!如何远程读写网站上的数据文件
- delphi7中怎样把手持扫描器数据读入EDIt单文本框后回车提交数据库中,谢谢大家帮忙
- 怎么在delphi中读取Excel数据
- Delphi怎样支持多国语言
delphi 高手看过来!如何远程读写网站上的数据文件
你可以先把这个文件下载到你本地电脑上然后再读取这个文件。。
***隐藏网址***
uses urlmon;
***隐藏网址***
然后你在读取它就可以了
delphi7中怎样把手持扫描器数据读入EDIt单文本框后回车提交数据库中,谢谢大家帮忙
一楼的回答没错,如果把条码枪设置为USB键盘模式就这么简单。条码枪也可以设置输入后增加回车的动作
如果使用COM接口模式,那么才需要二楼说的,通过串口组件读取数据来获取,如果非特殊需要(比如需要同时接多个条码枪并需要识别是从那个条码枪进来的数据才需要用串口)也没必要用串口模式,麻烦
怎么在delphi中读取Excel数据
学完这个你就成为excel高手了!(Delphi对Excel的所有操作)逐个试试!
一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( ’Excel.Application’ );
1) 显示当前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 标题栏:
ExcelApp.Caption := ’应用程序调用 Microsoft Excel’;
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打开已存在的工作簿:
ExcelApp.WorkBooks.Open( ’C:\Excel\Demo.xls’ );
5) 设置第2个工作表为活动工作表:
ExcelApp.WorkSheets.Activate;
或
ExcelApp.WorksSheets.Activate;
6) 给单元格赋值:
ExcelApp.Cells.Value := ’第一行第四列’;
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns.ColumnsWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows.RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:
ExcelApp.WorkSheets.Rows.PageBreak := 1;
10) 在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns.PageBreak := 0;
11) 指定边框线宽度:
ExcelApp.ActiveSheet.Range.Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells.ClearContents;
13) 设置第一行字体属性:
ExcelApp.ActiveSheet.Rows.Font.Name := ’隶书’;
ExcelApp.ActiveSheet.Rows.Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows.Font.Bold := True;
ExcelApp.ActiveSheet.Rows.Font.UnderLine := True;
14) 进行页面设置:
a.页眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := ’报表演示’;
b.页脚:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := ’第&P页’;
c.页眉到顶端边距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作:
a.拷贝整个工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApp.ActiveSheet.Range.Copy;
c.从A1位置开始粘贴:
ExcelApp.ActiveSheet.Range..PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows.Insert;
b. ExcelApp.ActiveSheet.Columns.Insert;
17) 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows.Delete;
b. ExcelApp.ActiveSheet.Columns.Delete;
18) 打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印输出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存为:
ExcelApp.SaveAs( ’C:\Excel\Demo1.xls’ );
22) 放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True;
23) 关闭工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
(二) 使用Delphi 控件方法
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
1) 打开Excel
ExcelApplication1.Connect;
2) 显示当前窗口:
ExcelApplication1.Visible:=True;
3) 更改 Excel 标题栏:
ExcelApplication1.Caption := ’应用程序调用 Microsoft Excel’;
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
6) 打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 设置第2个工作表为活动工作表:
ExcelApplication1.WorkSheets.Activate; 或
ExcelApplication1.WorksSheets.Activate;
8) 给单元格赋值:
ExcelApplication1.Cells.Value := ’第一行第四列’;
9) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApplication1.ActiveSheet.Columns.ColumnsWidth := 5;
10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApplication1.ActiveSheet.Rows.RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分页符:
ExcelApplication1.WorkSheets.Rows.PageBreak := 1;
12) 在第8列之前删除分页符:
ExcelApplication1.ActiveSheet.Columns.PageBreak := 0;
13) 指定边框线宽度:
ExcelApplication1.ActiveSheet.Range.Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
14) 清除第一行第四列单元格公式:
ExcelApplication1.ActiveSheet.Cells.ClearContents;
15) 设置第一行字体属性:
ExcelApplication1.ActiveSheet.Rows.Font.Name := ’隶书’;
ExcelApplication1.ActiveSheet.Rows.Font.Color := clBlue;
ExcelApplication1.ActiveSheet.Rows.Font.Bold := True;
ExcelApplication1.ActiveSheet.Rows.Font.UnderLine := True;
16) 进行页面设置:
a.页眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := ’报表演示’;
b.页脚:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := ’第&P页’;
c.页眉到顶端边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷贝操作:
a.拷贝整个工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApplication1.ActiveSheet.Range.Copy;
c.从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range..PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows.Insert;
b. ExcelApplication1.ActiveSheet.Columns.Insert;
19) 删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows.Delete;
b. ExcelApplication1.ActiveSheet.Columns.Delete;
20) 打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存为:
ExcelApplication1.SaveAs( ’C:\Excel\Demo1.xls’ );
24) 放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 关闭工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
(三) 使用Delphi 控制Excle二维图
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)选择当第一个工作薄第一个工作表
asheet1:=ExcelApplication1.Workbooks;
2)增加一个二维图
achart:=asheet1.chartobjects.add(100,100,200,200);
3)选择二维图的形态
achart.chart.charttype:=4;
4)给二维图赋值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二维图的标题
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’
学完这个你就成为excel高手了!^&^
Delphi怎样支持多国语言
Delphi的多语言是这么用的,但是添加多语言后编译连接速度很慢,有时候10来分钟。
可以把你的Delphi的窗体文件分给翻译来翻译,如果是Delphi7,需要先用Conver.exe来转换为文本格式。
1、Project-New Application 创建你的中文版软件。
2、Project-Language-Add 添加你的语言,比如美国英语(ENU)。或者File-New-Others-Dll Wizard
3、保存后生成多个文件夹。
4、Project-Build All
5、程序目录下生成和工程文件同名的语言文件:MyExe.ENU;MyExe.CHN,软件发布需要带这些文件。
6、把软件里面所有字符串定义为资源字符串。
resourcestring
C_AppTitle = ’xx管理系统’;
C_Error = ’错误’;
C_Warning = ’警告’;
7、在软件中用如下代码切换语言:
const
//定义你的多语言:
ENGLISH = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
CHINESE = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE;
uses
ReInit;
...
if LoadNewResourceModule(ENGLISH) 《》 0 then
begin
ReInitializeForms();
end;
更多请参考Delphi帮助,里面写得更清楚。
其实感觉最好还是用INI文件
把所有语言条目提取出来记录,并且将INI翻译成多份(多种语言),程序启动时从INI文件中加载语言。
CSDN上有介绍用TLMPack的,你也可以尝试一下:
1。在Delphi(或BCB)中安装TLMPack标准版,关于如何安装帮助文件中有比较详细的说明了,这里不在累述了。(当然安装标准版的前提是你使用标准的AnsiVCL控件来开发的程序,如果你使用TntUnicode控件来开发程序,那么相对应,必须使用Unicode版的TLMPack)。
2。打开你需要升级成多国语言的工程,在每一个Form(以及QReport,Module等)上放置一个TtlmController控件,这个控件的作用是自动改变其所在Form上所有控件的显示文字,一般情况下只需要将该控件放置在Form上就可以了,不需要作任何设置。
3。Form上的控件现在已经可以自己根据语言设置的变换而自动更新了,那么像MessageBox()这样的函数中显示的文字怎么办呢,答案是使用TtlmController的Translate()函数,这个函数可以自动到当前使用的语言文件中取得文字资源然后作为返回值返回出来,假设已有一段函数是这样的:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(’Say hello to the user!’), ’Message’, MB_ICONINFORMATION);
end;
那么你需要将文字的部分使用Translate函数包装起来,包装后就像这样:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(tlmController1.Translate(’SayHello’, ’Say hello to the user!’)), ’Message’, MB_ICONINFORMATION);
end;
前面的‘SayHello’是对文字的标识,通过这个标识程序才能从语言文件中找到正确的资源,后面的文字作用是当语言文件中不存在需要寻找的资源(或者语言文件不存在时),该函数默认所返回的内容。
另外,Translate函数还支持同Format()函数一样的参数显示,如这样:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(tlmController1.Translate(’ComponentCount’, ’ComponentCount = %d’, )), ’Message’, MB_ICONINFORMATION);
end;
4。以上的MessageBox()函数是出现在Form中的,并且该Form中已经有TtlmController控件了,所以才可以使用TtlmController的Translate()函数进行文字的转换,那么如果你的工程中有一个直接从TObject继承而来的功能类,它也需要显示Message,或者需要记载Log文字等,这时候该怎么办呢,最简单的方法是让这个功能类去调用某个Form中的TtlmController的Translate()函数,但是这样的缺点是程序可能需要为此做较大的改动,另外语言文件中的文字也将变得混乱不堪。那么这个时候最好的解决方案就是使用TtlmObject类,该类同TtlmController类一样,也有Translate函数可以使用,但是区别是它不会侦测所在Form的所有控件,不会对它们进行自动转换。
以下这个类是个小型的功能类。
代码:
interface
uses
....;
type
TFunctionClass = class(TObject)
public
procedure ShowMessage();
end;
impenmentation
procedure TFunctionClass.ShowMessage();
begin
ShowMessage(nil, ’Say hello to the user!’, ’Message‘, MB_ICONINFORMATION);
end;
end.
使用TtlmObject类后,该类被改造为:
代码:
interface
uses
...., TLMObject;
type
TFunctionClass = class(TObject)
private
FtlmObject:TtlmObject;
public
constructor Create();
destructor Destroy();override;
procedure ShowMessage();
end;
impenmentation
constructor TFunctionClass.Create();
begin
inherited Create();
FtlmObject:=TtlmObject.Create(self);
end;
destructor TFunctionClass.Destroy();
begin
FtlmObject.Free;
inherited Destroy();
end;
procedure TFunctionClass.ShowMessage();
begin
MessageBox(Handle, PChar(tlmController1.Translate(’ComponentCount’, ’ComponentCount = %d’, )), ’Message’, MB_ICONINFORMATION);
end;
end.
这样每当使用该功能类中需要文字显示的函数时,真正使用的文字就是语言文件中记载的内容了。
5。TLMPack是从外部语言文件来加载语言文字的,由于完全手工写一个语言文件是一件比较枯燥的事,所以你可以使用向导控件来由程序,如果你打算自己手工来撰写一个语言文件,那么可以忽略该小节。
所谓的向导控件是指:TtlmIniGenerator和TtlmXmlGenerator这两个控件,它们会在程序运行时,将所有原本需要TtlmController和TtlmObject读取的文字,反向输出到语言文件中,你所要做的就是在程序的主窗体上放置一个TtlmIniGenerator(这里假设你要输出的是Ini格式的语言文件):

更多文章:
电脑桌面倒计时代码(找个倒计时的程序,可以设定一个时间在桌面上同时显示距离多少天,多少小时,多少秒)
2025年6月24日 09:30
足球史上臭名昭著的诺坎普惨案是怎么回事?第二次世界大战中的三大惨案是 什么→
2025年6月22日 20:30
java代码走查工具(java中,代码检查工具check-style检查出来的错误很多,请教各位,有什么快速修改的方法不)
2026年4月25日 20:45
瑞士军刀有多可怕(相比于武器,多功能且实用的瑞士军刀是如何制造出来的)
2026年6月30日 01:15
summerholiday读音(summer是什么意思中文翻译)
2026年3月3日 22:00
paper软件下载(小红车wallpaper电脑端怎么下载)
2025年12月21日 15:15
甲骨文数据库价格(SQL数据库和甲骨文数据库的好处和坏处求解答!(甲骨文的数据库有什么用))
2026年4月11日 08:00
parent属性(js使用parent.parent会有影响吗)
2026年3月18日 23:30
sqlserver查询前10条记录(关于SQL查询前10条记录)
2025年7月19日 08:15














