精华内容
下载资源
问答
  • 1了解结构化程序设计基本概念 2掌握 程序设计中常用语句 3掌握顺序选择和循环结构及相应语句;教学内容;4.1 算法及程序设计基础;1算法概念;18;[算法描述];3算法特征;4算法描述 ;5.基本算法结构;2选择结构...
  • vb顺序文件操作

    2012-06-09 17:58:48
    昨天晚上利用看欧洲杯的等待时间学习了一下文件操作 顺序文件 ...(说明:For Append文件末尾添加数据 For Input 顺序读取文件的数据For Output向文件写入数据————这些是打开方式  Access Rea

    昨天晚上利用看欧洲杯的等待时间学习了一下文件操作

    顺序文件

    (逻辑顺序和物理顺序相同)

    打开顺序文件 

    open “路径”   For Input Access Read As #1 

    (说明:For  Append文件末尾添加数据    For Input 顺序读取文件的数据For Output向文件写入数据————这些是打开方式

                    Access Read只读 AccessWrite 只写AccessReadWrite读写—————这些是存取类型

                    As #1 ——————文件号)


    读取顺序文件

    Input #文件号 ,变量1,变量2

    Dim  a As String

    eg Input  #1,a  ———— 将#1文件读取一行数据到a中



    写入顺序文件

    eg  Print #1,a ,'我是大笨蛋'————将a变量的内容,和我是大笨蛋写入


    关闭顺序文件

    Close #1



    展开全文
  • VB - 数据文件(一)顺序文件

    万次阅读 2011-11-03 22:36:24
    1. 打开文件(Open) Open 文件名 [For模式][Access 存取类型][锁定]As [#]文件号[Len=记录长度]  说明: (1)文件名; (2) 模式用于指定文件访问方式,包括:  Append——从文件末尾添加 Binary——二进制...

    1. 打开文件(Open)

    Open 文件名 [For模式][Access 存取类型][锁定]As [#]文件号[Len=记录长度]

           说明:

    (1)文件名;

    (2) 模式用于指定文件访问的方式,包括:
               Append——从文件末尾添加             Binary——二进制文件
               Input——顺序输入(输入给自己,从txt中取出)                            Output——顺序输出(输出到txt中)
               Random——随机存取方式

    (3)文件号(或称文件缓冲区)

    (4)存取类型:访问文件的类型,为Read(只读)、Write(只写)、Read Write(读写)

    (5)锁定:限制其他用户或其他进程对文件进行读写操作

                           Shared(共享)、LockRead(禁止读)、Lock Write(禁止写)、

                              Lock Read Write(禁止读写)

    (6)Len:用来指定每个记录的长度(字节数)

          示例:    Open"d:\cj1.dat" For  Output As  #1

    2. 关闭文件(Close)

             打开的文件使用完后必须关闭。

             关闭文件的语句格式:
               Close[#] 文件号1[,[#] 文件号2…] ]

             示例:

               Close#1

     1. Write语句 
       格式:Write#文件号 [,表达式表]
        功能:将表达式的值写到与文件号相关的顺序文件中
        每个Write语句向顺序文件写入一个记录(不定长),它会自动地用逗号分开每个表达式的值。给字符串加上双引号

             在最后一个字符写入后,插入一个回车换行符(Chr(13) + Chr(10)),以此作为记录结束的标记。

             示例:Write#1, "Good Afternoon", 1998


    Private Sub CommandButton1_Click()
        Dim num As String * 6, name As String * 8, score As Integer
        num = TextBox1.Text
        name = TextBox2.Text
        score = Val(TextBox3.Text)
        Write #1, num, name, score
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox1.SetFocus
    End Sub
    
    Private Sub CommandButton2_Click()
        Close #1
        End
    End Sub
    
    Private Sub UserForm_Initialize()
        Open ThisWorkbook.Path & "\1.txt" For Output As #1
    End Sub
    
    运行结果~

    读取数据,用For...Next 语句

    Sub 的开发商的()
        Dim n As String, m As String, s As Integer
        Open ThisWorkbook.Path & "\1.txt" For Input As #1
        For i = 1 To 5
            Input #1, n, m, s
            Cells(i, 1) = n
            Cells(i, 2) = m
            Cells(i, 3) = s
        Next
        Close #1
    End Sub

     2. Print语句 

    格式:Print  #文件号[,表达式表]
            作用与Write一样。将一个或多个表达式的值写到与文件号相关的顺序文件中。其输出数据格式与Print方法在窗体上输出格式相似。

               示例:
                Print  #1, num, name, score              ‘对应按区格式
                Print  #1, num;name;score          ‘对应紧凑格式


    先用Input方式打开文件,然后采用Input或LineInput语句从文件中读出数据。通常,Input用来读出Write写入的记录内容,而Line Input用来读出Print写入的记录内容

    1.Input语句 
        一般格式:Input#文件号,变量名表
          功能:从指定文件中读出一个记录。变量个数和类型应该与要读取的记录所存储的数据一致。
           打开文件时,文件指针指向文件中的第1个记录,以后每读取一个记录,指针就向前推进一次。如果要重新从文件的开头读数据,则先关闭文件后打开

    距离:

    Sub sj()
        Open ThisWorkbook.Path & "\data1.txt" For Output As #1
        a = 123: b$ = "ABCD"    '在同一行赋值,用“:”
        Write #1, a, b$
        Close #1
        Open ThisWorkbook.Path & "\data1.txt" For Input As #1
        Input #1, c, d$
        Close #1
        Debug.Print c, d$
    End Sub


    Sub dfjslkdf()
        Open ThisWorkbook.Path & "\num2.txt" For Append As #1
        For i = 51 To 200
            If i Mod 7 = 0 Then Write #1, i
        Next
        Close #1
    End Sub
    
    Sub dfhdfdffdfdfdk()
        k = 0
        Open ThisWorkbook.Path & "\num2.txt" For Input As #1
        Do While Not EOF(1)
            Input #1, x
            Debug.Print x,
            k = k + 1
            If k Mod 4 = 0 Then Debug.Print
        Loop
    End Sub

    Debug.Print i    一行一行的输出

    Debug.Print i,    在一行输出,中间空很多的空格,具有一定的格式

    Debug.Print i;    在一行输出,中间空很少的空格,具有一定的格式

    可以加入If i Mod 2 = 0 Then Debug.Print    可以进行换行


    Print也有相似的用法:

    从TXT中读取数据,数据中间可以是空格、半角逗号

    Sub dhfkd()
        k = 0
        Dim arr(1 To 1100) As Variant
        Open ThisWorkbook.Path & "\num2.txt" For Input As #1
        Do While Not EOF(1)        'EOF(1)用来判断#1是否读到头了,到头返回TRUE
            Input #1, x           '读取一个数据
            k = k + 1
            arr(k) = x            '将读取的数据存在一个数组中
        Loop
        k = 0
        For i = 1 To 10
            For j = 1 To 110
                k = k + 1
                Cells(j, i) = arr(k)
            Next
        Next
        Close #1
    End Sub

    2.Line Input语句 

    格式:LineInput  #文件号,字符型变量
    功能:从打开的顺序文件中读出一个记录,即一行信息  

    用Line input来读取由Print写入的数据,Line Input读取一整行的数据~

    Sub djhfdljf()
        Open ThisWorkbook.Path & "\mytxt.txt" For Output As #1
        a = 123: b$ = "SBCD"
        Print #1, a, b$
        Print #1, a; b$
        Close #1
        Open ThisWorkbook.Path & "\mytxt.txt" For Input As #1
        Line Input #1, x$
        Debug.Print x$
        Line Input #1, x$
        Debug.Print x$
        Close #1
    End Sub


    3.Input函数           

    格式:Input(字符数,#文件号)
        功能:从文件中读取指定字符数的字符
        示例:A$=Input(20, #1)
            顺序文件的缺点是不能快速地存取所需的数据,也不容易进行数据的插入、删除和修改等工作,因此对于经常要修改数据或取出文件中个别数据,均不适合使用,但对于数据变化不大,每次使用时又需要从头往后顺序地进行读写,它还是不失为一种好的文件结构

    展开全文
  • (一)打开和关闭文件 1、顺序文件 打开顺序文件,我们可以使用Open语句。它格式如下: Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize] 说明: (1)参数pathname 表示要打开的

    (一)打开和关闭文件  
     
      1顺序文件  
     
      打开顺序文件,我们可以使用Open语句。它的格式如下:  
      Open   pathname   For   [Input   |Output   |Append]   As   [#]filenumber   [Len   =   buffersize]    
     
      说明:  
     
      (1)参数pathname   表示要打开的文件名,文件名可以包含有驱动器和目录  
     
      (2Input   Output   Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。  
     
      (3As[#]filenumber   子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.  
     
      (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.  
     
      例如:  
      Open   App.Path   +   "/test.dat"   For   Output   As   1  
      Open   App.Path   +   "/test.dat"   For   Output   As   1    
     
      这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.  
      Open   App.Path   +   "/test.dat"   For   Input   As   [#]filenumber    
     
      这条语句是从文本文件中读取数据.  
      Open   App.Path   +   "/test.dat"   For   Append   As   [#]filenumber    
     
      这条语句则是像文本文件中添加数据  
     
      2随机文件  
     
      操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:  
      Type   Student  
     
     No   As   Integer  
     
     Name   As   String   *   20  
     
     age   As   Integer  
      End   Type  
      Dim   Stud   As   Student   ‘
    定义一个可以存放学生材料的变量    
     
      随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中,   而从随机文件中读出的数据则可以存放到变量Stud.  
     
      之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:  
      Open   filename   For   Random   as   [#]filenumber   Len   =   Reclength    
     
      说明:  
     
      (1)参数filename   filenumber   分别表示文件名或文件号.  
     
      (2)关键字Random   表示打开的是随机文件  
     
      (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节.  
     
      打开一个记录类型为Student   的随机文件的方法是:  
      Open   "c:/Student.txt   "   For   Random   As   #1   Len   =   25    
     
      3二进制文件  
     
      打开二进制文件的语法格式如下:  
      Open   pathname   For   Binary   As   [#]filenumber    
     
      说明:

    (1)   参数filename   filenumber   分别表示文件名或文件号.  
     
      (2)关键字Binary   表示打开的是二进制文件  
     
      (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个位置对应一个数据字节,因此,n个字节的文件,就有1n个位置.  
     
      我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节   );Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:  
      Open   “student.txt”   for   Binary   as   #1    
     
      该语句用二进制的方式打开了student.txt文件.

    (二)读文件  
     
      1顺序文件  
     
      顺序文件的读取有三种方式:  
     
      (1Line   Input   #   语句  
     
      该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line   Input   #   语句的语法格式如下:  
      Line   Input   #  
    文件号,变量号    
     
      说明:文件号是打开文件时所用的文件号;变量号使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input#   语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。  
     
      请看下面代码:  
      Dim   strLine   As   String  
      Open   "c:/vb/test.txt"   For   Input   As   #1  
      Do   Until   EOF(1)  
     
     Line   Input   #1,   strLine  
     
     text1.Text   =   text1.Text   +   strLine   +   Chr(13)   +   Chr(10)  
      Loop  
      Close   #1    
     
      此段代码逐行读取一个文件到文本框中。  
     
      (2Input函数  
     
      此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式:  
     
      变量   =   Input(串长度,文件号)  
     
      例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:  
      file   =   Input
    12filenum    
     
      如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:  
      file   =   StrCopy  
    Input   LOFfilenanum),filenum),vbUnicode  
     
      (3Input   #   语句  
     
      Input   #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。  
     
       
     
      下面使它的语法格式:  
      Input   #  
    文件号,变量列表    
     
      例如,我们要在文件student.txt中写入数据,下面是代码:
      Open   "student.txt"   For   Output   As   #filenum  
      Write   #filenum,   "
    张三",   "初一年级",   14  
      Write   #filenum,   "
    李四",   "职业高中",   18  
       
      Dim   name   As   String,   nianji   As   String,   age   As   Integer  
      Dim   name1   As   String,   nianji1   As   String,   age1   As   Integer  
      Open   "student.txt"   For   Input   As   #filenum  
      Input   #filenum,   name,   nianji,   age  
      Input   #filenum,   name1,   nianji1,   age1  
      Close   #filenum    
     
      执行结果:  
      name=”
    张三”   ,nianji   =   “初一年级”   ,age   =14    
      name=”
    李四”   ,nianji   =   “职业高中”   ,age   =18      
     
      2随机文件  
     
      读取随机文件是可以使用Get   #   语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中.  
     
      语法格式:   Get   #   FileNum   ,[RecNum],UserType  
     
      说明:  
     
      (1)FileNum   是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录  
     
      (2)UserType   是一个用来存放读出数据的用户自定义的数据类型变量.  
     
      下面是一个例子:  
      Get   #   1,5,Student      
     
      该语句读取文件号为1的文件中的第5条记录.  
     
      3二进制文件  
     
      读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明:  
     
      格式:   Get   [#]fileNumber   ,[Pos],   Var  
     
      功能:   用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据  
     
      说明:  
     
      (1)FileNumber是以二进制方式打开的文件号.  
     
      (2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置.  
     
      (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置.  
     
      下面的代码复制studert.txt文件到student1.txt文件中  
      Dim   ar   As   String   *   1,   i   As   Integer  
      Open   "c:/student.txt"   For   Binary   As   #1  
      Open   "c:/student2.txt"   For   Binary   As   #2  
      For   i   =   1   To   LOF(1)  
     
     Get   #1,   ,   ar  
     
     Put   #2,   ,   ar  
      Next   i  
     Close   #1,   #2

    (三)写文件  
     
      1   顺序文件  
     
      写顺序文件我们可以用Write   #   Print   #语句向一个已经打开的文件中写入数据.  
     
      下面是他们的格式和说明:  
     
      Print   #   的语法格式:  
     
      Print   #   文件号,变量列表  
     
      例如,将文本框中的文本写到文件中,代码如下:  
      Open   "file.txt"   For   Output   As   #filenum  
      Input   #filenum,   text1.text    
     
      Write   #   语句的语法格式:  
      Write   #  
    文件号,变量列表    
     
      说明:Write   #   语句写入的信息便于以后用Input   #语句来读取数据,因为Write   #语句自动将写入到文件中的信息用逗号分开,并为字符串数据加上双引号.例如:  
      Open   "student.txt"   For   Output   As   #filenum  
      Write   #filenum,   "
    张三",   "初一年级",   14  
      Write   #filenum,   "
    李四",   "职业高中",   18    
     
      2   随机文件  
     
      向随机文件中写入数据,使用Put #语句.语法格式如下:  
      Put   [#]   FileNum   ,[RecNum],UserType    
     
      说明:  
     
      (1)   FileNum   是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get   Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get   Put语句,就从第一条记录开始  
     
      (2)UserType   是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:  
      stud.No   =   0301  
      stud.Name   =   “
    王武”  
      stud.Age   =20  
      Put   #1   ,5,stud    
     
      如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:  
      Nextrec=   (Lof(1)/Len(UserType))+1  
      Put   #1,Nextrec,UserType    
     
      3二进制文件  
     
      下面是以二进制方式写入文件的语句格式及其说明:  
     
      格式:  
      Put   [#]fileNumber   ,[Pos],   Var    
     
      功能:   用二进制方式,从文件的中指定的位置开始写入,所给变量长度的数据  
     
      说明:  
     
      (1)FileNumber是以二进制方式打开的文件号.  
     
      (2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置.  
     
      (3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.  
     
      使用方法可参考二进制文件的读操作。

    展开全文
  •  打开顺序文件,我们可以使用Open语句。它格式如下: Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize]   说明:  (1)参数pathname 表示要...
    (一)打开和关闭文件

         1、顺序文件



         打开顺序文件,我们可以使用Open语句。它的格式如下:



    Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize] 



         说明:



         (1)参数pathname 表示要打开的文件名,文件名可以包含有驱动器和目录



         (2)Input Output 和Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。



         (3)As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.



         (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.



         例如:



    Open App.Path + "\test.dat" For Output As 1



    Open App.Path + "\test.dat" For Output As 1 



         这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.



    Open App.Path + "\test.dat" For Input As [#]filenumber 



         这条语句是从文本文件中读取数据.



    Open App.Path + "\test.dat" For Append As [#]filenumber 



         这条语句则是像文本文件中添加数据



         2、随机文件



         操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:



    Type Student

       No As Integer

       Name As String * 20

       age As Integer

    End Type



    Dim Stud As Student ‘定义一个可以存放学生材料的变量 



         随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud中.



         之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:



    Open filename For Random as [#]filenumber Len = Reclength 



         说明:



         (1)参数filename 和filenumber 分别表示文件名或文件号.



         (2)关键字Random 表示打开的是随机文件



         (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节.



         打开一个记录类型为Student 的随机文件的方法是:



    Open "c:\Student.txt " For Random As #1 Len = 25 



         3、二进制文件



         打开二进制文件的语法格式如下:



    Open pathname For Binary As [#]filenumber 



         说明:



         (1) 参数filename 和filenumber 分别表示文件名或文件号.



         (2)关键字Binary 表示打开的是二进制文件



         (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置.



         我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节 );用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:



    Open “student.txt” for Binary as #1 



         该语句用二进制的方式打开了student.txt文件.



         (二)读文件



         1、顺序文件



         顺序文件的读取有三种方式:



         (1)Line Input # 语句



         该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:



    Line Input # 文件号,变量号 



         说明:“文件号”是打开文件时所用的文件号;“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。



         请看下面代码:



    Dim strLine As String



    Open "c:\vb\test.txt" For Input As #1



    Do Until EOF(1)

       Line Input #1, strLine

       text1.Text = text1.Text + strLine + Chr(13) + Chr(10)

    Loop



    Close #1 



         此段代码逐行读取一个文件到文本框中。



         (2)Input函数



         此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式:



         变量 = Input(串长度,文件号)



         例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:



    file = Input(12,filenum) 



         如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:



    file = StrCopy (Input (LOF(filenanum),filenum),vbUnicode) 



         (3)Input # 语句



         Input #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。

      

         下面使它的语法格式:



    Input # 文件号,变量列表 



         例如,我们要在文件student.txt中写入数据,下面是代码:



    Open "student.txt" For Output As #filenum



    Write #filenum, "张三", "初一年级", 14

    Write #filenum, "李四", "职业高中", 18



    Dim name As String, nianji As String, age As Integer



    Dim name1 As String, nianji1 As String, age1 As Integer

    Open "student.txt" For Input As #filenum

    Input #filenum, name, nianji, age

    Input #filenum, name1, nianji1, age1

    Close #filenum 



         执行结果:



    name=”张三” ,nianji = “初一年级” ,age =14 



    name=”李四” ,nianji = “职业高中” ,age =18 



         2、随机文件



         读取随机文件是可以使用Get # 语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中.



         语法格式: Get # FileNum ,[RecNum],UserType



         说明:



         (1)FileNum 是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录



         (2)UserType 是一个用来存放读出数据的用户自定义的数据类型变量.



         下面是一个例子:



    Get # 1,5,Student 



         该语句读取文件号为1的文件中的第5条记录.



         3、二进制文件



         读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明:



         格式: Get [#]fileNumber ,[Pos], Var



         功能: 用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据



         说明:



         (1)FileNumber是以二进制方式打开的文件号.



         (2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置.



         (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置.



         下面的代码复制studert.txt文件到student1.txt文件中



    Dim ar As String * 1, i As Integer

    Open "c:\student.txt" For Binary As #1

    Open "c:\student2.txt" For Binary As #2

    For i = 1 To LOF(1)

       Get #1, , ar

       Put #2, , ar

    Next i



    Close #1, #2 





         (三)写文件



         1、 顺序文件



         写顺序文件我们可以用Write # 和Print #语句向一个已经打开的文件中写入数据.



         下面是他们的格式和说明:



         Print # 的语法格式:



         Print # 文件号,变量列表 



         例如,将文本框中的文本写到文件中,代码如下:



    Open "file.txt" For Output As #filenum



    Input #filenum, text1.text 



         Write # 语句的语法格式:



    Write # 文件号,变量列表 



         说明:用Write # 语句写入的信息便于以后用Input #语句来读取数据,因为Write #语句自动将写入到文件中的信息用逗号分开,并为字符串数据加上双引号.例如:



    Open "student.txt" For Output As #filenum



    Write #filenum, "张三", "初一年级", 14

    Write #filenum, "李四", "职业高中", 18 



         2、 随机文件



         向随机文件中写入数据,使用Put   #语句.语法格式如下:



    Put [#] FileNum ,[RecNum],UserType 



         说明:



         (1) FileNum 是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get 和Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get 和Put语句,就从第一条记录开始



         (2)UserType 是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:



    stud.No = 0301

    stud.Name = “王武”

    stud.Age =20

    Put #1 ,5,stud 



         如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:



    Nextrec= (Lof(1)\Len(UserType))+1



    Put #1,Nextrec,UserType 



         3、二进制文件



         下面是以二进制方式写入文件的语句格式及其说明:



         格式:



    Put [#]fileNumber ,[Pos], Var 



         功能: 用二进制方式,从文件的中指定的位置开始写入,所给变量长度的数据



         说明:



         (1)FileNumber是以二进制方式打开的文件号.



         (2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置.



         (3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数  




    原文:http://blog.csdn.net/lbuskeep/article/details/7638078
    展开全文
  • 1.打开文件(Open) Open 文件名 [For模式][Access 存取类型][锁定]As [#]文件号[Len=记录长度] 说明: (1)文件名; (2) 模式用于指定文件访问方式,包括: Append——从文件末尾添加 Binary——二进制文件...
  • (一)打开和关闭文件 1、顺序文件 打开顺序文件,我们可以使用Open语句。它格式如下:Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize] 说明: (1)参数pathname 表示要打开的...
  • VB知识之常量与变量命名规则与使用注意Visual Basic文件操作方法知识要点一、顺序文件访问模式1.打开文件2.读/写文件3.关闭文件二、随机文件访问模式1.打开文件2.读/写文件3.关闭文件三、二进制文件访问模式1....
  • VB文件读写

    2015-10-08 15:33:11
     打开顺序文件,我们可以使用Open语句。它格式如下: Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize]  说明:  (1)参数pathname
  • VB操作文件实例

    千次阅读 2017-09-26 10:16:45
    文件操作分为两种方式,一种为顺序操作文件,...第一种:顺序文件 一、新建文本demo.txt文件并且写入数据 open "demo.txt" for output as #1 //新建文件并打开 print #1,"output a file" //写入数据到文件 close #1 //
  • vb常用文件读写操作

    2009-12-13 19:44:00
    1、顺序文件的读写操作(Input, LineInput,Print,Write)Open Filepath For (For Mode) As #FilenumberFor Mode有三种:Input是读文件,要求指定的文件必须已打开。Output是写文件,如果找不到文件,则系统建一个...
  • vb使用open方法读写文件

    万次阅读 2008-05-26 12:41:00
    vb使用open方法读写文件 (一)打开和关闭文件 1、顺序文件 打开顺序文件,我们可以使用Open语句。它格式如下: Open pathname
  • VB.NET 生成DBF文件

    2014-06-20 20:00:00
    本文是一个使用VB.NET建立DBF表文件的示例。 今天写了一个VB.NET程序(本来计划用C#写的,打开VS的时候不小心开错环境了,于是就将错就错了~~~)。程序的目的是生成一个DBF文件,文件名为TradingDate.dbf。其中有...
  • VB第8章 文件

    2012-02-13 09:37:04
    文件的访问: 1 open语句打开或建立文件(如果一个文件已经存在,则打开该文件,如果不存在,则建立该文件) 2 将文件中的数据读到变量中 ...顺序文件  随机文件 二进制文件 打开 Open语句 Open语
  • [VB学习中]之六:文件操作

    千次阅读 2004-12-27 22:06:00
    文件的打开与读写Open “文件名” For 模式 As [#] 文件号 [Len=记录长度]模式:(1)顺序访问模式OutPut:打开一个文件,将对该文件进行写操作。Input:打开一个文件,将对该文件进行读操作。Append:打开一个文件...
  • 1、打开文件的基本格式为: Output、Append、Input方式打开的文件进行的读写操作都是以顺序方式进行的,①Output、Append打开的文件主要用来输出数据,与Print#、Write#等方法配合使用②以Input方式打开的文件主要...
  • VB中Input #语句功能及用法

    千次阅读 2014-05-07 09:08:10
    从已打开的顺序文件中读出数据并将数据指定给变量。 语法 Input #filenumber,杭州70码事件 varlist 数据 指定给变量值 分隔逗号或空白行 Empty #NULL# Null #TRUE# or #FALSE
  • VB基础4

    2011-02-27 17:16:00
    顺序文件以Output模式打开,则原来内容全部丢失,文件中只有Print#中内容;若以Append模式打开的话,则内容会追加在原有内容后面   Write #语句(略)     二。随机文件  ...
  • VB中Line Input #语句功能及用法

    千次阅读 2013-03-12 14:18:22
    从已打开的顺序文件中读出一行并将它分配给 String变量。 语法 Line Input #filenumber, varname Line Input # 语句语法具有以下几个部分: 部分 描述 filenumber 必
  • 第一步删除注册表信息 ...在注册表中按照目录顺序找到以下文件,删除。 上述是讲了两种删除注册表中某一项方法。下面列出你要删除(如果没有就不用删除了): HKEY_LOCAL_MACHINE\Software...
  • vb输入输出

    2016-06-29 10:45:50
    1. 打开文件(Open) Open 文件名 [For模式][Access 存取类型][锁定]As [#]文件号[Len=记录长度]  说明: (1)文件名; (2) 模式用于指定文件访问方式,包括:  Append——从文件末尾添加 Binary——二进制...
  • (3)打开一个老的顺序文件SEQAPPEND.DAT,用户将在该文件后面添加数据,文件号通过调用FreeFile函数获得。 15、请写出程序代码片段,将磁盘上两个文件合并。(提示:把它们作为二进制文件打开) 16、PictureBox...
  • vb Script参考文档

    2009-07-28 22:13:02
    HelpFile 属性 设置或返回帮助文件的全路径。 Hour 函数 返回小时数,取值范围为 0 至 23。 If...Then...Else 语句 根据表达式的值,有条件地执行一组语句。 IgnoreCase 属性 设置或返回 Boolean 值,指示模式...
  • 文件操作

    2007-09-05 15:53:00
    VB中,对于顺序文件,随机文件,二进制文件的操作通常都有3个步骤:(1)打开文件:(2)访问文件:读操作Input#语句,Input和InputB函数,Line Input#语句。写操作Print#语句,Write#语句(3)关闭文件:打开的文件使用(读/写)...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

vb顺序文件的打开