首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb输出格式的有关问题

2013-01-07 
vb输出格式的问题1、vb处理完数据之后,输出到文件Open App.Path & \3.txt For Append As #3Print #3, arr

vb输出格式的问题
1、vb处理完数据之后,输出到文件
    Open App.Path & "\3.txt" For Append As #3
    Print #3, arr(i - 1, 1)
    Print #3, classbpp(1) 
    Print #3, classtemp(1)
    Print #3, output(7) 
    Print #3, "处理完毕"
    Close #3

现在如果其中某一两条记录为空,怎么让他不输出?
比如classbpp(1) 没有值,输出的时候就是一个空行
如果有三条记录都是空的话,输出时就会空出三行,怎么能让没有数据的行不输出?
这段程序是在一个循环里的,每循环一次就要输出几个空行,实在太浪费空间了,请问兄弟有没有办法?

2、classbpp(1)是在一个for-next循环里的
for =1 to 100
classbpp(1) = classbpp(1) & arr(i, 3) & " " & arr(i, 4) &" " & arr(i, 5) &" " & arr(i, 6) &" " & arr(i, 7) & vbNewLine
next

那么,比如执行Print #3, classbpp(1) 时,输出的结果是:
2012001001 张三 体育1 1.0 88 公共必修课 (2007-2008-1)-5030001
2012001001 张三 工程制图基础 4.0 77 公共必修课 (2007-2008-1)-2010001
2012001001 张三 大学计算机基础 3.0 92 公共必修课 (2007-2008-1)-2030053
2012001002 李四 社会学 2.0 75 公共选修课 (2008-2009-2)-3020002
2012001002 李四 基础会计学 3.0 81 学科基础课 (2009-2010-1)-2050048
2012001002 李四 中小企业信息化管理解析 1.5 85 公共选修课 (2009-2010-1)-3020069
2012001002 李四 画法几何及工程制图2 4.0 80 专业选修课 (2009-2010-1)-2040108
2012001002 李四 毛泽东思想和中国特色社会主义理论体系概论 6.0 84 公共必修课 (2009-2010-1)-2060165
2012001003 王五 体育1 1.0 88 公共必修课 (2008-2009-1)-5030001
2012001003 王五 思想道德修养与法律基础 3.0 72 公共必修课 (2008-2009-1)-2060005
2012001003 王五 大学计算机基础 3.0 68 公共必修课 (2008-2009-1)-2030053

我想要的结果是:
2012001001 张三         体育1                                    1     88 公共必修课 (2007-2008-1)-5030001
2012001001 张三         工程制图基础                             4.0   77 公共必修课 (2007-2008-1)-2010001
2012001001 张三         大学计算机基础                           0.5   92 公共必修课 (2007-2008-1)-2030053
2012001002 李四         社会学                                   2.0   75 公共选修课 (2008-2009-2)-3020002
2012001002 李四         基础会计学                               3     81 学科基础课 (2009-2010-1)-2050048
2012001002 李四         中小企业信息化管理解析                   1.5   85 公共选修课 (2009-2010-1)-3020069


2012001002 李四         画法几何及工程制图2                      4     80 专业选修课 (2009-2010-1)-2040108
2012001002 李四         毛泽东思想和中国特色社会主义理论体系概论 6.0   84 公共必修课 (2009-2010-1)-2060165
2012001003 王五         体育1                                    1.0   88 公共必修课 (2008-2009-1)-5030001
2012001003 王五         思想道德修养与法律基础                   3.0   72 公共必修课 (2008-2009-1)-2060005
2012001003 王五         大学计算机基础                           3.0   68 公共必修课 (2008-2009-1)-2030053

该怎么做呢?多谢啦~~
[解决办法]
classbpp(1) = classbpp(1) & arr(i, 3) & " " & arr(i, 4) &" " & arr(i, 5) &" " & arr(i, 6) &" " & arr(i, 7) & vbNewLine

有个 vbNewLine 那是一定有值的, 你判断除了vbNewLine后是否有值,没值或字节数不够就去掉 vbNewLine啊

if len(classbpp(1) )< X  then 
replace(classbpp(1) , vbNewLine,"")  '或者直接不print了
end if

[解决办法]
  Open App.Path & "\3.txt" For Append As #3
  If arr(i - 1, 1) > "" Then Print #3, arr(i - 1, 1)
  If classbpp(1) > "" Then Print #3, classbpp(1)  
  If classtemp(1) > "" Then Print #3, classtemp(1)
  If output(7) > "" Then Print #3, output(7)  
  Print #3, "处理完毕"
  Close #3

for = 1 to 100
    strTmp = arr(i, 3) & vbTab & arr(i, 4) & vbTab & arr(i, 5) & vbTab & arr(i, 6) & vbTab & arr(i, 7)
    If strTmp > "" Then classbpp(1) = classbpp(1) & strmp & vbNewLine
next

热点排行