| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 637 人关注过本帖
标题:生成 EXE 时,图片的路径问题?
只看楼主 加入收藏
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:6 
生成 EXE 时,图片的路径问题?
Private Sub Command5_Click()
Timer1.Enabled = True  
 
Picture1.Enabled = False


解释:上面这段是单击按钮后,时钟控件启动

End Sub
Private Sub Timer1_Timer()

    Static n%
         
    n = n + 1
   
    Picture1.Picture = LoadPicture("D:\" & n & ".jpg")
      
    If n > 4 Then n = 1
    End If
      

End Sub

解释: 把D盘的图片依次向图片框里导入  图片的名称分别是 1, 2 ,3 ,4  到4 后,又从头开始

现在我的疑问是,我生存exe 文件后,拷贝到别人电脑, 我必须把四个图片也拷贝到他电脑的D盘里,才能正常显示图片

有没有办法,不必把图片拷到他的D盘呢?
搜索更多相关主题的帖子: False 图片 
2014-10-20 15:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
1、最好不要在程序中使用绝对路径
2、想不来回拷贝图片的  可以制作安装包(打包时把相关辅助文件都包含进去)  如果是绿色软件(只有一个exe那样的 就得把图片都放在exe中,调用时再释放出来)

DO IT YOURSELF !
2014-10-20 16:07
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:2 
二种解决方法:
1、图片固定不变,那么把图片打包进 EXE 里,可以使用 资源文件, 也可以把图片放到 控件里。
优点,一个EXE搞定,缺点:EXE文件体积过大。


2、使用相对路径。把图片放到 EXE 一起,
如:   Picture1.Picture = LoadPicture(app.path & "\" & n & ".jpg")              '有BUG,EXE在根目录下会出现错误。
优点:EXE文件体积小,缺点:有产生额外的文件,要么打安装包,要么打压缩包。

授人于鱼,不如授人于渔
早已停用QQ了
2014-10-20 16:08
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
收藏
得分:3 
可以把图片和程序存放在同一个目录下,使用打包工具一起打包成安装文件。
使用者只需要正常安装你的安装包就可以正常运行了。
Picture1.Picture = LoadPicture(App.Path &"\"& n & ".jpg")

另,你的代码有问题,修改如下:
程序代码:
Private Sub Timer1_Timer()
    Static n%
    n = n + 1
    If n > 4 Then n = 1
    Picture1.Picture = LoadPicture(App.Path & "\" & n & ".jpg")

 End Sub

你已经设了时间控件的启用功能,那就应该有一个相应的停用功能存在。

[ 本帖最后由 snrtjat 于 2014-10-20 16:16 编辑 ]

不怕错误,只怕知错不改.
2014-10-20 16:14
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:3 
最简单的办法,用图片控件数组,设计时把需要的图片拖进相应的图片控件里,定时让对应的图片控件数组显示即可,代码如下:
Private Sub Timer1_Timer()
    Static n%  
    dim i as integer
    Picture1(n).visible=true
    for i=0 to Picture1.count-1
      if i<>n then  Picture1(i).visible=false
    next
    If n >= 4 Then n = 0
  End Sub

2014-10-20 22:07
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:1 
xzlxzlxzl的方法的确很好,反正你也只是四张图片循环,只需要添加四个图片控件即可。
2014-10-22 22:59
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
收藏
得分:0 
感谢各位热心指导,试着用相对路径,打了一个包

xzlxzlxzl的方法,容待有空细体验
2014-10-24 16:12
快速回复:生成 EXE 时,图片的路径问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015143 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved