open *** for output as #后面这个数字编号是不是随便乱写都可以的?
--------------------编程问答-------------------- 这是文件号,最好是临时获得dim f as integer
f=freeflie()
然后要用到文件号的地方都用变量f替换 --------------------编程问答-------------------- 文件号是由VB动态分配的,范围在1-511之间。
MSDN:
文件号在 Open 语句中用来打开文件的号码。对不能访问其它应用程序的文件,使用1–255 范围内的文件号,对可由其它应用程序访问的文件,使用256–511 范围内的文件号。
正确的做法是:
dim fileNumber as integer
fileNumber =freeflie'结果不一定是1
还是看MSDN:
Open 语句
能够对文件输入/输出 (I/O)。
语法
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
Open 语句的语法具有以下几个部分:
部分 描述
pathname 必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。
mode 必要。关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。如果未指定方式,则以 Random 访问方式打开文件。
access 可选。关键字,说明打开的文件可以进行的操作,有 Read、Write、或 Read Write 操作。
lock 可选。关键字,说明限定于其它进程打开的文件的操作,有 Shared、Lock Read、Lock Write、和 Lock Read Write 操作。
filenumber 必要。一个有效的文件号,范围在 1 到 511 之间。使用 FreeFile 函数可得到下一个可用的文件号。
reclength 可选。小于或等于 32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。
说明
对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行 I/O 之用,并决定缓冲区所使用的访问方式。
如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。
如果文件已由其它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生。
如果 mode 是 Binary 方式,则 Len 子句会被忽略掉。
重要 在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。
--------------------编程问答--------------------
1、Open打开一个文件后,所有操作处理完毕后,应当及时用 close #fileNumber 关闭文件号,释放内存。
2、每次用Open打开文件,应当用VB的freeflie函数动态取得一个可用的文件号。
--------------------编程问答-------------------- command999999999999这种名称:
变量名这样的东西最多255个字符,在编译后是不保存的,都是地址.
对象名,要求不多于40个字符,并且Caption、LinkTopic 和 Text默认和Name属性相同,这样如果你用command9999999...999一直用够40个字符,会造成编译后的exe比较大,编译后的exe文件存有各个对象的Name,Caption、LinkTopic 和 Text等值.
比如一个按钮用"c"命名,或者用"ccc"命名,编译后的exe文件长度第二种最少比第一种多出来8字节. --------------------编程问答-------------------- 如果是类里的属性名,或者类的方法,事件等里面的参数名,exe也会保存,名字太长也会造成exe比较大.
这些对程序运行的影响不大,不过是定义,创建对象的时候多复制一些字符.
要是全部都用巨长的名字,肯定内存要多占用的. --------------------编程问答-------------------- 多谢3位大侠.
我写个:
dim filenmuber1 as integer这个样子对么?
filenumber1=freefile
Open sTrackingNoListFile For output As #filenumber1
print #filenumber1 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
close #filenumber1
这样就一定防止了一切可能的冲突呵? 那我以前碰到过出错,可能正是犯了"在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。"这一条了.可能太快用不同文件号打开文件了,好像会爆"拒绝的权限"错误.
不过就是要多定义下变量了.
多谢!
谢谢spt_petrolor!有些了解了.
--------------------编程问答-------------------- 用默认的OPEN语句打开文件输出的话,是只能同时打开一次的,否则很有可能丢失数据。 --------------------编程问答-------------------- 尽量避免同时打开一个文件输出吧,容易冲突丢失数据。 --------------------编程问答-------------------- 尽量避免同时打开一个文件输出吧,容易冲突丢失数据。
补充:VB , 基础类