Как можно получить обратно в функцию параметры отличные от тех, что передали в ней ? - VB
Формулировка задачи:
Добрый день.
Имеется функция. В ней из процедуры передаются некие параметры.
В другую процедуру получаю некие данные.
Вот эти данные нужно присвоить входным переменным функции.
Как это можно делать ? И возможно ли это ?
Очень надеюсь на Вашу помощь.
Спасибо.
Имеется функция. В ней из процедуры передаются некие параметры.
В другую процедуру получаю некие данные.
Вот эти данные нужно присвоить входным переменным функции.
Как это можно делать ? И возможно ли это ?
Очень надеюсь на Вашу помощь.
Спасибо.
Решение задачи: «Как можно получить обратно в функцию параметры отличные от тех, что передали в ней ?»
textual
Листинг программы
<font color="blue">Option</font> <font color="blue">Explicit</font>
<font color="blue">Private</font> strHeader <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Private</font> m_blnHeaderArrived <font color="blue">As</font> <font color="blue">Boolean</font>
<font color="blue">Private</font> m_var1 <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Private</font> m_var2 <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Private</font> m_var3 <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Private</font> m_var4 <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> <font color="blue">WithEvents</font> o <font color="blue">As</font> OSWINSCK.Winsock
---------------------
<font color="blue">Private</font> <font color="blue">Sub</font> o_OnDataArrival(<font color="blue">ByVal</font> bytesTotal <font color="blue">As</font> <font color="blue">Long</font>)
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">GoTo</font> Error_Handler
<font color="blue">Dim</font> strChunk <font color="blue">As</font> <font color="blue">String</font>
m_blnHeaderArrived = False
o.GetData strChunk
rtb.Text = <font color="teal">""</font>
<font color="#00AA00">'if header hasn't arrived</font>
strHeader = strHeader & strChunk
<font color="blue">If</font> InStr(strHeader, Chr(<font color="darkblue"><b>0</b></font>) & Chr(<font color="darkblue"><b>0</b></font>) & Chr(<font color="darkblue"><b>0</b></font>) & Chr(<font color="darkblue"><b>0</b></font>) & Chr(<font color="darkblue"><b>0</b></font>)) <font color="blue">Then</font>
rtb = strHeader
strHeader = <font color="teal">""</font>
strChunk = <font color="teal">""</font>
m_blnHeaderArrived = True
<font color="blue">End</font> <font color="blue">If</font>
m_var1 = <font color="teal">"Din o_OnDataArrival var1"</font>
m_var2 = <font color="teal">"Din o_OnDataArrival var2"</font>
m_var3 = <font color="teal">"Din o_OnDataArrival var3"</font>
m_var4 = <font color="teal">"Din o_OnDataArrival var4"</font>
<font color="blue">Exit</font> <font color="blue">Sub</font>
Error_Handler:
strHeader = <font color="teal">""</font>
MsgBox (<font color="teal">"Error: "</font> & Err.Number & Err.Description)
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Function</font> cmdDo(Routine <font color="blue">As</font> <font color="blue">String</font>, Optional v1, Optional v2, Optional v3, _
Optional v4, Optional v5, Optional v6, _
Optional v7, Optional v8, Optional v9, Optional v10)
................................
strRes = <font color="teal">"DO "</font> & Routine & <font color="teal">"~"</font> & par & <font color="teal">"~"</font> & <font color="teal">"Q"</font> _
& <font color="teal">"~"</font> & strLenAll & <font color="teal">"~"</font> & strLen1 & <font color="teal">"~"</font> & strLen2 _
& <font color="teal">"~"</font> & strLen3 & <font color="teal">"~"</font> & strLen4 & <font color="teal">"~"</font> & strLen5 _
& <font color="teal">"~"</font> & strLen6 & <font color="teal">"~"</font> & strLen7 & <font color="teal">"~"</font> & strLen8 _
& <font color="teal">"~"</font> & strLen9 & <font color="teal">"~"</font> & strLen10 & vbCrLf & Str
o.SendData strRes
<font color="blue">Do</font> <font color="blue">Until</font> m_blnHeaderArrived
DoEvents
<font color="blue">Loop</font>
<font color="#00AA00">' Call and recive data on o_OnDataArrival</font>
v1 = m_var1
v2 = m_var2
v3 = m_var3
v4 = m_var4
m_blnHeaderArrived = False
m_var1 = <font color="teal">""</font>
m_var2 = <font color="teal">""</font>
m_var3 = <font color="teal">""</font>
m_var4 = <font color="teal">""</font>
<font color="blue">End</font> <font color="blue">Function</font>