http://vbnet.mvps.org/index.htmlに掲載されていたものを使い、Pingのプログラム試そうとしたら
Private Sub Command1_Click()
Dim ECHO As ICMP_ECHO_REPLY
Dim pos As Long
Dim success As Long
If SocketsInitialize() Then
'ping the IP by passing the address,
'text to send, and the ECHO structure.
success = Ping((Text1.Text), (Text2.Text), ECHO)
'display the results
Text3(0).Text = GetStatusCode(success)
Text3(1).Text = ECHO.Address
Text3(2).Text = ECHO.RoundTripTime & " ms"
Text3(3).Text = ECHO.DataSize & " bytes"
If Left$(ECHO.Data, 1) <> Chr$(0) Then
pos = InStr(ECHO.Data, Chr$(0))
Text3(4).Text = Left$(ECHO.Data, pos - 1)
End If
Text3(5).Text = ECHO.DataPointer
SocketsCleanup
Else
MsgBox "Windows Sockets for 32 bit Windows " & _
"environments is not successfully responding."
End If
End Sub
のところで、各text.textのところで変数が定義されていません、とコンパイルエラーが出てしまいました。
解決策、どなたかわかる方教えてください
>各text.textのところで変数が定義されていません
各text.textのところってどこ?
text3(0)〜text3(4)を置いてないだけじゃないかと思います。
textboxを一つ置いてオブジェクト名をtext3にして、コピペすると、コントロール配列にするか?ときかれるのでOKを押し、合計4つ作ります。
それでエラー消えませんか?
> Text3(5).Text = ECHO.DataPointer
5まであるけどね(^^;)
あぅ^^;
並んでるのしか見えなかった><
じゃあ合計6こですね。失礼しました。
厳密に言えば
> success = Ping((Text1.Text), (Text2.Text), ECHO)
でもテキストボックスは使ってて、
>のところで、各text.textのところで変数が定義されていません、とコンパイルエラーが
の質問には Text1.Text の方が近い気もするが、Text1 も貼り付けて
ないなら何もできてないわけです。…がいくらなんでもそこまで
酷くは無いだろう…とは思うものの、だったら質問も
『Text1 は貼り付けたんですが Text3(0).Text の(0)って何?』
とかいう内容になるだろうし…。
…で常連になると我龍院忠太さんみたいに聞いたり
必要なコントロール貼り付けてますか?とかコントロール
配列って知ってます?とか…etc...
色々と文章を考えて、面倒になって、回答保留になりますw
回答が欲しければ質問にエラー箇所の限定は必要ですし、
より正確な表記を心掛けてくれると無駄な労力が減ります。
…ま、当たり前の事なんですが(^^;)
>常連じゃナイひと
常連が引いちゃってる質問に鋭い回答期待してますからっ(>▽<)ノ
答えられると思ったら作戦は『ガンガンいこうぜ』でお願いm(__)m
Text3を貼り付けてないとは、考えても見ませんでした、
想像力の欠如でした。orz
ツイート | ![]() |