大家好,我有一个VB问题想请教大家,我是一个不会VB的家伙,是这样的,我请人设计了一个有关房产的软件VB6+ACCSE的
设计好以后在程序里查询房屋,可以出现一些数据,实现了一般功能现在我想实现点出一个命令按钮就可以调出对应的图片,如果图片不存在,则调用的是一张空白图片好不容易求人家帮我完成了,是这个样子的,实现的方法是
在程序目录下设计了一个IMG的文件夹,我把一小部分房屋的图片复制到这个目录下面,用房产的编号分别命名为JPG格式,比如A001.JPG,进入程序以后,查询到这个房子,点一个查看图片按钮就可以出来一个图片,如果这个房子的图片不存在,那么就出来另外一张图片,上面有文字提示找不到这个房屋的因为这一图片调用源程序代码没有了,我想自己学着实现这样的一个功能,也找不到人了,所以我想自己尝试一下完成
结果失败了多次,我是新手
我在以前没有调用图片之前的源程序里找到了这个窗体的代码,请大家分析一下,
Private Sub Command1_Click()
sjxx.Enabled = True
Unload Me
End Sub
---这是返回查询的界面Private Sub Form_Load()
address = sjxx.rsGrid.TextMatrix(Tm7, 4)--这一句是点击查询界面出现的查询结果里有一个右键菜单显示图片,点一下调出图片的界面,图片上方出现房屋的地址ADDRESS,下方出来一个房子的图片,如果有的话,是一个IMANGE控件
bianhao = sjxx.rsGrid.TextMatrix(Tm7, 0)---这一句本来没有,是我加的,我本想在这个界面加一个标签,显示出房产的编号,然后调用对应的编号。JPG文件Label1.Caption = address
Label2.Caption = bianhao
----分别显示出房产编号和地址imange1.Picture =loadpicture(D: \我的文档\公房程序\程序\img\bianhao.jpg")-----我自己以为这个就可以了,LOADPICTURE调用目录下的IMG目录下的编号命名的JPG文件,结果失败了,没有想像的容易,所以请大家帮忙,如果设计这个代码呢,因为修改可以调出图片文件的源码不见了,所以我需要这个功能,请大家看看怎么写呢,如果bianhao是一个变量,调用时文件名自动改变就好了。
End Sub以下的代码是图片窗体关闭以后,再调出查询窗体
Private Sub Form_Unload(Cancel As Integer)
sjxx.Enabled = True
Unload Me
End Sub
我很着急,使用了图片调用功能的新程序里有一个时间限制,到了一个日期就不能再用了,我手里这个源码是没有图片调用功能的,其他功能也不少,我看到了启动窗体有一个时间限制,所以我希望大家帮我一下,我这个代码新写了图片调用功能的话,那我就删除了这个时间限制重新编译了,请大家务必指点。

解决方案 »

  1.   

    imange1.Picture =loadpicture(D: \我的文档\公房程序\程序\img\bianhao.jpg")
    改成
    imange1.Picture =loadpicture(D: \我的文档\公房程序\程序\img\" & bianhao & ".jpg")
      

  2.   

    Private Sub Command1_Click()
    sjxx.Enabled = True
    Unload Me
    End SubPrivate Sub Form_Load()
    address = sjxx.rsGrid.TextMatrix(Tm7, 4)
    bianhao = sjxx.rsGrid.TextMatrix(Tm7, 0)
    Label1.Caption = address
    Label2.Caption = bianhao
    imange1.Picture =loadpicture"(D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    sjxx.Enabled = True
    Unload Me
    End Sub大侠你好,感谢你的指点,这是我的代码,不过提示编译错误和语法错误,请问是哪里有问题呢
    Public Check As String
    Public gUserName As String
    Public iflag As Integer
    Public Tm1, Tm2, Tm3, Tm4, Tm5, Tm6, Tm7, Tm8, Tm9, Tm0, Tm10 As Integer
    Public sql1, sql2, sql3, sql4, sql5, sql6, sql7, address, bianhao As Strin我自己加的BIANHAO在这个标准块里,应该不影响吧。有了希望了,真的很感谢,能再指点一下错误原因吗?
      

  3.   

    imange1.Picture =loadpicture"(D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
    大侠,是这一句,提示是编译错误和语法错误,我把那个双引号放在括号内的D的前面
    就提示找不到分隔符,有时又提示找不到结束语句,不知道是什么意思
    我想这个功能基本上是可以实现的吧,有BUG请帮我一把,辛苦得很我,
      

  4.   

    仔细检查一下是不是有拼写错误
    imange1?还是image1?
    image1.Picture =loadpicture("D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
      

  5.   

    Private Sub Command1_Click()
    sjxx.Enabled = True
    Unload Me
    End SubPrivate Sub Form_Load()
    address = sjxx.rsGrid.TextMatrix(Tm7, 4)
    bianhao = sjxx.rsGrid.TextMatrix(Tm7, 0)
    Label1.Caption = address
    Label2.Caption = bianhao
    Image1.Picture = LoadPicture("D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
    End Sub
    感谢大侠,我终于找到了,我有几张图片用BIANHAO合名都找到了,现在我就想一个问题,因为我只有部分图片,大部分房子是没有图片的,那么我找别的房子,没有对应的图片就会出错了,怎么可以加一些代码,来判断,如果找不到对应编号 的图片就调用一张空白的图片来显示
    我自己想是一个IF THEN语名在,怎么写呢,我自己学着写,有点难,可以再指点一下吗
    上面的问题是我太笨了,多了一个字母,我查了半天,感谢。又进了一步
    Private Sub Form_Unload(Cancel As Integer)
    sjxx.Enabled = True
    Unload Me
    End Sub
      

  6.   

    我是这样想的,
    如果在IMG目录下找不到BIANHAO。JPG文件,则不改动IMAGE的PICTURE属性,我是在程序源码里事先给IMAGE的PICTURE屩性指定了一个图片,
    如果找到了,则LOADPICTURE代码
    思路是这个样子的,实现起来是不是很困难呢,以前的代码就是这样的结果
    怎么搜索片呢,程序是难,不过有人指点,感觉受益非浅
      

  7.   

    on error goto  err
    image1.Picture =loadpicture("D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
    err:
    image1.picture=loadpicture你那个准备好的图片思路就是无论如何你都loadpicture如果出现错误就load 你那个准备好的图片
      

  8.   

    Private Sub Form_Load()
    address = sjxx.rsGrid.TextMatrix(Tm7, 4)
    bianhao = sjxx.rsGrid.TextMatrix(Tm7, 0)
    Label1.Caption = address
    Label2.Caption = bianhao
    On Error GoTo err
    Image1.Picture = LoadPicture("D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg")
    err:
    Image1.Picture = LoadPicture("D:\我的文档\公房程序\程序\img\x.jpg")
    End Sub
    各位,我用楼上的这句代码加了进来,我的IMG目录下有五张图片, 分别为A005,B001,A007什么的,有一张名字为X。JPG。我用楼上的思路这样做了改动,结果如下
    没有楼上的代码时,我可以找到对应的图片,只是如果图片不存在,系统就出错,强行退出来
    楼上的是一个错误检测程序吧,我是自己猜的,我想找不到图片就直接调用X。JPG,现在程序运行我选 A005,B001 A007几个房子的话,出来的只有A005这个房子的图片,因为A005是IMG目录下的第一张图片,不知道是什么原因,很感谢大家的帮助。
      

  9.   

    有一句我说错了,就是加了错误检测代码,调用的总是X。JPG文件
      

  10.   

    也可以这样
    Private Sub Form_Load()
    dim s as string
    address = sjxx.rsGrid.TextMatrix(Tm7, 4)
    bianhao = sjxx.rsGrid.TextMatrix(Tm7, 0)
    Label1.Caption = address
    Label2.Caption = bianhao
    s="D:\我的文档\公房程序\程序\img\" & bianhao & ".jpg"
    if dir(s)<>"" then
      Image1.Picture = LoadPicture(s)
    else
      Image1.Picture = LoadPicture("D:\我的文档\公房程序\程序\img\x.jpg")
    endif
    End Sub
      

  11.   

    非常感谢楼上的学长,我用了那个代码,实现了大多的图片查找,只有一张提示无用图片而退出,我想可能是JPG有了问题,不过基本没事了,这个功能上面,我个贴子算结贴了吧
    我觉得我学到的不仅是一些代友一,还有一个思路
    把查找图片的这一句,用S来代表 就解决了一些逻辑问题,真是太好了!
    程序里还有好多不会的地方,如果我实在不成,还来请教大家啊要,