Частенько задаются вопросы/просьбы о пользовании в HiAsm протокола ICQ, но поскольку не существует таковых элементов, тем кому ну очень необходимо привинтить к своей программе некоторые возможности ICQ - можно воспользоваться готовым ActiveX-кантролом: VBICQ2. При желании его можно включать в схему как бинарник и при старте распаковывать и регистрировать в системе.
Скачать его можно тут: http://forum.asechka.ru/attachment.php?attachmentid=10528&d=1225656789
Почитать тут: http://forum.asechka.ru/showthread.php?t=105232
Схема не замороченная, так как служит только для примера использования VBICQ2 в HiAsm.
#sha
Add(MainForm,2953706,119,133)
{
Width=565
Height=298
Caption="Hiasm_ICQ_ActiveX"
BorderStyle=3
Position=1
}
Add(UseActiveX,13220961,406,147)
{
Left=5
Top=535
Width=30
CLSID="vbicq2.VBICQ"
link(onEvent,12545368:doStr,[])
link(onError,1758533:doMessage,[(446,167)(446,195)])
}
Add(StyleXP,6785869,119,91)
{
}
Add(Button,7625707,252,161)
{
Left=5
Top=180
Caption="Login"
Data=String(login)
link(onClick,9765213:doEvent1,[])
}
Add(Message,1758533,455,189)
{
Caption="Error"
}
Add(Hub,9765213,294,161)
{
link(onEvent1,885756:doWork1,[])
link(onEvent2,5708055:doEvent2,[(336,174)(336,132)])
}
Add(Hub,5708055,357,119)
{
InCount=4
OutCount=1
link(onEvent1,13220961:doExecute,[(398,125)(398,153)])
}
Add(Button,7337791,357,77)
{
Left=5
Top=5
Width=155
Caption="About_vbicq2_ActiveX"
Data=String(AboutComponent)
link(onClick,5708055:doEvent1,[(400,83)(400,68)(345,68)(345,125)])
}
Add(Button,15167449,168,133)
{
Left=5
Top=235
Width=125
Caption="SendMessage"
link(onClick,1106571:doAdd,[])
}
Add(MT_AddData,1106571,210,133)
{
Count=3
Data=String(KeepAlive)
link(onAdd,5708055:doEvent3,[])
link(Data1,15885714:Caption,[(216,125)(174,125)])
link(Data2,14422557:Text,[])
link(Data3,7162326:Text,[(230,125)(265,125)])
}
Add(Edit,14422557,217,84)
{
Left=165
Top=235
Width=75
Text=""
}
Add(ChildGroupBox,885756,357,161)
{
link(onEvent1,13220961:doSetProp,[])
}
BEGIN_SDK
Add(EditMulti,5697497,21,21)
{
EventCount=1
WorkCount=1
Width=440
Height=452
link(doWork1,10910621:doData,[(86,27)(86,118)])
}
Add(GroupBox,8369964,42,42)
{
Left=5
Top=45
Width=153
Height=121
Caption="Labuda"
}
Add(Hub,2325948,371,76)
{
InCount=4
OutCount=1
link(onEvent1,5697497:onEvent1,[(424,82)(424,27)])
}
Add(Hub,13991965,168,111)
{
OutCount=4
link(onEvent1,3521354:doAdd,[])
link(onEvent2,347450:doAdd,[(222,124)(222,222)])
link(onEvent3,2465561:doAdd,[(216,131)(216,327)])
link(onEvent4,10065093:doAdd,[(210,138)(210,432)])
}
Add(Edit,8258279,232,62)
{
Left=5
Top=20
Width=55
Color=12632256
Text="IcqServer"
ReadOnly=0
}
Add(Edit,5325911,273,62)
{
Left=60
Top=20
Width=85
Text="login.icq.com"
}
Add(MT_AddData,3521354,238,111)
{
InputMT=3
link(onAdd,2325948:doEvent1,[(342,117)(342,82)])
link(Data1,8258279:Text,[(244,103)(238,103)])
link(Data2,5325911:Text,[(251,103)(279,103)])
}
Add(Edit,4328670,239,167)
{
Left=5
Top=40
Width=55
Color=12632256
Text="IcqPort"
ReadOnly=0
}
Add(Edit,7532259,280,167)
{
Left=60
Top=40
Width=85
Text="5190"
}
Add(Edit,8543152,238,272)
{
Left=5
Top=75
Width=55
Color=12632256
Text="uin"
ReadOnly=0
}
Add(Edit,5986614,280,272)
{
Left=60
Top=75
Width=85
Text=""
}
Add(Edit,11251818,238,377)
{
Left=5
Top=95
Width=55
Color=12632256
Text="Pass"
ReadOnly=0
}
Add(MT_AddData,347450,245,216)
{
InputMT=3
link(onAdd,2325948:doEvent2,[(345,222)(345,89)])
link(Data1,4328670:Text,[(251,208)(245,208)])
link(Data2,7532259:Text,[(258,208)(286,208)])
}
Add(MT_AddData,2465561,238,321)
{
InputMT=3
link(onAdd,2325948:doEvent3,[(349,327)(349,96)])
link(Data1,8543152:Text,[])
link(Data2,5986614:Text,[(251,313)(286,313)])
}
Add(MT_AddData,10065093,238,426)
{
InputMT=3
link(onAdd,2325948:doEvent4,[(353,432)(353,103)])
link(Data1,11251818:Text,[])
link(Data2,3302459:Text,[(251,418)(286,418)])
}
Add(DoData,10910621,112,112)
{
link(onEventData,13991965:doEvent1,[(156,118)(156,117)])
}
Add(Edit,3302459,280,377)
{
Left=60
Top=95
Width=85
Text=""
}
END_SDK
Add(RichEdit,16178448,504,147)
{
Left=165
Top=5
Width=385
Height=220
ScrollBars=3
}
Add(Button,3183097,357,210)
{
Left=65
Top=180
Width=90
Caption="CloseConnection"
Data=String(CloseConnection)
link(onClick,5708055:doEvent4,[(400,216)(400,255)(345,255)(345,146)])
}
Add(Edit,7162326,259,84)
{
Left=280
Top=235
Width=270
Text="BlaBlaBla"
}
Add(Label,15885714,168,84)
{
Left=5
Top=220
Width=80
Font=[MS Sans Serif,9,1,0,1]
Caption="SendMessage"
}
Add(Label,2114464,217,42)
{
Left=140
Top=240
Width=21
Height=17
Font=[MS Sans Serif,9,1,0,1]
Caption="Uin:"
}
Add(Label,5289148,259,42)
{
Left=245
Top=240
Width=36
Height=17
Font=[MS Sans Serif,9,1,0,1]
Caption="Text:"
}
Add(MT_String,12545368,455,147)
{
Delimeter="#"
link(onResult,16178448:doAdd,[])
}