タイトル | : Re^2: IPアドレス |
記事No | : 12655 |
投稿日 | : 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にしようと言うものです。
|