是这样的,我要编一个打印文本居中的函数,
设Text1为: 要打印的文本
例如:
打印字符数: 左边空格数:
如果Text1有4个字符则左边的空格数为0 4 0
如果Text1有3个字符则左边的空格数为1 3 1
如果Text1有2个字符则左边的空格数为2 2 2
如果Text1有1个字符则左边的空格数为3 1 3
少的很好办呀,用Case 全列出来就是了,但多了怎么办呀,这个函数用数学表达式怎写,用编程怎写呀?
如:
Dim x As Integer 'x为要打印字符的个数
Private Sub Command1_Click()
x = Len(Trim(Text1))
Select case x
case 4
Print Space(0) & Text1.text
case 3
Print space(1) & Text1.text
case 2
Print space(2) & Text1.text
case 1
Print space(3) & Text1.text
End select
End Sub
设Text1为: 要打印的文本
例如:
打印字符数: 左边空格数:
如果Text1有4个字符则左边的空格数为0 4 0
如果Text1有3个字符则左边的空格数为1 3 1
如果Text1有2个字符则左边的空格数为2 2 2
如果Text1有1个字符则左边的空格数为3 1 3
少的很好办呀,用Case 全列出来就是了,但多了怎么办呀,这个函数用数学表达式怎写,用编程怎写呀?
如:
Dim x As Integer 'x为要打印字符的个数
Private Sub Command1_Click()
x = Len(Trim(Text1))
Select case x
case 4
Print Space(0) & Text1.text
case 3
Print space(1) & Text1.text
case 2
Print space(2) & Text1.text
case 1
Print space(3) & Text1.text
End select
End Sub
解决方案 »
- 如果用vb解除其他程序锁定的文件夹
- vb数据库(access)导出高手请看过来。如何将access数据库中某个表按要求导出成viual foxpro表
- 如何在ACCESS数据库中某个字段为文本类型得取得最大值?
- 如何把记事本的内容输出到相应的标签上
- 谢谢帮忙解决一个难题
- 关于那个把查询结果倒出到一个excel文件的。如何自定义生成到execl里的字段名?求助!
- 给100分请大家帮忙,有没有vb的经销存软件或者别的(适合于毕业设计)
- 紧急求救 VB和SQL做的数据库管理系统安装问题
- 安装程序怎样把MSDE的数据库打包进去
- tree view
- 我想编一个可以传送语音和视频的软件,只求方法和思路不求源代码
- 升五角星,散散分,暖和一下。
Private Sub Command1_Click()
x = Len(Trim(Text1))
Select case x
case 4
Print Space(0) & Text1.text
case 3
Print space(1) & Text1.text
case 2
Print space(2) & Text1.text
case 1
Print space(3) & Text1.text
case else
print left(text1.text,4) '或改成do something
End select
End Sub
怎么DO something 呀?如: 打印字符数: 左边空格数:
100 0
99 1
98 2
97 3
96 4
95 5
. .
. .
. .那怎么写呀,那是不是要写一百条CASE呀?
还是如下这样写就行了呢?Dim x As Integer 'x为要打印字符的个数
Private Sub Command1_Click()
x = Len(Trim(Text1))
Select case x
case 100
Print Space(0) & Text1.text
case 99
Print space(1) & Text1.text
case 98
Print space(2) & Text1.text
case 97
Print space(3) & Text1.text
case else
print left(text1.text,100)
End select
End Sub
要打印字符个数: 左边空格数:
5(全满一行) 0
4 0.5
3 1
2 1.5
1 2
***************************************************************************
要打印字符个数: 左边空格数:
100(全满一行) 0 即(100-100)/2
99 0.5 即(100-99)/2
98 1 即(100-98)/2
97 1.5 即(100-97)/2
. .
. .
. .救命呀,没有SPACE(0.5)的,怎么办呀?
print left(text1.text,4) '或改成do something
这说明如长度所有不是一位到四位的情况打印前四位,当然你也可以改成你所想要的结果,如你要全打印,则:
case else
print text1.text
如要打印前100位:则:
case else
print left(text1.text,100)
Private Sub Command1_Click()
x = Len(Trim(Text1))
if x>100 then '如长度大于100,则打印前100位
print left(trim(text.text),100)
else '如长度小于100,则在前面加空格
print space(100-x) & trim(text1.text)
end if
End Sub
Dim x As Integer 'x为要打印字符的个数
Private Sub Command1_Click()
x = Len(Trim(Text1))
if x>100 then '如长度大于100,则打印前100位
print left(trim(text.text),100)
else '如长度小于100,则在前面加空格
print space(100-x) & trim(text1.text)
end if
End Sub居中类似的为:(但处理不了SPACE(0.5)呀?)
Dim x As Integer 'x为要打印字符的个数
Private Sub Command1_Click()
x = Len(Trim(Text1))
if x>100 then '如长度大于100,则打印前100位
print left(trim(text.text),100)
else '如长度小于100,则在前面加空格
print space((100-x)/2) & trim(text1.text)
end if
End Sub
噢,取整是不是INT?
方法1:文本框控件的Alignment属性可以直接设置"居中,左对齐,右对齐"效果.
方法2:用代码实现.
居中的写法:假设一行可以容纳L个字符,要在text1中显示字符串string1.
Private Sub Command1_Click()
Const L As Integer = 10 '文本框一行可显示的最长长度
Dim string1 As String
Dim iLen As Integer '字符串长度
Dim iSpace As Integer '要在左边补上的空格数量
string1 = Trim(Text1.Text)
iLen = Len(string1)
iSpace = (L - iLen) / 2
If iSpace > 0 Then
Text1.Text = Space(iSpace) & string1
End If
End Sub
ispace=L - iLen