• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
VB问题全功略(上)
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
VB问题全功略(上)
软件发布 VB问题全功略(上)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> VB问题全功略(上)

VB问题全功略(上)

添加时间: 2006-2-15 3:35:02  作者: VB教程  阅读次数:83   来源: http://www.d9soft.com

       

  注释:下面的函数可以去掉文中多余的回车和空行,可以对付非常规的字符(以0Ah作为回车,而不是0Dh,0Ah)

  Private Function FormatStr(strReadyToFormat As String) As String

  Dim strTemp() As String

  Dim strReady As String

  Dim nPos As Long

  Dim i As Long

  On Error Resume Next

  Do

  DoEvents

  注释:有的文件以0Ah作为回车换行标志

  nPos = InStr(1, strReadyToFormat, Chr(10), vbBinaryCompare)

  注释:找到0AH后,表示准备另起一行,先将之前的字符0Dh取出(如果有的话),0Dh表示回车

  strReady = Left(strReadyToFormat, nPos - 1)

  注释:如果前面有0DH,全部去掉

  Do While Asc(Right(strReady, 1)) = 13

  strReady = Left(strReady, Len(strReady) - 1)

  If strReady = "" Then Exit Do

  Loop

  注释:检查是不是一个空行

  If Trim(strReady) <> "" Then

  注释:若是,则写入

  i = i + 1

  ReDim Preserve strTemp(i)

  strTemp(i) = strReady

  End If

  注释:去掉头部的字符串

  strReadyToFormat = Right(strReadyToFormat, Len(strReadyToFormat) - nPos)

  Loop Until nPos = 0 注释:继续向下找

  FormatStr = ""

  For i = 1 To UBound(strTemp)

  FormatStr = FormatStr + strTemp(i)

  Next

  End Function

  End Function  

  Dim TEXTlen As Integer

  Dim i As Integer

  Dim temp1 As String

  Dim temp2 As String

  Dim MyCreate As String

  Dim j As Integer

  Dim NextLine As String

  Command1.Enabled = False

  If List1.ListCount = 0 Then Exit Sub

  Form1.MousePointer = 11

  For j = 0 To List1.ListCount - 1

  Label2.Caption = "共 " & Str(List1.ListCount) & "个文件,正在修改第 " & Str(j + 1) & " 个文件。"

  注释:打开一个文件,input方式 #1

  Open List1.List(j) For Input As #1

  注释:打开一个文件,append文件 #2

  Open (App.Path & "\temp.tmp") For Append As #2

  Do Until EOF(1)

  注释:从#1读取一行

  Line Input #1, NextLine

  MyCreate = ""

  TEXTlen = Len(NextLine)

  For i = 1 To TEXTlen

  temp1 = Mid(NextLine, i, 1)

  If Asc(temp1) < 0 Then

  temp2 = Mid(NextLine, i + 1, 1)

  If temp2 <> " " Then

  temp1 = temp1 & " "

  End If

  End If

  MyCreate = MyCreate + temp1

  DoEvents

  Next

  Print #2, MyCreate

  注释:向#2写文件

  Loop

  Close #1

  Close #2

  FileCopy App.Path & "\temp.tmp", List1.List(j)

  Kill App.Path & "\temp.tmp"

  Next 注释:下一个文件

  Form1.MousePointer = 1

  MsgBox "文件已经成功修改!", vbOKOnly + vbInfoBackground, "恭喜!"

  If KeyCode = vbKeyF3 Then 注释:F3查找下一个

  注释:下面这个If块在查找下一个匹配字符时很有用

  If txtContext.SelStart = 0 Then 注释:光标位置在文本框最开头

  If txtContext.SelLength > 0 Then

  nPos = 2 注释:如果文本框中有被加亮的字符

  Else

  nPos = 1 注释:注释:如果文本框中没有被加亮的字符

  End If

  Else

  If txtContext.SelLength > 0 Then

  nPos = txtContext.SelStart + 2 注释:如果文本框中有被加亮的字符

  Else

  nPos = txtContext.SelStart + 1 注释:如果文本框中没有被加亮的字符

  End If

  End If

  nPos = InStr(nPos, txtContext.Text, FrmSearch.txtSearch.Text, vbTextCompare)

  If nPos = 0 Then Exit Sub 注释:nPos=0表示没有找到

  注释:加亮找到的字符串

  txtContext.SelStart = nPos - 1

  txtContext.SelLength = Len(FrmSearch.txtSearch.Text)  

  294、如何寻找并加亮找到的字符? 

  If KeyCode = vbKeyF3 Then 注释:F3查找下一个

  注释:下面这个If块在查找下一个匹配字符时很有用

  If txtContext.SelStart = 0 Then 注释:光标位置在文本框最开头

  If txtContext.SelLength > 0 Then

  nPos = 2 注释:如果文本框中有被加亮的字符

  Else

  nPos = 1 注释:注释:如果文本框中没有被加亮的字符

  End If

  Else

  If txtContext.SelLength > 0 Then

  nPos = txtContext.SelStart + 2 注释:如果文本框中有被加亮的字符

  Else

  nPos = txtContext.SelStart + 1 注释:如果文本框中没有被加亮的字符

  End If

  End If

  nPos = InStr(nPos, txtContext.Text, FrmSearch.txtSearch.Text, vbTextCompare)

  If nPos = 0 Then Exit Sub 注释:nPos=0表示没有找到

  注释:加亮找到的字符串

  txtContext.SelStart = nPos - 1

  txtContext.SelLength = Len(FrmSearch.txtSearch.Text)

  Public Function RemoveBackslash(s As String) As String

  Dim i As Integer

  i = Len(s)

  If i <> 0 Then

  If Right$(s, 1) = "\" Then

  RemoveBackslash = Left$(s, i - 1)

  Else

  RemoveBackslash = s

  End If

  Else

  RemoveBackslash = ""

  End If

  End Function  

  如何在程序中更改预设的打印机? 

  在上一个单元中,我们使用 Printer 物件来取得机器中预设打印机的机型、驱动程序及连接端口,那是否可以更改预设打印机呢?可以的,不过除了 Printer 物件之外,这次我们要多用一个 Printers 集合物件! 

  先来看一段程序码:  

  Private Sub Form_Load()

  注释:利用 Printers 集合物件取得所有打印机

  For i = 0 To Printers.Count - 1

  注释:在 Combo1 中依序加入打印机名称

  Combo1.AddItem Printers(i).DeviceName

  Next

  注释:将目前的预设打印机放在 Combo1.Text 中

  Combo1.Text = Printer.DeviceName

  End Sub  

  Private Sub Command1_Click()

  注释:未选择

  If Combo1.ListIndex = -1 Then

  MsgBox "打印机未更改,请先选择打印机!"

  Exit Sub

  End If

  注释:使用者选定之打印机设定为预设打印机

  Set Printer = Printers(Combo1.listindex)

  End Sub

  在这一段程序中,我们在 Form_Load 中先利用 Printers 集合物件找出所有的打印机名称,放在 Combo1 中,记得 Combo1 不可将 Sorted 设成 True,这样子的话,Combo1 的索引值 (Index) 便会和 Printers 集合物件的索引值 (Index) 相同!  

  使用者在 Combo1 中选定打印机后,在 Command1_Click 中,我们便可以将 Combo1 的索引值带入Printers 集合物件的索引值,重新设定新的预设打印机。  

  这样子的设定只有在程序中有效,程序结束后,预设打印机会恢复成原来的预设打印机!

 

上下文章:

 

上一篇文章: VB.NET中得到计算机硬件信息 下一篇文章: VB问题全功略(下)

相关文章:

  • 微软回避关于Windows7的七个问题
  • 从“番茄花园”看软件正版化问题
  • 七招解决Vista的加速与优化问题
  • 服务器虚拟机管理需注意的四大问题
  • CSS解决浏览器的等宽空格问题

相关软件:

  • 高中数学问题处理系统 V1.2
  • 电脑常见问题与故障1000例 详细讲解电脑常见故障 PDF
  • 软件网络疑难问题与技巧(CHM)
  • PERL常见问题解答(HTML)

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有