一个汇编指令查询程序的Visual Basic源码

先唾骂一下现在的教程:

很多程序设计的教程VB/VC/汇编等等,千篇一律

从一开始 数据类型 语句 函数 ... 完全是机械式的教程,一点灵活性都没有

我们学习了编程语言做什么,当然是编程,编程用什么?最后还是程序

在介绍语言的时候如果没有介绍使用环境和具体的方法,这个教程是死教程!

对考试这种鸟事情还可以,对于要使用它的人,就是粪土

Visual Basic 是很容易用很容易学的语言,虽然满世界都是VB的菜鸟

VB的教程相对不错的,可以这么说,可视化程序设计,VB是始祖龙头了

VC++我只见过 电子工业出版社 的 Visual C++使用教程做的比较

基础,比较通俗易懂,写得想秘籍一样还叫什么教程.

近期接触到**的事情比较多,本人汇编的水平像小孩摸鱼,到处乱抓于是写了个小程序

方便自己查询汇编语言的指令,使用VB6和Access数据库

源代码和数据可以在我的****下载,当然数据是要分分的,源码倒是不用,呵呵

因为我只写了查询的部分,添加,修改的我都没写,感觉没多少必要

窗体:frmMain

文本框:一次下来txtDataBase txtOperater txtExpress txtExplain

组合框:cmbClass

ADODC:Adodc

一个汇编指令查询程序的Visual Basic源码

其余的详见工程源码

Option Explicit Private Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long Private Const SB_VERT = 1 Private Const strEngine As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Private Const strInfo As String = ";Persist Security Info=False" Private strOperater() As String Private Sub cmdQuery_Click() Dim i As Integer With Adodc .ConnectionString = strEngine & txtDataBase.Text & strInfo '.CommandType = adCmdText .RecordSource = "Select * From 80X86 Where [Operater] = '" & txtOperater.Text & "'" .Refresh End With For i = 0 To cmbClass.ListCount - 1 If cmbClass.List(i) = Adodc.Recordset.Fields("Classify") Then cmbClass.ListIndex = i Exit For End If Next i End Sub Private Sub Form_Load() txtDataBase.Text = App.Path & "/Data/Assemble.mdb" On Error GoTo ErrHandle If Dir(txtDataBase.Text) = "" Then MsgBox "默认数据库不存在,请重新输入后点 数据库 连接!", vbExclamation Exit Sub End If Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim s As String, i As Integer s = strEngine & txtDataBase.Text & strInfo cnn.Open s rs.Open "SELECT * FROM 80X86 ORDER BY [Classify]", cnn, 1, 3 If rs.RecordCount = 0 Then MsgBox "数据库中没有数据!", vbExclamation: Exit Sub rs.MoveFirst Do While Not rs.EOF If cmbClass.List(cmbClass.ListCount - 1) <> rs.Fields("Classify") Then cmbClass.AddItem rs.Fields("Classify") 'cmbClass.Refresh End If ReDim Preserve strOperater(i) strOperater(i) = rs.Fields("Operater") i = i + 1 rs.MoveNext Loop rs.Close Set rs = Nothing Set cnn = Nothing With Adodc .ConnectionString = s .BOFAction = adStayBOF .EOFAction = adStayEOF '.CommandType = adCmdText .RecordSource = "Select * From 80X86 Order By [Operater]" .Refresh End With Set txtOperater.DataSource = Adodc Set txtExpress.DataSource = Adodc Set txtExplain.DataSource = Adodc cmdQuery_Click Exit Sub ErrHandle: Set rs = Nothing Set cnn = Nothing Err.Clear End Sub Private Sub txtExplain_Change() If TextHeight(txtExplain.Text) > txtExplain.Height Then ShowScrollBar txtExplain.hwnd, SB_VERT, True Else ShowScrollBar txtExplain.hwnd, SB_VERT, False End If End Sub Private Sub txtOperater_KeyUp(KeyCode As Integer, Shift As Integer) Dim i As Integer For i = 0 To UBound(strOperater) If strOperater(i) = txtOperater.Text Then Exit For Next i If KeyCode = vbKeyUp Then If i > 0 Then txtOperater.Text = strOperater(i - 1) ElseIf KeyCode = vbKeyDown Then If i < UBound(strOperater) Then txtOperater.Text = strOperater(i + 1) End If cmdQuery_Click End Sub

有些指令确实怪诞,以后会写几篇关于VB和VC代码的区别,讨论讨论代码效率的底层原因!