vb点虐 免费开发 vb开发app
vb点虐 整个网站开发教程
建议到书店去看看,大一点的书店,这样的书挺多的,网上的大多都不太好,也不完整,最好找那种有开发步骤的,而不是净粘一堆代码的,这种东西有个大体框架,知道怎么个过程就够了,具体开发细节一步步摸索,教程里的东西大多都运行不了,再说一步步照着做也没什么长进
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永吉免费建站欢迎大家使用!
visual studio 2015 VB点虐 开发的一个问题
你描述的这个功能叫IntelliSense,如果你强制退出了第一次配置环境,有可能该功能没有打开。
另外,如果你的机器配置过低,该功能也不会自动打开。对于同样一台机器,安装旧版本就算高配,安装新版本就算低配,这个能理解吧?
因此你需要从选项中找找IntelliSense的开关。
同鄙视刷分者。百度知道就是这个尿性。
VB点虐 可以开发小型3D图形显示软件吗?
可以借助DirectX来编程。免费3D引擎可不好找,一般来说速度比不上硬件加速后的DX,尤其令人头疼的是一般都没有针对VB的文档,LZ有这方面理想的话,自己写一个吧……
我不得不承认在VB上写DirectX的教程相当难找!如果LZ想深入研究三维图形问题,C++一定要学,就算不能用C++编程,起码要能把C++程序翻译成VB程序。
我自己学会DX编程花了两三个月(很浅)。编这样一个程序难度是有点大的。
工具:DirectX9和其针对VB的库(项目-添加引用。.NET库里DX库一般都有),VB不知道现在支不支持DX10以上的版本,不过9绝对够用了。
思路:一切3D图形都是由三角形拼成的。矩形挖掉一个圆孔可不是一个方便画的图形,我估计至少得有24个三角形。你需要记录这些点的坐标,或者干脆把它们写在文件里,到时读出来。
这是我的一个老DX程序的不完全的代码(显示一个黑乎乎的平面),不一定能编译,可以参考一下。
Imports Microsoft.DirectX '一定要~
Public Class FormMain
'Direct3D Startup
Dim d3dpp As New Direct3D.PresentParameters 'DX基本参数,例如全屏还是窗口等
Public MyDevice As Direct3D.Device ‘DX基本设备,画图就靠它。
'Matrices
Dim matWorld, matView, matProj As Matrix '世界位置矩阵,摄像机位置矩阵和透视矩阵,数学要学好啊。
'mesh
Public MyPlane as Direct3D.Mesh ’我们的物体
Public VBPlane(3) As Direct3D.CustomVertex.PositionNormalTextured '存放顶点位置的数组
#Region "DX Core"
Public Sub InitDeviceObjects()
With d3dpp ‘以下请照抄。
.Windowed = True ‘不全屏。
.SwapEffect = Direct3D.SwapEffect.Discard ’双缓冲交换效果。请百度“双缓冲”
.BackBufferFormat = Direct3D.Format.Unknown
.EnableAutoDepthStencil = True ’让DX自动管理深度缓冲
.AutoDepthStencilFormat = Direct3D.DepthFormat.D16
End With
MyDevice = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, Direct3D.CreateFlags.HardwareVertexProcessing, d3dpp) '创建DX设备啦!以下两句请照抄。
MyDevice.SetRenderState(Direct3D.RenderStates.ZEnable, True) ‘Z缓冲
MyDevice.SetRenderState(Direct3D.RenderStates.NormalizeNormals, True)'法线归一化,请看相关数学书籍。
End Sub
Public Sub RestoreDeviceObjects()
Dim PlaneIB() As Short = {0, 1, 3, 0, 2, 3} ’顶点索引信息。
Dim AttrTable(1) As Direct3D.AttributeRange ‘顶点分组属性表
AttrTable(0).AttributeId = 0
AttrTable(0).FaceStart = 0
AttrTable(0).FaceCount = 2 ’有两个三角形
AttrTable(0).VertexStart = 0
AttrTable(0).VertexCount = 4 ‘四个点
‘顶点坐标信息。
VBPlane(0) = New Direct3D.CustomVertex.PositionNormalTextured(-500, -500, 0, 0, 0, 1, 0, 0)
VBPlane(1) = New Direct3D.CustomVertex.PositionNormalTextured(500, -500, 0, 0, 0, 1, 1, 0)
VBPlane(2) = New Direct3D.CustomVertex.PositionNormalTextured(-500, 500, 0, 0, 0, 1, 0, 1)
VBPlane(3) = New Direct3D.CustomVertex.PositionNormalTextured(500, 500, 0, 0, 0, 1, 1, 1)
MyPlane = New Direct3D.Mesh(2, 4, Direct3D.MeshFlags.Managed, Direct3D.VertexFormats.Position + Direct3D.VertexFormats.Normal + Direct3D.VertexFormats.Texture1, MyDevice) ’创建物体
MyPlane.SetVertexBufferData(VBPlane, Direct3D.LockFlags.None) ‘输入顶点坐标数据
MyPlane.SetIndexBufferData(PlaneIB, Direct3D.LockFlags.None) ‘输入索引数据
MyPlane.SetAttributeTable(AttrTable) ‘输入顶点分组属性表
End Sub
Public Sub Render() ‘调用它画图
Dim vlook As New Vector3(1, 0, 0)
Dim vPos As New Vector3(0,0,0)
Dim vUp As New Vector3(0, 0, 1)
MatView = Matrix.LookAtLH(vPos, vlook, vUp) ‘计算摄像机位置矩阵
Device.SetTransform(Direct3D.TransformType.View, MatView) ‘设置当前摄像机位置矩阵为MatView。
Dim fAspect As Single = Me.Width / Me.Height ’窗口长宽比
matProj = Matrix.PerspectiveFovLH(Math.PI / 4, fAspect, 1.0F, 10001) ‘计算透视矩阵MatProj。
MyDevice.SetTransform(Direct3D.TransformType.Projection, matProj) ‘设置当前透视矩阵为MatProj。
MyDevice.Clear(Direct3D.ClearFlags.Target + Direct3D.ClearFlags.ZBuffer, Color.Blue, 1.0F, 0) ’先刷蓝屏
MyDevice.BeginScene() ‘开始画
MatWorld = Matrix.Identity ’物体位于原点,不旋转
Device.SetTransform(Direct3D.TransformType.World, MatWorld) ’设置物体位置
Me.Mesh.DrawSubset(0) ‘画物体
MyDevice.EndScene() ’结束
MyDevice.Present() ‘显示在屏幕上
End Sub
Public Sub DeleteDeviceObjects() ’结束程序时放掉资源
MyPlane.Dispose()
MyDevice.Dispose()
End Sub
#End Region
Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
DeleteDeviceObjects()
Windows.Forms.Cursor.Show()
End Sub
Private Sub FormMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitDeviceObjects()
RestoreDeviceObjects()
Windows.Forms.Cursor.Hide()
Render()
End Sub
End Class
VB点虐 开发C/S产品功能如何
呵呵
我给你个资料 你看看 至于你的问题 网上争议太多
我不发表任何看法!嘿嘿!
=========================================
Visual Basic .NET
Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB点虐 对VB的向后兼容性不好,在业界引起不小的争议。
大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页
1 目前版本
2005年9月以来,存在三种不同版本的Visual Basic .NET.
1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB点虐 版本。C#被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加。
2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。
3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点:
A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复。
B, Design-time expression evaluation
C, My伪命名空间,提供了访问.NET Framework特定域的不需大量编码的简单方式;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码,可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发
上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来。参见:
使用My开发
通过My命名空间访问.NET Framework 和项目
Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距。
A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用)。
B, XML注释,可以被NDoc等工具处理而自动生成文档
C, operator overloading
D, 支持在其它语言中已经广泛使用的unsigned integer数据类型。
E, 支持在许多C衍生编程语言已提供的复合操作符如:"+=", "-="
4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司)。
5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能。另外,VS Express版包括了VB6.0转换器,提供了从VB老版本升级的可行方法。
2 和VB的关系
VB点虐 是否该被看作VB的新版本或者是另一个完全不同的语言尚在争议中。虽然并非显而易见,但只要某个方法被弃用,它就会可会被自动转换,这说明了该语言的句法并没有出现很多突破性的变化,只是增加了对新功能的支持,比如结构化意外处理机制和短循环表达式(structured exception handling and short circuited expressions)。有一种变化会让旧用户迷惑:Integer和Long数据类型在长度上分别倍增。16位的 integer 在VB.NET中被认为是Short,而Integer和Long分别是32位和64位。同样,Windows Forms GUI编辑器和VB Form 编辑器在外观和功能上非常相似。
出现巨大变化的是语意,从运行于基于COM的deterministic, reference-counted的引擎之上的编程环境,转变为全面面向对象的基于.NET Framework的语言。.NET Framework包括了CLR (使用通用垃圾收集机制和JIT编译引擎的虚拟机)和大量的类库。VB开发者进入VB.NET要面对新增的大量类库的问题,虽然这在VS 2005的My 功能中已有所阐述。
上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。
1, 比较样例:
两个例子都弹出"Hello,World"并带OK按钮的信息框,它们显示了VB和VB.Net在句法上的相似。
VB:
Private Sub Command1_Click()
MsgBox "Hello, World"
End Sub
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Hello, World")
End Sub
注意,VB.NET中的所有过程调用都必须加圆括号,而VB6中只有调用函数或者VB6中使用Call来调用过程时
才需要加圆括号,
另外,Command1和Button1并非必须,只是VB和VB.NET系统自动默认的控件名。
两个例子都卸载活动窗口,它们显示了VB和VB.Net在句法上的不同。
VB:
Private Sub cmdClose_Click()
Unload Me
End Sub
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
Me.Close()
End Sub
2, 争议:许多资深的VB程序员抱怨VB.NET,因为VB.NET 2002丢掉了许多不再发行的VB6中使用的大量语言constructs和用户界面功能,并且对保留下来的东西也改变了语意。例如,在VB.NET参数默认是以值方式传递的,而不是以引用方式。VB.NET 2002被半嘲讽半认真地称为Visual Fred或VBDOTNOT。作为对2005-03-08微软拒绝为VB6再提供维护与支持的回应,当月月底出现了反对者的请愿(petition)
VB.NET的支持者们认为新语言在很多方面比旧版本更为强大,比如它以相比早期版本更为自然、紧密和完全的方式地加入了现代面向对象的编程范式。反对者们有不同意见,虽然VB6对对象模型支持有缺点,但是二次开发升级到VB.NET 的成本比升级后的收益要高得多。而开发软件发布因特网版本的独立程序员也对VB.NET的RunTime尺寸过大不满。
相对编译成机器码的语言,编译成MSIL的语言包括VB.NET比较容易被反编译。
微软提供了VB到VB.NET的自动转换器,虽几经改进,但仍无法转换全部代码,几乎所有非小型程序都需要人工修改以完成编译。为了运行优化,大多程序需要大量工作去重构。
主要是进行演算的VB程序自然会更容易升迁,但是采用了以下功能,如数据库支持,图形, unmanaged operations,或者在安装启用明细方面都很麻烦。不幸的是,这些恰好是许多商业应用的核心。
另外,Win98及其以上的系统就自带了VB6的运行时(RunTime)库,而VB.NET需要安装大得多的.NET Framework。除了 Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition and Windows Server 2003有自带.NET Framework,其它版本需要另外安装,这对用户和程序员都不方便。
针对开发者的不满,微软主要做了如下努力:使新的开发更容易启动,而把已开发的VB6代码升级到VB.NET。他们的最新成果可以从这里看到: , 那里文章和源码例子主要包括:完成VB6中的常见任务如打印预览;整合VB6和VB.NET解决方案(dubbed VB Fusion),从VB6 代码转换到 VB.NET。
3 跨平台和开源的开发
目前和C#相比,针对VB.NET开发的开源工具发展得比较慢,虽然MONO开发平台提供了一个VB.NET特性库(VB.NET-specific libraries)并着手研发一个编译器和Windows Forms GUI 库.
4 VB革命
VB1.0于1991年发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的
4.1 时间线
* 1991年4月,Visual Basic 1.0 Windows版本发布
* 1992年9月,Visual Basic 1.0 DOS版本发布。
* 1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
* 1993年夏天,VB3.0发布,分为标准版和专业版。其中包含一个数据引擎,可以直接读取Access数据库。
* 1995年8月,VB4.0发布了32位版本和16位的版本。其中包含了对类的支持。
* 1997年2月,VB5.0发布。程序员可以用32位的版本导入由4.0版本创建的16位程序,并且能顺利编译。同时还包含了对用户自建控件的支持。
* 1998年夏天,VB6.0发布。
* 2001年,Visual Basic.NET和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB的程序员都要改写程序。
* 2003年,Visual Basic.NET 2003和.NET Framework 1.1发布。
* 2004年,微软发布了Visual Studio 2005的测试版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
* 2005年,微软宣布将不会再对非.NET版本的VB进行支持。VB社群立即作出反应表示关心这个消息,一些老用户还递交了希望能够继续对VB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。
* 2005年11月7日,Visual Studio 2005正式发布。
5 加减乘除的程序
5.1 使用指定的值下执行指定运算
例子1:程序中只利用一个按纽及清单进行指定的值下执行指定运算 例子中:增设以下的图形工具
图形工具 缺省名称 更改名称 属性 颢示文字
---------------- ---------------------
按纽 buton1 btn1 text 计算器
颢示清单 lstbox1 lst1 text
---------------------------------------
设定名称 设定属性
----------------
N1 double
N2 double
N3 double
answer double
设定宣告属性 指出不同的值代替数字N1,N2,N3 及answer
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim N1, N2, N3, answer As Double
N1= 4000
N2= 9
N3= 5
answer = (N1/ (N2- N3))
Lst1.Items.Add(answer)
end sub
解释:
第一列 - 为btn1按纽对系统VB的宣告(VB.NET程序中已提供的)
第二列 - 为对代数N1,N2,N3 及answer 进行的多重宣告(这例子指派代数为Double数字
一定要使用数字若有小数会同时颢示小数)
值得一提的是使用( , )来宣实是一种懒的做法,最正确的是
Dim N1 as double
Dim N2 as double
Dim N3 as double
Dim answer as double
一列一列地宣告一次
但是小程序可以这样做,当程序过大时会建议用懒的做法
第三列 - 当N1 是 4000
第四列 - 当N2 是 9
第五列 - 当N3 是 5
第六列 - 同时 answer = (N1/ (N2- N3))的数学运算
第七列 - 因此清单上会颢示运算答案
第八列 - 程序结束(这个按纽btn1)
以上一最简单的罗缉运算,也是VISUAL BASIC 发展的关键 最后以上的宣告方法也可以通用于VB版本中
5.2 轮入指定的值下执行指定运算
例子2:在表单上先轮入一个或以上的值数值再进行运算。 方法:1.与上例相同增加以上述图形工具 2.增设以下的图形工具
图形工具 缺省名称 更改名称 属性 颢示文字
----------------------------------------
文字盒 textbox1 txt1 text 0
文字盒 textbox2 txt2 text 0
文字盒 textbox3 txt3 text 0
----------------------------------------
设定与上例的相同宣告属性
设定名称 设定属性
------------------
N1 double
N2 double
N3 double
answer double
-----------------
注意:只颢示由第三列至第七列的改变
注意:例子注解将使用( ' )取代,此符号旨可使用于Visual Basice的版本中作为注解,程序将不理会内函的内容。
N1= txt1.text '指示txt1的内容被n1所暂代
N2= txt2.text '指示txt2的内容被n2所暂代
N3= txt3.text '指示txt3的内容被n3所暂代
answer = (N1/ (N2- N3)) '相同的除数及淢数
Lst1.Items.Add(answer) '计算后将颢示在清单上
注意1:(txt1, txt2, txt3)后的.text是指把被颢示的内函的值文字或数字(但不包函符*号或特殊字)的设定。
注意2:(当使用者不想使用清单作颢示时,而想用文字盒作为替代,那麽我们进行以下的改动
假设我们使用例1进行修改时
步骤1.增设以下图形工具 -
图形工具 缺省名称 更改名称 属性 颢示文字
----------------------------------------
文字盒 textbox4 txt4 text 0
步骤2删除 - 把设计版面中的清单中(lst1)中清除 步骤3删除 - 把程序码中第六行的Lst1.Items.Add(answer)清除. 步骤4更改程序码 - 在被清除的同一行中加入:txt1.text = answer
6 设定指定的文字及显示在清单上
7 Format String
8 For Loop
9 if Then Else
10 宣告类别
Double浮点数 String字串 integer整数 long长整数
11 Data Base
开放分类:
网络、编程语言、计算机、微软、.NET
文章标题:vb点虐 免费开发 vb开发app
文章分享:http://cdiso.cn/article/ddeojej.html