a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 90|回复: 0

[Visual Basic] 2012年计算机等级考试二级VB考点及习题(6)

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
2012年计算机等级考试二级VB考点及习题(6)
- S! ]5 X' ^+ J# D, A  X§7、文件管理控件6 S9 I  z7 D; `- K) b( h
  文件处理 顺序文件和随机文件的打开(open)语句,EOF函数,读写语句。8 p' h( k7 d9 s$ L; B" w* P  [1 @
  do while not eof(1) do until eof(1)+ h/ `/ B+ w. k9 O' U5 b7 O2 f4 q* r
  print #1, write #1,
0 c# Y9 n0 q) n; `3 ^) L  ^2 Y9 t' i  input #1,a,b,c line input #1,s input(#1,100)# D+ g, t! y* B2 o  k
  get #1,a put #1,”af”
' _/ q/ H$ {$ h8 k  u9 K, M  打开方式:
, }/ c0 B9 @8 ^9 D1 Q. @! B' p# W  顺序文件Open "文件路径+文件名(包括文件后缀)" For Output As #1-5118 V6 g4 o' S% X8 U' c7 A) T5 p
  Open "文件路径+文件名(包括文件后缀)" For Append As #1-511" m1 g4 j( [& ^$ j
  Open "文件路径+文件名(包括文件后缀)"For Input As #1-511; r9 ~8 m* V. d* p# P6 u8 l# `
  随机文件:Open "文件路径+文件名(包括文件后缀)"For Random As #1-511
0 {3 E# |  g0 g1 w  二进制文件:Open "文件路径+文件名(包括文件后缀)"For Binary As #1-511
$ S+ i% O8 I$ O0 _  Open语句打开文件的注意:
: x$ G% w2 k; l- G! Q  1.如果以Output、Append、Random、Binary模式打开一个不存在的文件时,VB自动创建一个相应文件;
1 _0 p4 t; g9 I7 K: E/ Y  2.在Input Random Binary模式下,可以用不同的文件号打开同一文件,但Output Append方式不可以;9 j* L: w3 z( Q) N# ~8 m1 R
  3.所有当前使用的文件号必须是唯一的;% g% O! ?: R" E) s1 O6 @1 r
  4.如果以Output模式打开一个已存在的文件,即使没有进行写操作原来数据也将被覆盖。/ h5 |- f) t- h2 K
  Close语句注意:(Reset)
4 G, }$ Z/ r4 p, f4 P4 v, ^- ~  1.直接使用 Close语句(缺省文件号),则所有用Open语句打开的活动文件都被关闭;% I2 |7 m1 w5 u& `" T/ ?6 [/ ?7 r
  2.当程序结束时,所有打开的文件自动被关闭。) p) Y: W# }! i. h
  Lock和Unlock语句注意:; P: a0 l+ M7 C( t0 L. @
  1.对于二进制文件,Lock和Unlock的是字节范围;
  y6 ?5 h: d, M7 l  2.对于随机文件,Lock和Unlock的是记录范围;" S  x7 B2 o1 H: ?& R2 t
  3.对于顺序文件,Lock和Unlock的是整个文件,即使指明范围也不起作用;% `8 f" D! C% c" |3 S) F
  4.缺省情况下Lock和Unlock的范围是整个文件;
" i1 X" L* k& M) g  j5 r0 \2 G& o  5.Lock和Unlock总是成对使用。2 c3 u, c& a" j4 V6 z: M
  特别注意:在关闭文件或结束程序之前,必须用Unlock语句对先前锁定的文件解锁,否则会产生难以预料的错误。
. a$ q# ?( a# n; w  1.要对顺序文件进行写操作,下列打开文件语句中正确的是( )。. s( }* a! z4 e9 `) j% H; C
  Open "file1.txt" for output as #17 Y* B- T: ]+ E
  Open "file1.txt" for input as #1- y1 `8 z  ~, T
  Open "file1.txt" for Random as #1/ F  ]( N: c. k% _* B2 U. c5 Z
  Open "file1.txt" for binary as #1
( w$ M# R8 m& @2 Q2 t! l  2.在VB中文件访问的类型有( )。
" l6 u( d# I1 ?7 @" V  A.顺序、随机、二进制 B.顺序、随机、字符
; x/ O2 Q( @5 c7 s& k# p- ^) `  A. 顺序、十六进制、随机 D.顺序、记录、字符
% k! X. Y$ d8 j0 ?  例如:将文件Data1中的无序数据和Data2中的有序数据插入到Data3中,要求:Data3中的数据必须也是排好序。请填写空白处以实现该题功能。
) j) v3 Z5 W: J$ N  ~, c  Private Sub Form_Click()
8 V- o6 m- O+ U: j0 z; P2 f1 C9 y  Dim a() As Integer, b() As Integer0 X2 n0 Q6 g8 k! {# M/ V: v
  Dim k As Integer, i As Integer& K# \( y# O6 L1 z  f. @8 L4 b
  Open "e:\data1.txt" For Input As #2% D, x* U7 h4 |0 E6 F( D4 h# ~' X/ O- G
  Open "e:\data2.txt" For Input As #37 ^% R, \3 m$ y. P3 M* W# [
  Do While Not EOF(2)
' l+ M; a5 z: V; Q5 W4 `  k = k + 1! X" Y. I8 @% M& I
  ReDim Preserve a(k)
  M8 c% e  _& |5 L7 b* f4 l, A/ j  Input #2, a(k)
# `1 A+ C2 _; k7 f! {3 {  Loop
2 \  t! w8 V2 H) G# S# v- c. O9 \; x" e  _______k=0______________________! B, M! F% |  m6 Y
  Do While Not EOF(3)
9 u/ p' k" K2 l2 z" N" I  k = k + 1- E% c- o# m( c% B& `0 N
  ReDim Preserve b(k)
. s. e- `6 i# F- s$ m  Input #3, b(k)
: \3 |/ v( j. L9 b5 A  Loop
* p( G( `5 t( S) Z& |2 ^) J) x  Call insert(a, b)
- ?( a" X9 u$ @* f5 a$ T3 _7 o. u1 s  Open "e:\data3.txt" For Output As #47 `7 r* B+ c/ j3 L. J
  _k=ubound(b)____________________________
0 K" B. Z4 }( g, M: z- {  For i = 1 To k
6 N' H* c, y, |: I; O7 f3 p' s- u7 L" o  Print #4, b(i)4 w5 [6 o1 g1 i% m. A' y
  Next i
& ?9 Q9 i$ y1 _8 Z  Close
9 u: `7 B% R1 s1 e  End Sub
" {3 [  `* H2 t3 P* Y4 r  Private Sub insert(a() As Integer, b() As Integer)
& A; R$ ^" v0 X6 o  Dim m As Integer, i As Integer. I3 }( O2 p$ b, c7 F( a+ M$ J  l0 T
  Dim n As Integer, j As Integer7 o/ u' J* i% H/ W, ^
  m = UBound(a): n = UBound(b)
3 S1 \& `, [- J* P3 M. f  _redim preserve b(m+n)_______________________
, t- ]- j) z# z( f6 `* g, f* M  i = 0. h- d* i4 }1 R, ]* s8 O
  Do While i < m9 `( C& b) s4 S
  i = i + 17 e0 }8 O- K" W$ _
  j = n4 Y8 q  ^8 C; a% m% {$ y: W2 X
  Do While j >= 1 And a(i) < b(j)
" @1 Z3 v( c3 Y  F  If a(i) < b(j) Then
7 W/ z3 f8 U: {* c) M  ___b(j+1)=b(j)_______________________. L2 y( T: @& b& a
  j = j - 1
) S$ ~) {$ {. `$ |& O  Else. c- u2 D4 j/ K1 Z8 T
  Exit Do
; }# Z  t- ?8 u/ D2 M2 |  End If
8 u" a* C4 |% C9 B  Loop
0 x4 b& S: Z; k; a( H7 s& Y. u2 k  __b(j+1)=a(i)___________________________
, t3 k8 |) T" K( E5 e6 n& Q  n = n + 1( E" W9 g- ]* F* Z
  Loop
9 Q& K- w) _5 f1 K# a) y  End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 08:36 , Processed in 0.255100 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表