以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这段代码还有优化的空间么?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69423)

--  作者:jinzhengbe
--  发布时间:2015/6/5 2:16:00
--  这段代码还有优化的空间么?

For Each File As String In FileSys.GetFiles("C:\\图片\\")
 Dim f As Io.FileInfo =  FileSys.GetFileInfo(File)
  Dim r As Row = Tables("商品").AddNew
    r("ppp") = f.name
  
 Dim d As String = Tables("商品").Current("bh1")       
 Dim s As String = Tables("商品").Current("cn_name")       
    Dim img1 As image = getImage(file)
    Dim bmp1 As new bitmap(img1, 150, 150 * (img1.height / img1.width))
    bmp1.save("f:\\as2\\" & s & "p.jpeg")
    bmp1.Dispose

      
FileSys.CopyFile(file, "f:\\as1\\" & s & "s.jpeg",True )
FileSys.CopyFile(file, "f:\\as\\" & s & ".jpeg",True )
FileSys.CopyFile(file, "f:\\qrcord\\taobao\\" & s & ".tbi",True )

Next

 

 

这段代码还有优化的空间么?   是一个按钮的代码 ,每次都要处理 1500以上个数据(倒入的数据) 所以程序会经常 灰屏或者关机


--  作者:baicaocao
--  发布时间:2015/6/5 8:04:00
--  
淘宝啊。试试把tables绘制事件先暂停,循环完再绘制。 bmp1.save("f:\\as2\\" & s & "p.jpeg"),这句应该比较浪费时间。
--  作者:Bin
--  发布时间:2015/6/5 8:46:00
--  
2楼说的有道理 参考帮助 http://www.foxtable.com/help/topics/0401.htm
--  作者:大红袍
--  发布时间:2015/6/5 9:17:00
--  

同时,不要用一个文件夹保存所有的图片,一个文件夹保存每次1500张图片,是恐怖的,如果有几万张,你那个文件夹打开都会很慢。

 

建议再分文件夹,比如按日期。


--  作者:jinzhengbe
--  发布时间:2015/6/5 13:40:00
--  

非常感谢文件夹建议,已经参考了,


--  作者:jinzhengbe
--  发布时间:2015/6/5 13:47:00
--  

With  DataTables("商品")
     .StopRedraw
     For Each File As String In FileSys.GetFiles("C:\\图片\\")
     Dim f As Io.FileInfo =  FileSys.GetFileInfo(File)
       Dim r As Row = Tables("商品").AddNew
         r("ppp") = f.name
           Next
     .ResumeRedraw
 End  With


Dim d As String = Tables("商品").Current("bh1")       
 Dim s As String = Tables("商品").Current("cn_name")       
    Dim img1 As image = getImage(file)
    Dim bmp1 As new bitmap(img1, 150, 150 * (img1.height / img1.width))
    bmp1.save("f:\\as2\\" & s & "p.jpeg")
    bmp1.Dispose

      
FileSys.CopyFile(file, "f:\\as1\\" & s & "s.jpeg",True )
FileSys.CopyFile(file, "f:\\as\\" & s & ".jpeg",True )
FileSys.CopyFile(file, "f:\\qrcord\\taobao\\" & s & ".tbi",True )

 

可以理解为上门的代码么 ? 还是其他的


--  作者:大红袍
--  发布时间:2015/6/5 14:04:00
--  

With  DataTables("商品")
    .StopRedraw
    For Each File As String In FileSys.GetFiles("C:\\图片\\")
        Dim f As Io.FileInfo =  FileSys.GetFileInfo(File)
        Dim r As Row = Tables("商品").AddNew
        Dim d As String = r("bh1")
        Dim s As String = r("cn_name")
        Dim img1 As image = getImage(file)
        Dim bmp1 As new bitmap(img1, 150, 150 * (img1.height / img1.width))
        bmp1.save("f:\\as2\\" & s & "p.jpeg")
        bmp1.Dispose
       
       
        FileSys.CopyFile(file, "f:\\as1\\" & s & "s.jpeg",True )
        FileSys.CopyFile(file, "f:\\as\\" & s & ".jpeg",True )
        FileSys.CopyFile(file, "f:\\qrcord\\taobao\\" & s & ".tbi",True )
    Next
    .ResumeRedraw
End  With

 

 


--  作者:jinzhengbe
--  发布时间:2015/6/5 14:56:00
--  

非常感谢