投稿日 | : 2003/06/20(Fri) 18:32 |
投稿者 | : まな |
Eメール | : |
URL | : |
タイトル | : Re^3: 文字列を数値に変換する方法 |
> 出来ました!が、ちょっとしょぼい物になってしまったようです。
> スマートに作りかえれますでしょうか?(汗)
>
> テキストボックス2個用意しました。
>
>
> Option Explicit 'SampleNo=069 WindowsXP VB6.0(SP5) 2002.05.15
>
> Private Const Hennsuu1 = "-0.005A"
> Private Hennsuu2 As String
>
> Private Function fTextBoxNumberCheck(ByRef MyTextBox As String) As String
> Dim i As Long
>
> '入力文字を1文字づつチェック
> For i = 1 To Len(MyTextBox)
> '最初の1文字目以外に−が入っていたら削除
> If Mid$(MyTextBox, i, 1) = Chr$(45) And i <> 1 Then
> fTextBoxNumberCheck = True
> '- を文字列から抜き取りテキストボックスに代入
> MyTextBox = Mid$(MyTextBox, 1, i - 1) & _
> Mid$(MyTextBox, i + 1, Len(MyTextBox) - i)
> Beep
> 'カーソル位置をテキストの末尾へ
> MyTextBox = Len(MyTextBox)
>
> Exit Function
> End If
> '0〜9 - . 及び Enter Tab 等の制御文字以外を削除
> If Mid$(MyTextBox, i, 1) >= Chr$(32) And Mid$(MyTextBox, i, 1) _
> < Chr$(45) Or Mid$(MyTextBox, i, 1) _
> > Chr$(57) Or Mid$(MyTextBox, i, 1) = Chr$(47) Then
>
> '以下上記同様の処理
> MyTextBox = Mid$(MyTextBox, 1, i - 1) & _
> Mid$(MyTextBox, i + 1, Len(MyTextBox) - i)
> Beep
> Text2.Text = MyTextBox
> Exit Function
> End If
> Next i
>
> End Function
>
> Private Sub Form_Load()
> Text1.Text = Hennsuu1
> End Sub
>
> Private Sub Text2_Change()
> Dim Result As String
> Result = fTextBoxNumberCheck(Hennsuu1)
> End Sub