投稿日 | : 2003/06/20(Fri) 18:18 |
投稿者 | : まな |
Eメール | : |
URL | : |
タイトル | : Re^2: 文字列を数値に変換する方法 |
出来ました!が、ちょっとしょぼい物になってしまったようです。
スマートに作りかえれますでしょうか?(汗)
テキストボックス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