VB和VB.NET比較案例
VB經(jīng)過長時(shí)間的發(fā)展,現(xiàn)在大部分人都用VB.NET了,接到一個(gè)寫模擬系統(tǒng)接口的任務(wù),預(yù)備先簡單的實(shí)現(xiàn)他,就用VB,傳統(tǒng)的讀出寫入就好,隨便寫了一個(gè)例子,之后用vb.net升級了一下。原VB情況如下,2個(gè)btn,一個(gè)是打開文件,把內(nèi)容讀到一個(gè)txt1,一個(gè)btn,做一個(gè)簡單的移位加密,把加密之后的內(nèi)容讀到txt2 ,頁面上放了一個(gè)commanddialog
VB和VB.NET比較代碼如下:
- PrivateSubcmdopenfile_Click()
- cdlfile.ShowOpen
- Ifcdlfile.FileName<>vbNullStringThen
- TxtSource.Text=vbNullString
- Opencdlfile.FileNameForInputAs#1
- DoUntilEOF(1)
- LineInput#1,strline
- TxtSourceTxtSource.Text=TxtSource.Text+strline+vbCrLf
- Loop
- Close#1
- EndIf
- EndSub
- PrivateSubcmdsavefile_Click()
- cdlfile.ShowSave
- Ifcdlfile.FileName<>vbNullStringThen
- Opencdlfile.FileNameForOutputAs#1
- Print#1,TxtTarget.Text
- Close#1
- EndIf
- EndSub
加密為:
- PrivateSubcmdcode_Click()
- strSouce=TxtSource.Text
- strTarget=vbNullString
- intLength=Len(Trim(strSouce))
- Fori=1TointLength
- strtemp=Mid(strSouce,i,1)
- If(strtemp>="A"Andstrtemp<="Z"Orstrtemp>="a"Andstrtemp<="z")Then
- strtemp=Chr(Asc(strtemp)+5)
- EndIf
- strTargetstrTarget=strTarget+strtemp
- Nexti
- TxtTarget.Text=strTarget
- EndSub
當(dāng)然,這個(gè)加密是有問題的,對于解密來說,w,x,y,z等字母將無法解密,因?yàn)椴皇歉氵@個(gè),且不去管他
因?yàn)槭莻鹘y(tǒng)的文件讀寫,預(yù)計(jì)vb.net的變化不大,經(jīng)過升級
果然如此
VB和VB.NET比較升級過后的代碼
- PrivateSubcmdopenfile_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdopenfile.Click
- cdlfile.ShowOpen()
- 'OpenFileDialog1.ShowDialog()
- Ifcdlfile.FileName<>vbNullStringThen
- TxtSource.Text=vbNullString
- FileOpen(1,cdlfile.FileName,OpenMode.Input)
- DoUntilEOF(1)
- strline=LineInput(1)
- TxtSourceTxtSource.Text=TxtSource.Text+strline+vbCrLf
- Loop
- FileClose(1)
- EndIf
- EndSub
仔細(xì)看看,首先.net兼容原來的commanddialog控件,open語句有所變化,close也變化了
- PrivateSubcmdsavefile_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdsavefile.Click
- cdlfile.ShowSave()
- Ifcdlfile.FileName<>vbNullStringThen
- FileOpen(1,cdlfile.FileName,OpenMode.Output)
- PrintLine(1,TxtTarget.Text)
- FileClose(1)
- EndIf
- EndSub
加密部分
- PrivateSubcmdcode_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdcode.Click
- strSouce=TxtSource.Text
- strTarget=vbNullString
- intLength=CStr(Len(Trim(strSouce)))
- Fori=1ToCInt(intLength)
- strtemp=Mid(strSouce,i,1)
- If(strtemp>="A"Andstrtemp<="Z"Orstrtemp>="a"Andstrtemp<="z")Then
- strtemp=Chr(Asc(strtemp)+5)
- EndIf
- strTargetstrTarget=strTarget&strtemp
- Nexti
- TxtTarget.Text=strTarget
- EndSub
VB和VB.NET比較總結(jié):這里可以看出,.neT處理整型來得更加嚴(yán)格
我測試了一下,去掉老的commanddialog換上新的openfiledialog沒有問題向來savefiledialog也是一樣的
【編輯推薦】


















