用asp 写的自动生成,txt文件
txt文件内容写出来了,但是排列的效果总是达不到要求:求大哥些帮忙:
每排只是可以排8个汉字
最多可以排2排,
文本内容是从数据库中读出来的怎么才可以将读出来的数据小于8个字就排一排,而且居中例如:**北大青鸟**大于8个字小于16个字的排2排,而且居中对齐
**北大青鸟**
**电脑学校**
还有最头疼的是奇数个汉字了
怎么处理啊,大侠些,

解决方案 »

  1.   

    <%
    dim jlhbh,conn ,sql_xf5,rs,fso,txtfile,txt,dwname,sql_df5,rs2,sql_zwh
    set jlhbh=request.querystring("jlhbh")
    set conn= application("cn")
    sql_xf5= "select  number,company_name from f5screenx where jlhbh="&jlhbh&""  '刷小屏幕的sql语句
    set rs=conn.execute(sql_xf5)
    do while not rs.eof
    filename=trim(rs("number"))
    dwname=trim(rs("company_name"))
    set fso=server.createobject("scripting.filesystemobject")
    set txtfile=fso.CreateTextFile(server.mappath(""&filename&".txt"),true)
    lenlog=len(dwname)
    if lenlog > 16 or lenlog=0 then
    response.write "单位名称违法!"
    response.end
    end if
    if lenlog <=8 then
    select case  lenlog
    case 1
    dwname="     "&dwname&"    "
    case 2
    dwname="   "&dwname&"   "
    case 3
    dwname="    "&dwname&"    "
    case 4
    dwname="  "&dwname&"  "
    case 5
    dwname="   "&dwname&"   " 
    case 6
    dwname=" "&dwname&" "
    case 7
    dwname="  "&dwname&"  "
    case 8
    dwname=""&dwname&""
    end select 
    else
    cutstring=int(lenlog/2)
    cutstring1=lenlog-cutstring
    dwname1=left(dwname, cutstring)
    dwname2=right(dwname, cutstring1)select case  lenlog
    case 9
    dwname="  "&dwname1&"  "&vbcrlf&"   "&dwname2&"   "
    case 10
    dwname=dwname="   "&dwname1&"   "&vbcrlf&"   "&dwname2&"   "
    case 11
    dwname="   "&dwname1&"   "&vbcrlf&" "&dwname2&" "
    case 12
    dwname="   "&dwname1&"   "&vbcrlf&"  "&dwname2&"  "
    case 13
    dwname=" "&dwname1&" "&vbcrlf&"  "&dwname2&"  " 
    case 14
    dwname="  "&dwname1&"  "&vbcrlf&"  "&dwname2&"  "
    case 15
    dwname="  "&dwname1&"  "&vbcrlf&""&dwname2&""
    case 16
    dwname=""&dwname1&"&vbcrlf&"&dwname2&""
    end select
    end if
    txtfile.writeline""&dwname&""
    rs.movenext
    loop
    response.write "小屏幕文件已经生成,进入大屏幕书写中……"