上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
读取文件内容的简洁方法
作者:未知 申领版权
2010年11月14日 共有 849 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    读取文件内容的简洁方法
    
    
    
    读取text文件的最快方法是使用Input$函数,就象下面的过程:
    
    
    Function FileText (filename$) As String
    
    Dim handle As Integer
    
    handle = FreeFile
    
    Open filename$ For Input As #handle
    
    FileText = Input$(LOF(handle), handle)
    
    Close #handle
    
    End Function
    
    
    使用上述方法要比使用Input命令读取文件每一行的方法快很多。下面是应用这个函数读取Autoexec.bat的内容到多行textbox控件的例子:
    
    
    Text1.Text = FileText("c:\autoexec.bat")
    
    
    但请注意:当文件包含Ctrl-Z(EOF)字符时,上面的函数代码可能会发生错误。因此,要修改一下代码:
    
    
    Function FileText(ByVal filename As String) As String
    
    Dim handle As Integer
    
    
    ’ 判断文件存在性
    
    If Len(Dir$(filename)) = 0 Then
    
    Err.Raise 53 ’文件没有找到
    
    End If
    
    
    ’ 以binary模式打开文件
    
    handle = FreeFile
    
    Open filename$ For Binary As #handle
    
    ’ 读取内容,关闭文件
    
    FileText = Space$(LOF(handle))
    
    Get #handle, , FileText
    
    Close #handle
    
    End Function
    
    字体对象克隆招法
    
    
    
    当要应用一个控件的字体到另一控件时,最直接的方法就是直接赋值:
    
    
    Set Text2.Font = Text1.Font
    
    
    但多数情况下这种方法并不奏效,因为这实际上是将同一字体的引用分配给了2个控件。换言之,当随后修改其中之一控件的字体时,另外一个控件也受到影响。因此,要实现我们的目的,需要做的就是克隆字体对象并赋值给需要的控件。
    
    
    最简单的克隆字体的方法是手工地拷贝所有单独的字体属性,就象下面一样:
    
    
    Function CloneFont(Font As StdFont) As StdFont
    
    Set CloneFont = New StdFont
    
    CloneFont.Name = Font.Name
    
    CloneFont.Size = Font.Size
    
    CloneFont.Bold = Font.Bold
    
    CloneFont.Italic = Font.Italic
    
    CloneFont.Underline = Font.Underline
    
    CloneFont.Strikethrough = Font.Strikethrough
    
    End Function
    
    
    ’函数的应用
    
    Set Text2.Font = CloneFont(Text1.Font)
    
    
    如果使用VB6,就可以使用PropertyBag对象快速拷贝所有字体属性,并且代码会很简练、速度也快2倍:
    
    
    Function CloneFont(Font As StdFont) As StdFont
    
    Dim pb As New PropertyBag
    
    ’拷贝字体到PropertyBag对象中
    
    pb.WriteProperty "Font", Font
    
    ’恢复字体对象到新控件
    
    Set CloneFont = pb.ReadProperty("Font")
    
    End Function
    
    
    但是我们还能进一步地对代码进行优化,方法就是使用可被所有StdFont对象识别的隐藏IFont接口。这个接口具有一个Clone方法,用它就可以精确地实现我们的目的。它以非正常方式执行:创建一个克隆Font对象,然后返回相应的引用。这可能是实现克隆目的的最简洁代码了,而且,执行速度也是这里列举的3种方法中最快的一个,要比使用PropertyBag对象的方法快大约3倍左右。来看看具体代码:
    
    
    Function CloneFont(Font As IFont) As StdFont
    
    Font.Clone CloneFont
    
    End Function
    
    

    

 

相关新闻

您可能对这些感兴趣  

用VB做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
优化程序显示速度
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
用VB制作注册软件的方法

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》