注册 登录
编程论坛 VB6论坛

怎样把数字型字符串软换为长整型变量

中南红叶 发布于 2015-06-15 14:55, 2032 次点击
Dim S As String,b
Private Sub Form_Load()
    Picture1.Picture = LoadPicture("E:\abc.jpg")
    Set S = Picture1.Picture
    Set b = S
    Picture2.Picture = b
End Sub
上述过程运行时出现:"Set S = Picture1.Picture"中的"S="要求是对象的错误。如果把"Dim S As String"改为"Dim S As  Object"。就正常了。请求高手指教,怎样才能把数字型字符串转换为长整型变量,用Val是绝对不行的。

[ 本帖最后由 中南红叶 于 2015-6-15 17:42 编辑 ]
6 回复
#2
风吹过b2015-06-15 17:00
没看懂。

这句话什么意思??  
数字型字符串软换为长整型变量


这两句肯定是错误的,一个定义为 字符串,一个要求对象,
Dim S As String
    Set S = Picture1.Picture


你现在是要干什么?? 把图像数据读出来,进行修改再写进去??
那使用 PropertyBag 对象吧。
#3
中南红叶2015-06-15 17:34
回复 2楼 风吹过b
如某图片:s=picture1.picture的变量是:76854398,通过Dim s  As String,换成字符串:s="76854398"。再把数字型字符串"s"转换成长整数型"b",最终换回为图片:picture1.picture=b。既字符串与长整数型的转换。从表面看这过程无聊,实际上作用很大。求板主指教!

[ 本帖最后由 中南红叶 于 2015-6-15 17:38 编辑 ]
#4
风吹过b2015-06-15 17:48
s=picture1.picture的变量是:76854398
s="76854398" 和 s=76854398 ,就是使用 VAL 和 Str 互相进行转换的。

这个值是 picture1.picture 的 handle  值。
你就是取到这个数字后,仅靠VB的命令无法再转换为这个句柄所指向的 图像了。
所以无意义。

你要保存图像,然后在需要时放出来,使用 PropertyBag 对象保存。
#5
中南红叶2015-06-15 21:14
Dim S As String c As Object,b
 Private Sub Form_Load()
    Picture1.Picture = LoadPicture("E:\abc.jpg")
    S = Picture1.Picture  
    b = Val(s)
    Set c = CLng(b)        'CLng(b)把b的小数部分四舍五入转换为长整数型数
    Picture2.Picture = c
  Rnd Sub
用此CLng(b)函数来转换,会提CLng类型不匹配的错误。请教各位,多多帮忙,先在此谢谢!

[ 本帖最后由 中南红叶 于 2015-6-15 21:20 编辑 ]
#6
lianyicq2015-06-16 14:22
回复 5楼 中南红叶
说说到底需要什么.
不会是认为定义的字符串S保存了abc.jpg的图像信息吧.
#7
wmf20142015-06-16 17:23
其实这个问题完全不在鼓上敲。把对象变量和普通变量混为一谈。
1