VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -