首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

送分100分:怎么控制在文件框中输入的字符格式

2012-01-12 
送分100分:如何控制在文件框中输入的字符格式。现有一个问题是:在一个文本框中输入时间,包含时和分两部分,

送分100分:如何控制在文件框中输入的字符格式。
现有一个问题是:
在一个文本框中输入时间,包含时和分两部分,输入的形式可能会有003(即0:03)、830(即8:30)、1212(即12:12)

现在的要求是,用户输入(1)003后,文本框自动显示为00:03
  (2)830后,文本框内容自动显示为08:30
  (3)1212后,文本框内容自动显示为12:12



[解决办法]
'文本框 Text1,Text2,Text1中输入时间(3-4位),Text2中自动显示转换,具体其它处理自己再优化一下

Private Sub Text1_Change()

If Len(Text1.Text) = 3 Then
Text2.Text = Format(Text1.Text, "0:00")
ElseIf Len(Text1.Text) = 4 Then
Text2.Text = Format(Text1.Text, "00:00")
Else
Text2.Text = ""
End If

End Sub

[解决办法]

VB code
Private Sub Text1_KeyPress(KeyAscii As Integer)    If (KeyAscii < 32) Then        If (KeyAscii = 13) Then            If (Len(Text1) < 2 Or Len(Text1) > 4) Then                MsgBox "输入数据错误!", 48            Else                Select Case i                    Case 2: Text1 = "0" & Left(Text1, 1) & ":0" & Right(Text1, 1)                    Case 3: Text1 = "0" & Left(Text1, 1) & ":" & Right(Text1, 2)                    Case 4: Text1 = Left(Text1, 2) & ":" & Right(Text1, 2)                End Select            End If        Else            Exit Sub        End If    End If    If (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0End Sub
[解决办法]
VB code
Dim IsSetText As BooleanPrivate Sub Text1_Change()   If IsSetText = True Then Exit Sub   If Len(Text1.Text) > 3 Then      Text1_LostFocus   End IfEnd SubPrivate Sub Text1_GotFocus()   Text1.SelStart = 0   Text1.SelLength = Len(Text1.Text)End SubPrivate Sub Text1_LostFocus()   IsSetText = True   Text1.Text = Format(Text1.Text, "00:00")   IsSetText = False   Text1.SelStart = 0   Text1.SelLength = Len(Text1.Text)End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)   If KeyAscii = 13 Then      Text1_LostFocus   End IfEnd Sub
[解决办法]
简单的字符串处理,用right和left函数分解字符串为2部分,再用format格式为需要的格式.相比来说1楼的更简洁
[解决办法]
探讨
现有一个问题是:
在一个文本框中输入时间,包含时和分两部分,输入的形式可能会有003(即0:03)、830(即8:30)、1212(即12:12)

现在的要求是,用户输入(1)003后,文本框自动显示为00:03
(2)830后,文本框内容自动显示为08:30
(3)1212后,文本框内容自动显示为……

[解决办法]
探讨

引用:
现有一个问题是:
在一个文本框中输入时间,包含时和分两部分,输入的形式可能会有003(即0:03)、830(即8:30)、1212(即12:12)

现在的要求是,用户输入(1)003后,文本框自动显示为00:03
(2)830后,文本框内容自动显示为08:30
(3)1212后,文本框内容自动显示为……

如果够三位数就转换,那四位数的怎么办……

[解决办法]
= format (txt, "#0:00")
[解决办法]
用不着两个 Format 格式。

Format("830", "00:00") 的结果就是 "08:30"。

热点排行
Bad Request.