扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
有VB 基础的话 我觉得你学C#比较合适 ,我接触编程的时候也是用VB6.0 现在 一直使用C# VB.NET 感觉没那么方便
成都创新互联为客户提供专业的做网站、网站制作、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、成都做手机网站等网站方面业务。
VB是一门比较容易入门的语言,也非常适合新手学习编程思想的工具。
1.学习VB首先得有微软公司的Vb6.0 或者Vb.net,后者是完全面向对象的,如果没有任何编程经验可以从前者学起,网上有的下载Vb6.0企业版。
2.然后有了工具,就要开始真正练习开发,一般找一本入门的书籍,按照步骤先体验一下编程的感觉,写个经典的"Hello World!"程序。
3.最重要的就是要理解一些概念,声明、定义、变量、函数(方法)、控件、进程、线程,如果是面向对象的学习还会涉及到类、接口、继承、实现等等名词,单独去看这些概念会摸不着头脑,还是要结合实例去体会这些词语的意思。
4.有了一定概念之后,再去看程序怎么写就比较清楚了,慢慢的会越来越熟练的运用一些基本的模块和方法,进而融入自己的思想,从模仿开始,照着书上或者网友的方法做,运行成功,然后自己试着改几个参数或者调整语句的顺序,来了解这个功能实现的原理。
5.最后,已经入了门了,也就是说不再是0基础,已经能独立开发一些小应用,就可以去看更高级的编程方法,或者学习现在比较流行的Java,C#,Vb.net等比较优雅的面向对象的程序。
你得先补基础。
最好去学校,找计算机系的学生,抄下专业专业课程和对应的课本(说不定顺便能讨些旧课本),卖齐这些课本(一般学校里面就有书店)慢慢学。
(以下课程不全)
至少需要读一遍的:计算机导论、程序设计基础、软件工程、编译原理
重点学习的:算法与数据结构、面向对象程序设计
还有VB.Net需要一定的基础,建议先从 C++ 或 VB(版本6.0)入门
不用心情不好。
vb.net与vb是完全不同的两个东西,除了名字类似,基本语法一样之外,其他的如编程思想,编程模型,技术等等完全是全新的东西。
同样地,asp.net也与asp几乎没有任何相似之外,也没有什么血缘关系。而且出乎很多人的意料的是,asp.net不是用basic语法,而是采用了 C# 等.net语言的语法,其编程模型和原理也完全不同。
vb.net是.net框的新开发工具。而.net是windows的下一代api战略标准。
在.net平台上,可以开发多种不同的应用程序,如windows form程序(如VB的那种),web程序,windows服务……
在.net上有多种不同的语言可以用于开发。这所有类型的应用,都可以任何一种语言进行开发。而其中最推荐的,不是vb,而是C#.
建议尽早改学C#,因为C#是为了.net平台而原生设计的新语言,语法也简洁。C#的语法与java的语法有很多相似之处。
C#里的一切都是对象。控件也是对象的一种。
不要看中国人的书,都太功利,什么几步学会,什么快速入门什么的,光是安装截屏就占100多页,却很少从原理上讲解。
你可以找一本外国人写的书看,考虑到你之前学用vb6, 而vb6的对象观念比较不强,因此估计你对OOP思想需要进一步理解掌握,因此你在选书时,一定要有基本的OOP思想的详细讲解的章节,这样你才能真正掌握最新一代的开发思想。
最后,关于你说的那几个问题:
类:类型,可以有很多属性。如“人类”,
对象:一个类的实例。如“张三”这个人。
属性当然也是属于一种类型,在.net里,也就是说属性也是某个类的一个对象。比如:“人类”有个属性叫“爸爸”,很显然,“爸爸”的类型也是“人类”。
于是,“张三”的“爸爸”属性是“张老三”这个人(另一个人类对象)。
Location是TextBox1这个控件(控件也是对象)的一个属性,这个属性的类型是Point.
因此,你如果要为TextBox来定义位置,就要用:
TextBox1.Location = new Point(100,100);
就是说,新建一个Point类型的对象,然后把这个对象赋值给TextBox1的location属性。
简单来说,OOP可以与现实世界做一个类比,很容易理解的。
Dim tab1 As String
Dim DS As New DataSet
Dim SqlStr As String
Dim DTS_A As New DataGridTableStyle
Dim Col_A1, Col_A2, Col_A3 As New DataGridTextBoxColumn
Dim Col_bo As New DataGridBoolColumn
'DS.Tables("tab1").Columns.Add("check", System.Type.GetType("System.Boolean"))
'DS.Tables("tab1").Columns("check").DefaultValue = False
Dim Col_A() As DataGridColumnStyle = {Col_bo, Col_A1, Col_A2, Col_A3}
'主窗口
Private Sub fICitem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ProgressBar1.Hide()
grdStyles("tab1")
SQLConn(conn)
Dim i As Integer
'Dim arr As New ArrayList
SqlStr = "SELECT ID, diqu, dname FROM a_diqu Order by ID"
If Not SQLFill(conn, DA, DS, SqlStr, "diqu") Then
MsgBox("服务器连接失败")
Else
Dim dr As DataRow
For Each dr In DS.Tables("diqu").Rows
'arr.Add(dr("diqu") "." dr("dname"))
cmbDiqu.Items.Add(dr("diqu") "." dr("dname"))
Next
End If
'cmbDiqu.DataSource = arr
cmbDiqu.SelectedIndex = -1
cmbDiqu.Text = ""
End Sub
'DataGrid格式
Private Sub grdStyles(ByVal tab As String)
Dim ii1 As Integer
Dim DTS_A1() As String = {"check", "fshortnumber", "fnumber", "fplanprice"}
Dim DTS_A2() As String = {"检查框", "货号", "上市月份", "单价"}
Dim DTS_A3() As Integer = {50, 120, 120, 120} '长度
Dim DTS_A4() As Integer = {2, 0, 2, 1} '对齐方式
DTS_A.MappingName = tab
DTS_A.GridColumnStyles.Clear()
DTS_A.AllowSorting = True
DTS_A.ReadOnly = True
DTS_A.BackColor = Color.DarkGray
DTS_A.AlternatingBackColor = Color.LightGray
For ii1 = 0 To DTS_A1.Length - 1
Col_A(ii1).MappingName = DTS_A1(ii1)
Col_A(ii1).HeaderText = DTS_A2(ii1)
Col_A(ii1).Width = DTS_A3(ii1)
Col_A(ii1).NullText = ""
Col_A(ii1).Alignment = DTS_A4(ii1)
Next
DTS_A.GridColumnStyles.AddRange(Col_A)
grdItem.TableStyles.Add(DTS_A)
grdItem.ReadOnly = True
End Sub
Private Sub fICitem_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
SQLClose(conn)
End Sub
'显示表单
Private Sub Show1()
grdStyles("tab1")
txtNum.Text = Trim(txtNum.Text)
grdItem.DataSource = Nothing
SQLStr = "select * from t_icitem_new"
SQLStr = " where fshortnumber like '" txtNum.Text "%'"
SQLStr = " order by fshortnumber"
SQLFill(conn, DA, DS, SQLStr, tab1)
grdItem.CaptionText = "货号资料"
grdItem.DataSource = DS.Tables(tab1)
ShowRow()
End Sub
'数据同步显示
Private Sub ShowRow()
Dim dr As DataRow
If DS.Tables(tab1).Rows.Count 0 Then
If grdItem.CurrentRowIndex DS.Tables(tab1).Rows.Count Then
grdItem.CaptionText = grdItem.CurrentRowIndex + 1 "/" DS.Tables(tab1).Rows.Count
dr = DS.Tables(tab1).Rows(grdItem.CurrentRowIndex)
txtNum.Text = dr.Item("fshortnumber")
txtPrice.Text = dr.Item("fplanprice")
cmbMonth.Text = dr.Item("fnumber")
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If
End Sub
Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub
'鼠标选定行
Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub
Private Sub btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnSelect.Click, btnUpdate.Click, btnInsert.Click, btnDelete.Click
Select Case sender.name
Case "btnSelect" '查询
Show1()
Case "btnUpdate" '修改
SUpdate()
Case "btnInsert" '新增
SInsert()
Case "btnDelete" '删除
SDelete()
End Select
End Sub
'修改
Private Sub SUpdate()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定更新?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
SQLStr = "UPDATE t_icitem_new SET "
SQLStr = "fnumber='" cmbMonth.SelectedItem "', "
SQLStr = "fplanprice='" txtPrice.Text "' "
SQLStr = "WHERE fshortnumber='" txtNum.Text "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,更新失败:(")
End If
Show1()
End If
End Sub
'新增
Private Sub SInsert()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定新增?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
SQLStr = "SELECT fshortnumber "
SQLStr = "FROM t_icitem_new "
SQLStr = "WHERE fshortnumber = '" txtNum.Text "' "
SQLFill(conn, DA, DS, SQLStr, "Tmp")
If DS.Tables("Tmp").Rows.Count = 0 Then '如果没有资料则新增
SQLStr = "INSERT INTO t_icitem_new (fshortnumber,fnumber,fplanprice) VALUES("
SQLStr = "'" txtNum.Text "', "
SQLStr = "'" cmbMonth.SelectedItem "', "
SQLStr = "'" txtPrice.Text "')"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,新增失败:(")
End If
Show1()
Else
MsgBox("资料已存在")
End If
End If
End Sub
'删除
Private Sub SDelete()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定删除" txtNum.Text "?", MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2) = MsgBoxResult.Yes Then
SQLStr = "DELETE FROM t_icitem_new "
SQLStr = "WHERE fshortnumber='" txtNum.Text "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,删除失败:(")
End If
Show1()
End If
'键盘顺序
Private Sub txt_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles txtFshop.KeyDown, txtItem.KeyDown
Select Case e.KeyCode
Case Keys.Return
SendKeys.Send("{TAB}")
Case Keys.Right
SendKeys.Send("{TAB}")
Case Keys.Left
SendKeys.Send("+{TAB}")
Case Keys.Down
SendKeys.Send("{TAB 10}")
Case Keys.Up
SendKeys.Send("+{TAB 10}")
End Select
End Sub
弟你好:
我是在微软做教材的员工,据我了解学习.NET入门并不难。如果你了解JAVA这门语言,那么学习会很轻松。如果没有接触过面向对象编程可能就要麻烦一点点。大概也就是1个月左右便可以入门。因为基本上你要是学习VB.NET的话,除了部分语法可以借鉴老的VB,其他基本都要抛弃。但是不会很困难。最重要的就是理解.NET运行原理,掌握语法和部分常用类库就可以了。
看你所述你似乎想要做网站。市场行情来看,人家免费论坛都已经发布源码很多了,无论是ASP还是.NET开发,都变得非常容易。如果想从这方面就业,前景也不是很乐观。其实如果不是很麻烦的网站,微软OFFICE组件中的SharePoint Server就可以完全满足要求。根本不需要懂多少编程。
如果想从事工作,还是推荐学习VS.NET 2005和SQL Server 2005。
以上是哥哥的愚见,希望对你有所帮助
求采纳为满意回答。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流