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

时间:2022-07-02 14:35:21
    暑假又开始研究程序了,虽然进步那是相当小。
    
    转入正题。这里有很多问题,首先来第一个  :   关于效率。

我是个小菜鸟,文科。布吉岛如何提高程序的效率,但我确实认为,肯定有更好的思路来解决这些事情,有空一定要细心钻研一下汇编神马的。现在的问题是: 我用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的表格,它的打印、截图就简单了

#2


哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。

#3


引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?

stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了


哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。

#4


哇咔咔~这和汇编有毛关系?

#5


引用 4 楼 HSFZXJY 的回复:
哇咔咔~这和汇编有毛关系?


那如何才会有本质提高呢?就像罗小平 的delphi 精要里讲到的一样。

#6


不是应用到底层,不要使用汇编。否则系统之间有冲突。

#7


引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?

stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了

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

#1


CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?

stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了

#2


哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。

#3


引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?

stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了


哇咔咔,楼上大牛,多谢指教。我先在应该从汇编开始学起吗?对于算法什么的一点都不了解,听说算法是程序的灵魂啊。。。我的程序木有灵魂。接下来如何学习好呢?大牛指教。

#4


哇咔咔~这和汇编有毛关系?

#5


引用 4 楼 HSFZXJY 的回复:
哇咔咔~这和汇编有毛关系?


那如何才会有本质提高呢?就像罗小平 的delphi 精要里讲到的一样。

#6


不是应用到底层,不要使用汇编。否则系统之间有冲突。

#7


引用 1 楼 sz_haitao 的回复:
CellMerge是ole的函数,与stringgrid无关?
ole操作本来就比较慢的,直接在excel里执行vba速度如何?

stringgrid的canvas也只画了可见的部分,截也截不到所有cell的(除非把cell的长宽设的很小)
不如把完整cell循环生成一个html的表格,它的打印、截图就简单了

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