关于 delphi 学习中的若干问题,请求论坛各位大神们。谢谢

pc248 2013-07-28 03:36:22
暑假又开始研究程序了,虽然进步那是相当小。

转入正题。这里有很多问题,首先来第一个 : 关于效率。

我是个小菜鸟,文科。布吉岛如何提高程序的效率,但我确实认为,肯定有更好的思路来解决这些事情,有空一定要细心钻研一下汇编神马的。现在的问题是: 我用ole来制定一个表格的格式,就是合并单元格啦,没记错的话是CellMerge(x1,y1,x2,y2). 上代码(从第七个格子到最后一个格子,每2个列的合并为一个。):

     k:=7;
for i := 2 to Form2.StringGrid3.ColCount div 2 -2 do
begin
CellMerge(3,k,3,k+1);
k:= k +2;
end;


这倒是没啥问题,没有语法错误,也木有逻辑错误,也编译通过。但是,输出 50x50 格子的数据,程序会卡在这里20秒左右,然后才弹出输出的对话框,俺也知道多线程会是个不错的选择,关键是效率太低了吧,那玩意受不鸟,输出500x500的表单那不得卡死。所以大牛们给我出个主意,最好是我连听都没听过的方法,把它解决掉。拜托各位。


问题二:程序有一个表格的数据是50x50的,界面根本放不下,导出为excel还行,但是吧,如果我想如果能把图截下来也不错哈,但是咱们平时区域截图只能截看到的,看不到的就没法了,还得移动一下滚动条,然后截图,ps到一起。。太费劲了,有木有能够获取stringgrid的句柄,把它的内容截取下来捏?请教各位大神。
...全文
264 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
reverzeng 2013-08-21
引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关? ole操作本来就比较慢的,直接在excel里执行vba速度如何? stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小) 不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
回复
lyhoo163 2013-08-21
不是应用到底层,不要使用汇编。否则系统之间有冲突。
回复
pc248 2013-08-11
引用 4 楼 HSFZXJY 的回复:
哇咔咔~这和汇编有毛关系?
那如何才会有本质提高呢?就像罗小平 的delphi 精要里讲到的一样。
回复
hsfzxjy 2013-07-29
哇咔咔~这和汇编有毛关系?
回复
pc248 2013-07-29
引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关? ole操作本来就比较慢的,直接在excel里执行vba速度如何? stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小) 不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
回复
pc248 2013-07-29
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
回复
haitao 2013-07-28
CellMerge是ole的函数,与stringgrid无关? ole操作本来就比较慢的,直接在excel里执行vba速度如何? stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小) 不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4924

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2013-07-28 03:36
社区公告
暂无公告