转入正题。这里有很多问题,首先来第一个 : 关于效率。
我是个小菜鸟,文科。布吉岛如何提高程序的效率,但我确实认为,肯定有更好的思路来解决这些事情,有空一定要细心钻研一下汇编神马的。现在的问题是: 我用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的句柄,把它的内容截取下来捏?请教各位大神。
7 个解决方案
#1
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?
stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
ole操作本来就比较慢的,直接在excel里执行vba速度如何?
stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
#2
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
#3
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
#4
哇咔咔~这和汇编有毛关系?
#5
那如何才会有本质提高呢?就像罗小平 的delphi 精要里讲到的一样。
#6
不是应用到底层,不要使用汇编。否则系统之间有冲突。
#7
#1
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?
stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
ole操作本来就比较慢的,直接在excel里执行vba速度如何?
stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了
#2
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
#3
哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。
#4
哇咔咔~这和汇编有毛关系?
#5
那如何才会有本质提高呢?就像罗小平 的delphi 精要里讲到的一样。
#6
不是应用到底层,不要使用汇编。否则系统之间有冲突。