Foxtable(狐表)用户栏目专家坐堂 → 这段代码还有优化的空间么?


  共有2766人关注过本帖树形打印复制链接

主题:这段代码还有优化的空间么?

帅哥哟,离线,有人找我吗?
jinzhengbe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
这段代码还有优化的空间么?  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2015/6/5 8:04:00 [只看该作者]

淘宝啊。试试把tables绘制事件先暂停,循环完再绘制。 bmp1.save("f:\as2\" & s & "p.jpeg"),这句应该比较浪费时间。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/5 8:46:00 [只看该作者]

2楼说的有道理 参考帮助 http://www.foxtable.com/help/topics/0401.htm

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/5 9:17:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhengbe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2015/6/5 13:40:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhengbe
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By: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 )

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2015/6/5 14:56:00 [只看该作者]

非常感谢


 回到顶部