Make(qt) ver(5.0.11) Add(EntryPoint,5947841,21,98) { Left=701 Top=273 Width=456 Height=231 Layout="Main" } Add(HBoxLayout,39,189,28) { Name=#8:TopPanel| Layout="Main" } Add(ListBox,40,385,98) { Left=10 Top=35 Width=431 Height=151 Layout="Main" } Add(TcpSocket,41,259,98) { HostName=#9:localhost| Port=1098 link(onConnected,46:doData,[]) link(onDisconnected,47:doData,[(307,111)(307,153)]) link(onReadReady,65:doConvert,[(303,118)(303,142)(250,142)(250,167)]) Point(onError) link(onError,49:doData,[(307,125)(307,202)]) } Add(Label,42,98,56) { Left=10 Top=10 Width=30 Height=17 Layout="TopPanel" Caption=#6:Client| } Add(Edit,43,133,182) { Left=10 Top=205 Width=385 Layout="BottomPanel" } Add(Button,44,84,224) { Left=405 Top=205 Width=50 Layout="BottomPanel" Caption=#4:Send| link(onClick,45:doData,[]) } Add(DoData,45,133,224) { link(onEventData,63:doConvert,[]) link(Data,43:CurrentText,[]) } Add(DoData,46,322,98) { Data=String(Connected to server...) link(onEventData,48:doWork2,[]) } Add(DoData,47,322,147) { Data=String(Disconnected from server...) link(onEventData,50:doWork2,[]) } Add(HubEx,48,364,98) { link(onEvent,40:doAdd,[]) } Add(DoData,49,322,196) { Data=String(Error...) link(onEventData,61:doWork2,[]) } Add(HubEx,50,364,147) { Angle=3 link(onEvent,48:doWork3,[]) } Add(TcpServer,53,581,98) { Port=1098 link(onConnected,55:doData,[]) link(onRead,64:doConvert,[(625,111)(625,136)(570,136)(570,153)]) link(onDisconnected,58:doData,[(621,118)(621,202)]) } BEGIN_SDK Add(EditTcpServer,51,21,21) { WorkCount=#10:##doListen|9:##doClose|6:doSend| EventCount=#11:onConnected|6:onRead|14:onDisconnected| Point(##doListen) Point(##doClose) link(doSend,52:doSend,[(49,41)(49,125)]) } Add(TcpSocket,52,77,105) { link(onConnected,51:onConnected,[(215,111)(215,27)]) link(onDisconnected,51:onDisconnected,[(231,118)(231,41)]) link(onReadReady,51:onRead,[(223,125)(223,34)]) } END_SDK Add(DoData,55,630,98) { Data=String(--- client connected ---) link(onEventData,57:doWork2,[]) } Add(StrCat,56,630,147) { Str1=#13:Client read: | link(onStrCat,59:doWork2,[]) } Add(HubEx,57,672,98) { Angle=3 link(onEvent,48:doWork1,[(676,87)(368,87)]) } Add(DoData,58,630,196) { Data=String(--- client disconnected ---) link(onEventData,59:doWork3,[(676,202)]) } Add(HubEx,59,672,147) { Angle=3 link(onEvent,57:doWork3,[]) } Add(StrCat,60,322,245) { Str1=#13:Server read: | link(onStrCat,61:doWork3,[(368,251)]) } Add(HubEx,61,364,196) { Angle=3 link(onEvent,50:doWork3,[]) } Add(IndexToChanel,62,266,224) { link(Index,41:Active,[]) link(onEvent1,53:doSend,[(564,230)(564,118)]) link(onEvent2,41:doSend,[(305,237)(305,267)(247,267)(247,118)]) } Add(BA_Convertor,63,189,224) { Mode=1 StringMode=2 link(onConvert,62:doEvent,[]) } Add(BA_Convertor,64,581,147) { StringMode=2 link(onConvert,56:doStrCat,[]) } Add(BA_Convertor,65,259,161) { StringMode=2 link(onConvert,60:doStrCat,[(307,167)(307,251)]) } Add(Button,66,133,98) { Left=55 Top=5 Layout="TopPanel" Caption=#4:Open| link(onClick,41:doConnect,[]) } Add(Button,67,133,140) { Left=115 Top=5 Layout="TopPanel" Caption=#5:Close| link(onClick,41:doDisconnect,[(212,146)(212,111)]) } Add(Label,68,483,42) { Left=190 Top=10 Width=35 Height=17 Layout="TopPanel" Caption=#6:Server| } Add(Button,69,511,98) { Left=235 Top=5 Layout="TopPanel" Caption=#4:Open| link(onClick,53:##doListen,[]) } Add(Button,70,511,140) { Left=295 Top=5 Layout="TopPanel" Caption=#5:Close| link(onClick,53:##doClose,[(555,146)(555,111)]) } Add(VBoxLayout,71,196,280) { Name=#4:Main| } Add(HBoxLayout,72,119,280) { Name=#11:BottomPanel| Layout="Main" }