永发信息网

VB Right(,,)函数的应用

答案:2  悬赏:60  手机版
解决时间 2021-04-04 08:10
  • 提问者网友:wodetian
  • 2021-04-03 20:30
VB Right(,,)函数的应用
最佳答案
  • 五星知识达人网友:不甚了了
  • 2021-04-03 21:41
你这样处理是很难实现对齐的目的的,除非你要输出的数据是全英文的。因为VB采用的是Unicode编码,一个汉字与一个英文字母都是算作一个字符的,这样的话当要输出的文字内容是全角字符与半角字符混排的时候,就无法在长度上保持一致了,比如“百度”与“bd”都是两个字符,但很显然它们的宽度是不一样的!
应该改用下面的方式:
Print #1, Text1.Text; Tab(7); Label1.Caption; Tab(22); Label2.Caption; Tab(37); Label3.Caption; Tab(56); Label4.Caption; Tab(75); "存盘时间:"; Now()追问你这个类似楼上的,但存储后同样的也是对齐不了追答那就不要那么多穷讲究了,文本文件要实现对齐本来就是吃力不讨好的事,简单快捷才是文本文件的优势,所以最好就不要考虑什么格式了。要想美观,就要考虑其他文件格式,比如xls电子表格。最简单的就是存为CSV文件,方法就是把文件的扩展名设为csv,然后用下面的语句写入:
Write #1, Text1.Text, Label1.Caption, Label2.Caption, Label3.Caption, Label4.Caption, "存盘时间:" & Now()
这样的话双击文件就会在Excel中打开了,里面的数据就会自动在表格中了,对齐那肯定是不在话下。

补充说明一下:我前面回答的那个代码你如果觉得无法对齐,你可以自己调整Tab()里面的数字,它是指要输出的内容与左边的距离(单位是字符)。比如:
Print #1, Tab(10); "ABCD"
这个表示在第10列输出ABCD
Print #1, Tab(10); "ABCD"; Tab(20); "你好"
这个则是在上一个的基础上,再在同一行的第20列输出"你好"两字。
其他的你就可以举一反三了。要注意的就是后面的Tab()中的数字一定要比前一个大,而且所指的位置不能存在已有字符,否则它会自动跳到下一行。追问你好,存为CSV文件后,在程序中用什么进行读取显示才可以像Excel里的一样整齐。追答可以在程序中直接启动Excel来打开文件,也可以用Excel对象来对csv文件进行精确控制(可以直接改写文件内容),此外还可以采用Excel控件,或者OLE,等等,方法很多,由于不知道你的具体目的,我也无法直接给出例子,你自己问一下度娘吧。
全部回答
  • 1楼网友:撞了怀
  • 2021-04-03 22:49
那就用Tab函数定位好了,tab里面的数字你自己调整到合适位置
Print #1, Right(Form2.Text1 & " ", 6); Tab(10); Right(Label1.Caption & " ", 14); Tab(30); Right(Label2.Caption & " ", 14); Tab(50); Label3.Caption; Tab(75); Right(Label4.Caption & " ", 18); Tab(100); "存盘时间:" & Now()追问不行啊,有时候字数多有时候字数少,毕竟不是使用数据库,还是不能对齐
张三 测试字数:18
麦克斯 测试字数:18追答用Trim函数去掉空格
Print #1, Trim(Right(Form2.Text1 & " ", 6)); Tab(10); Trim(Right(Label1.Caption & " ", 14)); Tab(30); Trim(Right(Label2.Caption & " ", 14)); Tab(50); Trim(Label3.Caption; Tab(75)); Trim(Right(Label4.Caption & " ", 18)); Tab(100); "存盘时间:" & Now()
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯