作业题,求大佬搭救,谢谢!
vb吧
全部回复
仅看楼主
level 6
设计程序功能是从键盘上输入一个不超过4位的十进制正整数,先把该十进制数的每一位数字转换位一个4位二进制数,再把得到的二进制数依次合并成为一个16位的二进制数。例如输入十进制数359,会得到二进制数0000001101011001。
要求:
从文本框当中输入不超过四位的十进制正整数,如果输错,要求报错,要求清空文本框重新输入。
2021年03月19日 02点03分 1
level 11
你不会的是哪一个功能?
2021年03月19日 03点03分 2
2021年03月20日 02点03分
现在是加提示了
2021年03月19日 13点03分
@璐村惂鐢ㄦ埛_0748V5Z馃惥 嗯嗯,知道了,谢谢
2021年03月20日 09点03分
level 11
我猜测你可能是下面那个要求,处理KeyPress事件应该就可以了
2021年03月19日 04点03分 3
实话是当时看到时脑子里一点思路也没有,只知道写点通式
2021年03月19日 13点03分
@之乎者也👀💨 不是很难,处理Keypress事件,当输入内容不为数字时提示,清空文本框,当输入时文本框已有4个数字时提示,并清空文本框
2021年03月19日 14点03分
@余思培 你知道怎么让文本框里数据竖起来吗
2021年03月19日 15点03分
@余思培 我写了个Text1.Text=Text1.Text&“数组中”& i & “出现”& b(i) &“次”。 然后文本框里显示一长条文本
2021年03月19日 15点03分
level 7
Option Explicit
Private Sub Command1_Click()
Dim a As Integer
Dim i As Integer
Dim s As String
s = ""
a = Val(Text1.Text)
Do While (a)
i = a Mod 10
s = fun1(i) & s
a = a \ 10
Loop
For i = 1 To 16 - Len(s)
s = "0" & s
Next
Print s
End Sub
Private Sub Form_Load()
Text1.MaxLength = 4
End Sub
Function fun1(a As Integer) As String
Dim i As Integer
Dim s As String
s = ""
Do While (Len(s) < 4)
i = a Mod 2
s = i & s
a = a \ 2
Loop
fun1 = s
End Function
2021年03月19日 07点03分 4
谢谢,但这个有一点不符合要求,需要加个错误提示,就文本框内超过4位数就提示,我试过text·maxlength,但不行
2021年03月19日 13点03分
@之乎者也👀💨 核心的东西不变就行了
2021年03月19日 14点03分
@文道网络科技 我们是作业,必须按要求[泪],从中午到现在,脑瓜子嗡嗡的
2021年03月19日 15点03分
@之乎者也👀💨 限制一个文本框为4的方法有很多。说细了,你文本框内如果是字母,是不是也要处理。
2021年03月20日 01点03分
level 11
这题目说的很复杂,其实本质就是“二-十进制”节存两位十进制数。
转换很简单。对输入检查,一方面是长度,另一方面是非法字符,都没有别的
2021年03月20日 03点03分 5
level 11
你到代码页,选择TextBox控件,然后再在后面的事件选择KeyPress事件,然后再写处理
处理的方法是判断当前输入的字符值是不是在0(48)-9(57)之间,若不是则为非法字符,若是,则检查当前字符的长度是否为4,若是则超出长度,若不是则输入。
处理Change事件也可以,只是你需要清空文本框,而清空文本框则又会触发一次change事件,当然,keydown、keyup事件也可以
2021年03月20日 05点03分 6
微软约定俗成的做法是“确定”按钮
2021年03月20日 05点03分
@璐村惂鐢ㄦ埛_0748V5Z馃惥 按确定之后再判断?
2021年03月20日 06点03分
@余思培 你应该见过很多咱们觉得意义不大的“确定”、“下一步”等等按钮。实际都是与这个类似这个的情况
2021年03月20日 08点03分
你还在吗,我又来了
2021年03月20日 09点03分
1