tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: IPアドレス
投稿日: 2008/06/30(Mon) 11:29
投稿者IP
ちょっと言葉不足だったからかもしれません・・・。すみません。
Timer内でこの判別を行うためリアルタイムにテキストボックス内をチェックしています。
Dim ChkIP() As String '分割したIPアドレス
Dim i As Integer
ChkIP() = Split(Text1.Text, ".")
If UBound(ChkIP) <> 3 Then Stop
    For i = 0 To 3
        If Not IsNumeric(ChkIP(i)) Then Stop
        If (Val(ChkIP(i)) < 0) Or (Val(ChkIP(i)) > 255) Then Stop
    Next i
End Sub
このやり方を実行するとピリオドが3つないときつまり無記入の状態だと
インデックスが指定範囲外になってしまうので駄目でした。
僕が最初に定義してあるIf文では、
(PortCheck1 = PortName.Text Like "*#.*#.*#.*#"  )
上記より、ピリオドが3つ以上ないと判別の処理を実行しないものになっています。
リアルタイムにテキストボックスを呼び出し判別するかたちで
何か良い案がありましたら宜しくお願い致します。
ちなみに自分が思いついた判別方法がこれです。

PortCheck1 = PortName.Text Like "*#.*#.*#.*#"           '最低1桁ピリオド毎に入力
PortCheck2 = PortName.Text Like "*.*.*.####"            'ピリオド毎に4桁以上入力不可
PortCheck3 = PortName.Text Like "*.*.*.#####"
PortCheck4 = PortName.Text Like "*.*.*.######"
PortCheck5 = PortName.Text Like "*.*.*.#######"
PortCheck6 = PortName.Text Like "*.*.*.########"
PortCheck7 = PortName.Text Like "*.*.*.#########"
PortCheck8 = PortName.Text Like "*.*.####.*"
PortCheck9 = PortName.Text Like "*.*.#####.*"
PortCheck10 = PortName.Text Like "*.*.######.*"
PortCheck11 = PortName.Text Like "*.*.#######.*"
PortCheck12 = PortName.Text Like "*.*.########.*"
PortCheck13 = PortName.Text Like "*.*.#########.*"
PortCheck14 = PortName.Text Like "*.####.*.*"
PortCheck15 = PortName.Text Like "*.#####.*.*"
PortCheck16 = PortName.Text Like "*.######.*.*"
PortCheck17 = PortName.Text Like "*.#######.*.*"
PortCheck18 = PortName.Text Like "*.########.*.*"
PortCheck19 = PortName.Text Like "*.#########.*.*"
PortCheck20 = PortName.Text Like "####.*.*.*"
PortCheck21 = PortName.Text Like "#####.*.*.*"
PortCheck22 = PortName.Text Like "######.*.*.*"
PortCheck23 = PortName.Text Like "#######.*.*.*"
PortCheck24 = PortName.Text Like "########.*.*.*"
PortCheck25 = PortName.Text Like "#########.*.*.*"
PortCheck26 = PortName.Text Like "*.*.*.*.*"            'ピリオドを3つ以上入力不可
PortCheck27 = PortName.Text Like "*.*.*.*.*.*"
PortCheck28 = PortName.Text Like "*.*.*.*.*.*.*"
PortCheck29 = PortName.Text Like "*.*.*.*.*.*.*.*"
PortCheck30 = PortName.Text Like "2[6-9]#.*.*.*"        '255以上の数字を入力不可
PortCheck31 = PortName.Text Like "*.2[6-9]#.*.*"
PortCheck32 = PortName.Text Like "*.*.2[6-9]#.*"
PortCheck33 = PortName.Text Like "*.*.*.2[6-9]#"
PortCheck34 = PortName.Text Like "2[5-9][6-9].*.*.*"
PortCheck35 = PortName.Text Like "*.2[5-9][6-9].*.*"
PortCheck36 = PortName.Text Like "*.*.2[5-9][6-9].*"
PortCheck37 = PortName.Text Like "*.*.*.2[5-9][6-9]"
PortCheck38 = PortName.Text Like "0#*.*.*.*"            '数字の前に0を入力不可
PortCheck39 = PortName.Text Like "*.0#*.*.*"
PortCheck40 = PortName.Text Like "*.*.0#*.*"
PortCheck41 = PortName.Text Like "*.*.*.0#*"
PortCheck42 = PortName.Text Like "[3-9]##.*.*.*"
PortCheck43 = PortName.Text Like "*.[3-9]##.*.*"
PortCheck44 = PortName.Text Like "*.*.[3-9]##.*"
PortCheck45 = PortName.Text Like "*.*.*.[3-9]##"
これらをIf文で判別し、とあるボタンのEnableをTrueかFalseにしようと言うものです。

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

古いスレッドにレスはつけられません。