VB和VB.NET比較案例
VB經過長時間的發(fā)展,現(xiàn)在大部分人都用VB.NET了,接到一個寫模擬系統(tǒng)接口的任務,預備先簡單的實現(xiàn)他,就用VB,傳統(tǒng)的讀出寫入就好,隨便寫了一個例子,之后用vb.net升級了一下。原VB情況如下,2個btn,一個是打開文件,把內容讀到一個txt1,一個btn,做一個簡單的移位加密,把加密之后的內容讀到txt2 ,頁面上放了一個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
當然,這個加密是有問題的,對于解密來說,w,x,y,z等字母將無法解密,因為不是搞這個,且不去管他
因為是傳統(tǒng)的文件讀寫,預計vb.net的變化不大,經過升級
果然如此
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
仔細看看,首先.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比較總結:這里可以看出,.neT處理整型來得更加嚴格
我測試了一下,去掉老的commanddialog換上新的openfiledialog沒有問題向來savefiledialog也是一樣的
【編輯推薦】