タイトル : Re^3: IPアドレス 投稿日 : 2008/06/30(Mon) 12:04 投稿者 : よねKEN
> ちょっと言葉不足だったからかもしれません・・・。すみません。 何が言葉不足だったのでしょうか? 不足があったなら補足してくださいね。 > Timer内でこの判別を行うためリアルタイムにテキストボックス内をチェックしています。 不足というのはこの辺のことをおっしゃっていますか? 最初の投稿で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つないときつまり無記入の状態だと > インデックスが指定範囲外になってしまうので駄目でした。 ダンボさんの書かれているコードの意味を理解されましたか? IPアドレスが4つのパーツに分割されなかった場合は不正なものとしてStopするようにコーディングされています。 > 僕が最初に定義してあるIf文では、 > (PortCheck1 = PortName.Text Like "*#.*#.*#.*#" ) > 上記より、ピリオドが3つ以上ないと判別の処理を実行しないものになっています。 そのように修正しましょう。 > ちなみに自分が思いついた判別方法がこれです。 現時点でご提示になっている情報からだとこのような複雑なコードにする 必要性はないと思います。もし必要だとすればIPさんの想定する仕様で、 ここの投稿に記載漏れていることがあるのではないでしょうか。 |