以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 想达到每一列左对齐,请老师指教! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186814) |
-- 作者:xxfoxtable -- 发布时间:2023/5/31 0:47:00 -- 想达到每一列左对齐,请老师指教! 想达到每一列左对齐,请老师指教! Dim Multi As String = "旋复花10g,前胡10g,荆芥穗15g,麻黄10g,赤芍30g,炙干草10g,姜半夏10g,桔梗15g,陈皮10g,白前2g,百部20g" Dim ss As String Dim Values() As String Values = Multi.split(",") Dim js As Integer = 1 For Index As Integer = 0 To Values.Length - 1 ss = ss & Values(Index).PadRight(12) If js Mod 4 = 0 Then ss = ss & vbcrlf End If js = js + 1 Next output.show(ss) |
-- 作者:有点蓝 -- 发布时间:2023/5/31 8:47:00 -- 这个没有办法,因为每种字符(中文,数字,英文)的宽度都不一样。 除非全部转换为全角字符,注意空格也要全角的 …… ss = ss & StrToWide(Values(Index)).PadRight(12, " ") …… |
-- 作者:xxfoxtable -- 发布时间:2023/5/31 8:57:00 -- 全角太难看了,老师还有其他变向的方法吗? |
-- 作者:有点蓝 -- 发布时间:2023/5/31 9:00:00 -- 没有其它办法 |
-- 作者:cd_tdh -- 发布时间:2023/5/31 9:12:00 -- 借用群里面朋友写的,发出来方便下次好找 Dim 字符串 As String = "旋复花10g,前胡10g,荆芥穗15g,麻黄10g,赤芍30g,炙干草10g,姜半夏10g,桔梗15g,陈皮10g,白前2g,百部20g"
Dim 字符组() As String = 字符串.Split (",") Dim 字符长度集 As New List(Of Integer) For Each 字符 As String In 字符串.split(",") \'循环数组,得到字符组的长度 字符长度集.add(UKey.LenStrA(字符)) \'UKey有一个函数LenStrA,用计算字符串的字节长度(不能直接用字符长度集.add(Len(字符))) Next Dim 最大值 As Integer = 字符长度集.max Dim 分组位数 As Integer = 4 Dim 集合型集合 As New List(Of List(Of String)) For 组头序号 As Integer = 0 To 字符组.Count - 1 Step 分组位数 Dim 字符型集合 As New List(Of String) For 组内序号 As Integer = 0 To 分组位数 - 1 Dim 总序号 As Integer = 组头序号 + 组内序号 If 总序号 < 字符组.Count Then Dim 补全空白字符数 As Integer = 最大值 - UKey.LenStrA(字符组(组头序号 + 组内序号)) 字符型集合.Add(字符组(组头序号 + 组内序号) + Space(补全空白字符数 + 5)) End If Next 集合型集合.Add(字符型集合) Next For Each 集合 As List(Of String) In 集合型集合 Output.Show (String.Join ("", 集合)) Next [此贴子已经被作者于2023/5/31 9:12:13编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/5/31 9:30:00 -- |