VB和VB.NET比较案例

VB经过长时间的发展,现在大部分人都用VB.NET了,接到一个写模拟系统接口的任务,预备先简单的实现他,就用VB,传统的读出写入就好,随便写了一个例子,之后用vb.net升级了一下。原VB情况如下,2个btn,一个是打开文件,把内容读到一个txt1,一个btn,做一个简单的移位加密,把加密之后的内容读到txt2 ,页面上放了一个commanddialog

VB和VB.NET比较代码如下:

 
 
 
  1. PrivateSubcmdopenfile_Click()  
  2. cdlfile.ShowOpen  
  3. Ifcdlfile.FileName<>vbNullStringThen  
  4. TxtSource.Text=vbNullString 
  5. Opencdlfile.FileNameForInputAs#1  
  6. DoUntilEOF(1)  
  7. LineInput#1,strline  
  8. TxtSourceTxtSource.Text=TxtSource.Text+strline+vbCrLf  
  9. Loop  
  10. Close#1  
  11. EndIf  
  12. EndSub  
  13.  
  14. PrivateSubcmdsavefile_Click()  
  15. cdlfile.ShowSave  
  16. Ifcdlfile.FileName<>vbNullStringThen  
  17. Opencdlfile.FileNameForOutputAs#1  
  18. Print#1,TxtTarget.Text  
  19. Close#1  
  20. EndIf  
  21. EndSub  

加密为:

 
 
 
  1. PrivateSubcmdcode_Click()  
  2. strSouce=TxtSource.Text  
  3. strTarget=vbNullString 
  4. intLength=Len(Trim(strSouce))  
  5. Fori=1TointLength 
  6. strtemp=Mid(strSouce,i,1)  
  7. If(strtemp>="A"Andstrtemp<="Z"Orstrtemp>="a"Andstrtemp<="z")Then  
  8. strtemp=Chr(Asc(strtemp)+5)  
  9. EndIf  
  10. strTargetstrTarget=strTarget+strtemp  
  11. Nexti  
  12. TxtTarget.Text=strTarget 
  13. EndSub 

当然,这个加密是有问题的,对于解密来说,w,x,y,z等字母将无法解密,因为不是搞这个,且不去管他

因为是传统的文件读写,预计vb.net的变化不大,经过升级
果然如此

VB和VB.NET比较升级过后的代码

 
 
 
  1. PrivateSubcmdopenfile_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdopenfile.Click  
  2. cdlfile.ShowOpen()  
  3. 'OpenFileDialog1.ShowDialog()  
  4. Ifcdlfile.FileName<>vbNullStringThen  
  5. TxtSource.Text=vbNullString 
  6. FileOpen(1,cdlfile.FileName,OpenMode.Input)  
  7. DoUntilEOF(1)  
  8. strline=LineInput(1)  
  9. TxtSourceTxtSource.Text=TxtSource.Text+strline+vbCrLf  
  10. Loop  
  11. FileClose(1)  
  12. EndIf  
  13. EndSub 

仔细看看,首先.net兼容原来的commanddialog控件,open语句有所变化,close也变化了

 
 
 
  1. PrivateSubcmdsavefile_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdsavefile.Click  
  2. cdlfile.ShowSave()  
  3. Ifcdlfile.FileName<>vbNullStringThen  
  4. FileOpen(1,cdlfile.FileName,OpenMode.Output)  
  5. PrintLine(1,TxtTarget.Text)  
  6. FileClose(1)  
  7. EndIf  
  8. EndSub 

加密部分

 
 
 
  1. PrivateSubcmdcode_Click(ByValeventSenderAsSystem.Object,ByValeventArgsAsSystem.EventArgs)Handlescmdcode.Click  
  2. strSouce=TxtSource.Text  
  3. strTarget=vbNullString 
  4. intLength=CStr(Len(Trim(strSouce)))  
  5. Fori=1ToCInt(intLength)  
  6. strtemp=Mid(strSouce,i,1)  
  7. If(strtemp>="A"Andstrtemp<="Z"Orstrtemp>="a"Andstrtemp<="z")Then  
  8. strtemp=Chr(Asc(strtemp)+5)  
  9. EndIf  
  10. strTargetstrTarget=strTarget&strtemp  
  11. Nexti  
  12. TxtTarget.Text=strTarget 
  13. EndSub 

VB和VB.NET比较总结:这里可以看出,.neT处理整型来得更加严格

我测试了一下,去掉老的commanddialog换上新的openfiledialog没有问题向来savefiledialog也是一样的

【编辑推荐】

  1. 迅速掌握VB.NET Shared变量技能
  2. 代码演示VB.NET DES加密解析
  3. 事例讲解VB.NET Constructor函式
  4. 剖析VB.NET写Object Oriented编程
  5. 全面讲解VB.NET调用Web Service
THE END