VB经过长时间的发展,现在大部分人都用VB.NET了,接到一个写模拟系统接口的任务,预备先简单的实现他,就用VB,传统的读出写入就好,随便写了一个例子,之后用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等字母将无法解密,因为不是搞这个,且不去管他
因为是传统的文件读写,预计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也是一样的
【编辑推荐】