delphi 分割合并大文件问题

delphi 分割合并大文件问题,第1张

文件分段读取数据是最简单访问文件的套路,依次调用几个windows API即可

CreateFile 打开文件

SetFilePointer 定为读或写的位置

ReadFile 读文件

WriteFile 写文件

CloseHandle 关闭文件

极度追求性能的话,可以试试共享内存的方式,相应的API有

CreateFile

CreateFileMapping

MapViewOfFile

UnMapViewOfFile

CloseHandle

若经查阅MSDN,仍然存有疑问,可联系我。

如果仅仅是实现你所说的功能而没其他要求的话,还是比较简单的,只需要你在每个按钮下写几行几乎相同的代码就行了。如果定义一个过程,那么就更简单了。每个按钮下只需要一行代码。

关键是调用一个执行外部应用程序的函数:这样的函数比较多,你在搜索引擎里搜“Delphi 如何调用外部程序”会给你很多参考的。我这里用

WinExec()函数来实现。你也可以用其他的。

先定义一个过程:

procedure MyTools(ToolPathAndName: stringWindowState: string)

begin

WinExec(ToolPathAndName,WindowState)

end

然后在每个按钮下输入这行代码就可以了:

MyTool('(1)','(2)')

注:(1)处为该按钮要打开的你工具的路径和名称,可以用绝对和相对路径,如绝对路径:C:\我的记事本.exe,相对路径:mytools\我的记事本.exe(建议你用相对路径这样,你的整个程序放到别人的电脑上,只要相对路径不变几不会出问题)

(2)处为你想打开的程序的窗口状态你可以默认设置为:"SW_SHOWNORMAL"(普通大小),也可以最大化,最小化,界于你是在程序里调用,我觉得就"SW_SHOWNORMAL"就行了。

如果还有什么问题的话,可以给我发消息。我第一时间回答你。

你甚至可以把你那些工具的名字给我,我给你做一演示程序都行。

【补充】:演示程序我已经做好了,如果你愿意的话,你把你的邮箱给我,我给你发过来。

1.第一个窗体:建立Comobj,写入文件A,这个你已经会了,不多说.

2.用一个变量记录文件A的文件名,传递给第二个窗体,全局变量,静态变量...你随便用什么办法都可以.

3.第二个窗体:打开文件A,ExcelApp.WrokBooks.Open('...')然后新建工作簿并写入,ExcelApp.WrokBooks.Add

ExcelApp.WorkSheets[2].Activate

写入完毕后关闭.

4.第3个窗体:打开文件A,ExcelApp.WrokBooks.Open('...')然后新建工作簿并写入,ExcelApp.WrokBooks.Add

ExcelApp.WorkSheets[3].Activate

写入完毕后关闭.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11646088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存