VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2408|回复: 13

VB的程序员,大家来谈谈重用代码问题。

[复制链接]

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-17 13:00:01 | 显示全部楼层 |阅读模式
很多其他程序设计系统都是通过继承来实现多态,而Visual Basic 不用继承来提供多态,有哪位高手阐述下VB的代码重用方法?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-22 22:15:01 | 显示全部楼层
强烈关注。一直有同样的疑问。
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-23 21:15:01 | 显示全部楼层
就是在文本框输入任意qq号,然后就打开 和 这个 QQ的 对话框,
网上看了很多 类似的 小软件,我想用 vb应该很好做,可是我做到这
就不会了,呵呵 请大家指教 下
代码如下:


Private Sub Command1_Click()
Dim num As Integer
p = Text1.Text
Shell ("explorer.exe tencent://message/?uin=p")
End Sub


看到了么,我想用 变量p存储 text1.text 里输入的QQ号
然后 和 基本网址 组合
但是explorer.exe tencent://message/?uin=p 打不开
请大家指教 下 ,该怎么样做。

回复

使用道具 举报

0

主题

45

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-6-5 10:30:01 | 显示全部楼层
改成VB.NET就好了嘛 ^_^
回复

使用道具 举报

0

主题

14

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-7-4 19:30:01 | 显示全部楼层
Shell ("explorer.exe tencent://message/?uin="+p)
回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-7-10 16:30:01 | 显示全部楼层
p變量怎麼能放在“”號內呢?暈。樓上的對。
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-17 09:45:01 | 显示全部楼层
进来听课
回复

使用道具 举报

0

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-7-18 18:00:02 | 显示全部楼层
多态啊?
曾经在MSDN看到可以用接口实现
从来没用过。。。
回复

使用道具 举报

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-8-3 12:30:01 | 显示全部楼层
tips:Visual   Basic的类是否支持继承     
   
  VB最为人垢病的是它的面向对象特性。实际上VB是一种基于对象的开发工具。在VB中     
  建立的类是支持继承的。下面是范例:     
   
  首先建立一个新工程,然后添加一个新的类模块(Class   Module),类名称设定为BaseClass。     
  然后在BaseClass中加入以下代码:     
   
  Public   Sub   BaseSub()   '虚拟特性,BaseSub在子类中实现     
   
  End   Sub     
   
  然后添加两个类模块,类名称分别设定为ImpClass以及ImpClass2,然后在类的代码窗口中写入:     
  Implements   BaseClass   '继承特性     
  上面这行代码说明类ImpClass以及ImpClass2实现类BaseClass。     
  在ImpClass窗口中加入以下代码:     
  Private   Sub   BaseClass_BaseSub()   '实现基类中的BaseSub方法     
  MsgBox   "Hello.   This   is   Imp.   inherited   from   BaseClass"     
  End   Sub     
   
  在ImpClass2中加入以下代码:     
  Private   Sub   BaseClass_BaseSub()     
  MsgBox   "Hello.   This   is   Imp2.   inherited   from   BaseClass"     
  End   Sub     
   
  完成了上面的类代码后,打开Form1,在上面添加一个CommandButton,在按钮的Click事件中     
  写入以下代码:     
   
  Dim   xImp   As   New   ImpClass     
  Dim   xIMp2   As   New   ImpClass2     
  Dim   xBase   As   BaseClass     
   
  Set   xBase   =   xImp   '多态特性     
  xBase.BaseSub     
  Set   xBase   =   xIMp2     
  xBase.BaseSub     
  Set   xBase   =   Nothing     
   
  Set   xImp   =   Nothing     
  Set   xIMp2   =   Nothing     
   
   
  运行程序,点击CommandButton,程序会先后弹出消息框,显示在ImpClass以及ImpClass2中     
  设定的消息。     
  从上面的代码中可以看到VB中是如何实现面向对象的特性:继承、虚拟以及多态的。只是同     
  诸如Java、C++、Object   Pascal不同,VB将很多实现的细节隐藏了起来。     
   
   
  问:如何屏蔽掉窗体中的关闭按钮X?     
  答:可以使用API函数将窗体菜单中的   关闭   项灰掉,因为菜单同关闭按钮是关联的,这样关闭     
  按钮也会不可用。具体代码如下:     
   
  Option   Explicit     
   
  Private   Declare   Function   GetSystemMenu   Lib   "user32"   _     
  (ByVal   hwnd   As   Long,   ByVal   bRevert   As   Long)   As   Long     
  Private   Declare   Function   RemoveMenu   Lib   "user32"   _     
  (ByVal   hMenu   As   Long,   ByVal   nPosition   As   Long,   _     
  ByVal   wFlags   As   Long)   As   Long     
  Private   Declare   Function   EnableMenuItem   Lib   "user32"   _     
  (ByVal   hMenu   As   Long,   ByVal   wIDEnableItem   As   Long,   _     
  ByVal   wEnable   As   Long)   As   Long     
   
  Const   SC_CLOSE   =   &HF060     
   
  Private   Sub   Form_Load()     
  Dim   hMenu   As   Long     
   
  hMenu   =   GetSystemMenu(Me.hwnd,   0)     
  RemoveMenu   hMenu,   &HF060,   &H200&     
  Debug.Print   EnableMenuItem(hMenu,   SC_CLOSE,   1)     
  End   Sub
回复

使用道具 举报

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-8-3 13:00:01 | 显示全部楼层
VB的继承还不是太容易能理解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表