textbox限定问题

uuuubird 2017-01-05 06:56:47

如图示,要如何输入两位数字后面跟一个逗号(,),再输入两位数字后面跟一个句号(.)。谢谢。
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
uuuubird 2017-01-07
  • 打赏
  • 举报
回复
谢谢指导,谢谢。
of123 2017-01-06
  • 打赏
  • 举报
回复
1 只允许输入数字,以及回车、Tab 和向前删除 2 只允许输入 6 位数字 3 自动添加逗号和句号 4 支持退格键,支持 Delete 和 Del 键
Option Explicit

Private Sub Form_Load()
    Text1.MaxLength = 8
    Text1 = ""
End Sub

Private Sub Text1_Change()
    If Len(Text1) = 2 Then Text1 = Text1 & ","
    If Len(Text1) = 5 Then Text1 = Text1 & "."
    Text1.SelStart = Len(Text1)
End Sub

Private Sub Text1_Click()
    Text1.SelStart = Len(Text1)
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then
    ElseIf KeyAscii = Asc(vbCr) Or KeyAscii = Asc(vbTab) Then
    ElseIf KeyAscii = 8 Then
        If Len(Text1) = 3 Or Len(Text1) = 6 Then
            Text1 = Left(Text1, Len(Text1) - 2)
            KeyAscii = 0
        End If
    Else
        KeyAscii = 0
    End If
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 46 Or KeyCode = 110 Then
        Text1 = ""
    End If
End Sub
Tiger_Zhao 2017-01-06
  • 打赏
  • 举报
回复
方案一:输入结束时进行校验
Private Sub Text1_Validate(Cancel As Boolean)
If LenB(Text1.Text) <> 0 Then
If Not Text1.Text Like "##,##.##" Then
MsgBox "输入不合法。", vbExclamation
Cancel = True
End If
End If
End Sub

方案二:用 MaskEdBox 控件限定输入
添加组件引用 Microsoft Masked Edit Control 6.0 (文件是 msmask32.ocx)
用 MaskEdBox 代替原先的 TextBox,设置 Mask 为 ##,##.##
打败所有黑客 Beat All Hackers 【欢迎转载或翻译该文】 现在上网,难免会涉及一些需要保密的内容,比如密码,账号,卡号,证件号等。但是黑客无处不在,他们常常窃听你的信息,给你放置陷阱,让你的防不胜防。 比如我现在要将信息“账号:123456,密码:567890” 从A经过B传递到C,黑客可能从中间环节B截取你传输的信息。我们日常交换的信息量是很大的,黑客怎么知道现在传输的就是“密码”或“账号”呢?那么他就会设定关键词,比如“密码”,凡是含有该关键词的信息都会被截获,而其他信息就会被放掉。 你可能会讲,你传输的信息都是通过加密的,对!这就是关键的地方,现在已经有很多加密算法,他们将我们传输的数据进行加密,但是请注意,既然可以加密就可以解密,你可能从网络上早已了解到,很多加密算法是如何的厉害,一台PC要暴利破解要多少年!可是你忽略了,黑客可能比你的计算机好,他也可能控制肉鸡帮他计算,他破解的速度可能远远超出你的想象。 同时,你必须注意,现在很多加密算法,加密部分都是掌握在别人手上,比如你通过及时通讯或email将信息传递给你的朋友,一般加密都是掌握在即时通讯提供方,和email提供方,如果被黑客利用,你的信息将视同于没有加密。或者黑客可以对其陷阱预设解密方法和密钥,一旦检测到就进行解密。所以你最好自己对信息加密! 现在问题是,黑客对你信息不能解密的放过,能够解密的再留下破解。你的信息仍然处于危险之中。于是有了我现在所说的这种加密方法,非函数不校检的加密方法。 加密思想: 原始文本:1234567890 密钥:123 首先如果密钥第一位为1,则将原始明文,逐位交换变成2143658709. 其次如果密钥第二位为2,则继续进行两两交换,变成4321876509 再次如果密钥第三位为3,则继续三三交换,变成1874326509 密钥是什么可以自己限定,交换方式也可以自己设定,你可以逐位交换,也可以跳转交换,也可以按密文所在位的值进行交换。主要思想就是,乱序。那么所有排列的数量就与你原始明文的长度密切相关,比如10位,所有可能就是P10的全排列。不同密码,可能加密出同样的结果。但是如果把一个字符按64位或256位处理,短短的10位字符,已经不再只有P10的全排列个结果。 关键点:不管你的计算机有多快,你每次只能解密一次!而且计算机不会告诉你是否解密正确,必须要你自己判断!即使黑客知道怎么解密也不好下手,即使他们做出所有的排列,也必须一个一个去判断哪一个正确。这是任何一个黑客都无法忍受的!而且排序很耗资源,即使其自定义一些检测方法也于事无补。 先看个例子: 原始明文“天上密密麻麻布满乌云,码头上的船也整整齐齐的排列在一起,等待暴风雨的来临!” 密码:235312336232 结果:“上密码天密麻满乌船的云布上暴列头风,齐齐,起麻整一的的在等排雨也来待整临!” 全句含标点37个字符,两个“密”一个“码”,现在只考虑一个“密”跟“码”结合组合成“密码”关键词,而且只考虑排在句首,那么组合形式就达P35的全排列。如果我们将这句话乱序发出,至少有P35/P37的概率触发黑客的“密码”关键词陷阱。打个比方就是,猎人在一条道上放了陷阱,凡是靠近地面行走的动物才会触发机关,现在是风吹一下就会触发机关。无穷的信息量将使黑客的陷阱充满无用信息,让其降低真正窃密的几率! 迫切性,大家都在说云计算时代来了,软件不用装了,海量信息可以存储到服务器上,走到哪里就在那里提取,但是你能保证你在服务器上的信息不泄露吗?怎么办?我的建议是,利用上面的加密思想进行加密,任何人想要暴利破解都不行,而你只需要输入密码,很快就可以确定那就是你的原始信息! 1, 自己编译软件:首先如果你可以自己根据代码设置自己的算法(改变交换位置即可)和密码,然后自己编译成软件,那么加密方法就是你一个人独有的。 2, 添加浏览器插件:也可以为你的IE,Maxthon,firefox,opera等浏览器或其他工具添加插件。 这样你可以在发email或者写网上日志时使用。比如你想记录自己的日常生活,记在自己电脑上怕遗失,记在网上又怕被黑客攻击而泄露,所以这时你需要这个简单有效的加密方式,不增加内容的长度,看上去也跟别的日志没有区别,要看的时候,自己输入密码看就是,如果是IE等浏览器有插件设置好的话,还可以免去这些繁复的操作,自动加密和解密! 你的空间或博客可能设置有密码,如果你再通过这种方式对你写的日记加密,即使别人破解了你的空间密码,或博客出现漏洞,你的信息也不会被泄露。该方法也可以对文件和图片进行加密,比如图片,可以按照一个一个像素的交换,这样加密的图片是很难破解的,但是你根据你的密码可以轻松的还原。防止你的秘密相册被偷看。 这个当然也可以用于其他信息加密,比如声音加密

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧