PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

回應
 
主題工具
fsaa3dfx
Elite Member
 
fsaa3dfx的大頭照
 

加入日期: Apr 2004
文章: 14,365
[請教] VB高手語法涵義

小弟想 請教一下板上的VB高手

下面這行VB註解 有何涵義呢~? 假如要用中文註解 該如何解釋較妥當

Text.Text = Winsock1(i).RemoteHostIP & ":" & str & vbCrLf & Text.Text

因為友人請小弟幫忙...小弟對這方面不太熟悉 網路找到的...也不太了解


所以想請教一下是否有高手能解惑 感激不盡
     
      
舊 2005-11-16, 01:06 AM #1
回應時引用此文章
fsaa3dfx離線中  
teszd
*停權中*
 
teszd的大頭照
 

加入日期: Oct 2003
文章: 472
text.text的內容變成由以下內容連接
Winsock1(i).RemoteHostIP後接:後接str後接vbCrLf後接原來的內容(Text.Text)
就是這樣....怎麼潤飾自己想

這種問題執行完給它顯示一下就知道了,我都這樣
 

此文章於 2005-11-16 01:17 AM 被 teszd 編輯.
舊 2005-11-16, 01:16 AM #2
回應時引用此文章
teszd離線中  
fsaa3dfx
Elite Member
 
fsaa3dfx的大頭照
 

加入日期: Apr 2004
文章: 14,365
引用:
作者teszd
text.text的內容變成由以下內容連接
Winsock1(i).RemoteHostIP後接:後接str後接vbCrLf後接原來的內容(Text.Text)
就是這樣....怎麼潤飾自己想

這種問題執行完給它顯示一下就知道了,我都這樣



嗯 ...您好請問 如果要用中文註解潤飾的話 該如何回答呢...?

對方就是問我中文 可是我不曉得該如何解釋 因為我對這方面不是在行

所以...
舊 2005-11-16, 01:23 AM #3
回應時引用此文章
fsaa3dfx離線中  
rolandshiue
Basic Member
 

加入日期: Jul 2004
文章: 12
貼一小行是怎樣
Text.Text = Winsock1(i).RemoteHostIP & ":" & str & vbCrLf & Text.Text

應該是個迴圈吧
把winsock1所有的ip顯示到text上
舊 2005-11-16, 01:27 AM #4
回應時引用此文章
rolandshiue離線中  
fsaa3dfx
Elite Member
 
fsaa3dfx的大頭照
 

加入日期: Apr 2004
文章: 14,365
引用:
作者rolandshiue
貼一小行是怎樣
Text.Text = Winsock1(i).RemoteHostIP & ":" & str & vbCrLf & Text.Text

應該是個迴圈吧
把winsock1所有的ip顯示到text上



我也不曉得 對方就是請問我這行VB語法 我不是很在行 所以才會上來問問...

下面是原始語法 不過他只問我這行

Text3.Text = Winsock1(i).RemoteHostIP & ":" & str & vbCrLf & Text3.Text

Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim str As String
Winsock1(Index).GetData str

Text3.Text = Winsock1(i).RemoteHostIP & ":" & str & vbCrLf & Text3.Text

For i = 1 To 30
If Winsock1(i).State = sckConnected Then
Winsock1(i).SendData str
DoEvents
End If
Next i

End Sub

不過還是謝謝您的回答~
舊 2005-11-16, 01:49 AM #5
回應時引用此文章
fsaa3dfx離線中  
diolin
Basic Member
 

加入日期: Oct 2003
文章: 18
大概看一下, 這似乎是聊天室的 code , 不過有問題的那一行的 i 應該改成 index

大意是將 "client IP:文字" 附加在 Text3 的最上面 (你要問的那一行)
並將這些文字送給其它 client (下面的 code)
舊 2005-11-16, 09:34 AM #6
回應時引用此文章
diolin離線中  
November Rain
Major Member
 
November Rain的大頭照
 

加入日期: Jul 2001
文章: 111
小的不才,不過還沒聽過程式碼需要用中文「翻譯」的,連參考書也沒這樣做。
頂多就是「加上註解」罷了。了解它的作用,以自已懂的方式去註解,不就好了嗎?

我不寫 VB,我寫 Delphi,可是這段程式碼,我想我應該也看得懂,那就是:

Winsock1_DataArrival 是由其他程序呼叫的子程序,藉由被傳入的 Index 參數,給 Winsock1.GetData 取得 Winsock1 的相關資訊並 assign 給 str 後,將 Winsock1.RemoteHostIP 及 str 累加到 Text3 元件的 Text 屬性。
接著再以30次周期的迴圈做判斷,假如 Winsock1(i).State = sckConnected (應意為連線狀態),就以 Winsock1(i).SendData 方法,傳出 str,再做 DoEvents (目的不明)。
註:由於本人不是很了解 VB 元件的方法,與變數的相對位置,我只能猜測此 procedure 的目的來說了。

不過最後,我還是覺得,程式碼比多餘的中文敘述,簡單明瞭多了...
__________________
舊 2005-11-16, 10:56 AM #7
回應時引用此文章
November Rain離線中  
kyougi
Senior Member
 
kyougi的大頭照
 

加入日期: Jan 2004
文章: 1,131
doevents就是強制vb必需完成以上的事才可以繼續
舊 2005-11-16, 11:34 AM #8
回應時引用此文章
kyougi離線中  
diolin
Basic Member
 

加入日期: Oct 2003
文章: 18
Doevents 跟你說的不太一樣哦~
Doevents 是會暫停一下下, 釋放控制權出來給作業系統

所以當你在跑迴圈時, 如果不用 Doevents , 這樣系統會 handle 在那邊, 都沒法回應你的操作, 一定要等回圈跑完, 如果加入 Doevents, 就可以讓作業系統處理其它的事件
舊 2005-11-17, 10:18 AM #9
回應時引用此文章
diolin離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:18 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。