Windows packet & HiAsm SDK
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Проект HiAsm SDK продолжается - удалось таки подключить кодогенератор пакета Windows:
|
|||
карма: 6 |
| ||
файлы: 1 | windows_packet.net.gif [2.7MB] [2043] | ||
Голосовали: | miver, CriDos, Shonyi, 1nd1g0, Konst |
Ответов: 36
Рейтинг: 1
|
|||
Я так понимаю русского языка не будет?
|
|||
карма: 0 |
|
Ответов: 258
Рейтинг: -27
|
|||
На видео выше вроде бы все на русском?
|
|||
карма: 0 |
|
Ответов: 36
Рейтинг: 1
|
|||
Cubone писал(а): название элементов,групп и описание элементов на английском |
|||
карма: 0 |
|
Ответов: 1328
Рейтинг: 69
|
|||
Nic, а видео в этом пакете чем можно воспроизвести, есть такой компонент?
|
|||
карма: 2 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Если только в этом примере:
\HiAsm\Elements\CNET\Example\Multimedia\Camera\CameraCapture.sha Только, видимо, без звука. Редактировалось 1 раз(а), последний 2016-12-12 19:24:18 |
|||
карма: 6 |
|
Ответов: 1328
Рейтинг: 69
|
|||
Nic, я имел ввиду проиграть файл .avi пусть и без звука
Редактировалось 1 раз(а), последний 2016-12-14 12:56:06 |
|||
карма: 2 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
И я имел тоже самое в виду. И проверил у себя прежде чем советовать.
|
|||
карма: 6 |
|
Ответов: 1328
Рейтинг: 69
|
|||
что то не получается - черный квадрат
code
Редактировалось 4 раз(а), последний 2016-12-14 16:51:54 |
|||
карма: 2 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Working example
Редактировалось 2 раз(а), последний 2016-12-14 20:03:11 |
|||
карма: 6 |
| ||
Голосовали: | Konst |
Ответов: 1328
Рейтинг: 69
|
|||
работает, правда скорость раз в 5 быстрее
|
|||
карма: 2 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Description
Windows Media Player control. Properties Methods Variables Parameters Examples
Inheritance Hierarchy: Control Find more information: https://msdn.microsoft.com/en-us/library/windows/desktop/dd562388.aspx Element update: [svn]WMPlayer.cs[/svn] |
|||
карма: 6 |
| ||
Голосовали: | Konst |
Ответов: 1328
Рейтинг: 69
|
|||
Nic, огромнейшее спасибо
|
|||
карма: 2 |
|
Ответов: 1328
Рейтинг: 69
|
|||
Пытаюсь передать из схемы пакета Windows строку-путь к файлу в схему пакета CNET, первые строки приходят нормально, дальше к строке прикрепляется окончание предыдущей, как это можно исправить?
Вот 2 схемы, при нажатии на цифры все ок, при выборе строки с буквами строка дополняется куском предыдущей строки. CNET TCP_Client из примеров, изменен только порт пакет CNET, TCP_Client Add(EntryPoint,2953706,203,210) { Width=366 Height=309 Point(doText) Point(onClosing) link(onClosing,13803972:doGetMethod,[(243,230)(243,223)]) } Add(Button,8679915,91,161) { Left=10 Top=30 Width=65 Text="Connect" Point(onClick) link(onClick,16242506:doConnect,[]) AddHint(-71,8,55,13,Text) } Add(TextBox,12592406,116,84) { Left=130 Top=30 Width=215 Text="127.0.0.1" Anchor=7 Lines=[] Point(doText) Point(Text) Point(Data) } Add(TextBox,681965,161,84) { Left=130 Top=55 Width=215 Text="8787" Anchor=7 Lines=[] Point(doText) Point(Text) Point(Data) } Add(TextBox,9730196,203,84) { Left=130 Top=80 Width=215 Text="Hello!" Anchor=7 Lines=[] Point(doText) Point(Text) Point(Data) } Add(Label,4486674,119,42) { Left=85 Top=35 Width=40 Text="Server:" TextAlign=1 Point(doText) Point(onClick) } Add(Label,4637659,161,42) { Left=90 Top=60 Text="Port:" TextAlign=1 Point(doText) Point(onClick) } Add(Label,12728143,203,42) { Left=85 Top=85 Width=40 Text="String:" TextAlign=1 Point(doText) Point(onClick) } Add(TCP_Client,16242506,154,161) { Point(doDisconnect) Point(doSend) link(onReceived,15135211:doGetString,[]) link(onStatusChanged,2953706:doText,[(194,174)(194,216)]) link(address,12592406:Text,[(160,139)(122,139)]) link(port,681965:Text,[]) link(data,9730196:Text,[(174,139)(209,139)]) } Add(TextBox,562087,294,154) { Left=5 Top=110 Width=345 Height=165 Anchor=15 Lines=[] Multiline=0 ScrollBars=2 Point(doText) Point(Text) Point(Data) Point(doAppendText) } Add(Button,11814402,91,196) { Left=10 Top=80 Width=65 Text="Send" Point(onClick) link(onClick,16242506:doSend,[(133,202)(133,181)]) AddHint(-71,8,40,13,Text) } Add(CancelEventArgs,13803972,252,217) { link(onCancel,16242506:doDisconnect,[(292,223)(292,256)(142,256)(142,174)]) } Add(UTF8Encoding,15135211,203,161) { Point(bytes) Point(doGetString) Point(onGetString) link(onGetString,5050725:doStrCat,[]) } Add(StrCat,5050725,252,161) { link(onStrCat,562087:doAppendText,[]) link(Str1,10838717:NewLine,[(258,156)(265,156)]) } Add(Environment,10838717,252,119) { Point(NewLine) } пакет Windows, Server Add(MainForm,2781320,154,119) { Width=757 Height=458 link(onCreate,9728013:doOpen,[]) } Add(TCP_Server,9728013,385,133) { Port=8787 Point(onError) link(onRead,7773419:doWork1,[(576,139)]) link(onConnect,1918913:doData,[]) link(onDisconnect,11438225:doData,[(480,153)(480,188)]) link(onError,3960540:doMessage,[(461,160)(461,237)]) } Add(HubEx,7773419,572,168) { link(onEvent,2781320:doCaption,[(587,174)(587,106)(142,106)(142,125)]) } Add(DoData,1918913,511,140) { Data=Integer(1) link(onEventData,7773419:doWork2,[(558,146)(558,174)]) } Add(DoData,11438225,511,182) { Data=Integer(0) link(onEventData,7773419:doWork3,[(576,188)]) } Add(Button,14326870,119,168) { Left=65 Top=330 Width=85 Caption="File" link(onClick,8038010:doExecute,[]) } Add(ListBox,13483938,224,168) { Left=15 Top=10 Width=710 Height=310 Strings=#4:1111|4:2222|4:уууу|4:3333|4:рррр|4:4444|4:5555|4:авав| DataType=1 Point(String) Point(onDblClick) link(onClick,6628440:doCharset,[(282,181)(282,153)]) } Add(Debug,7756196,357,147) { link(onEvent,9728013:doSend,[]) } Add(ODialog,8038010,175,168) { link(onExecute,13483938:doAdd,[]) } Add(Charset,6628440,308,147) { Type=6 link(onCharset,7756196:doEvent,[]) } Add(Message,3960540,504,231) { } Редактировалось 4 раз(а), последний 2016-12-23 12:05:14 |
|||
карма: 2 |
|
Ответов: 4629
Рейтинг: 749
|
|||
По-умолчанию, TCP_Client/TCP_Server гарантирует только приход указанного количества байт в указанном порядке. А приходить они могут хоть по одному байту. Для того, чтобы клиент узнал строку какой длины ему присылает сервер, нужно:
- указать длину этой строки каким-то образом (явно добавив размер перед началом строки либо добавив символ окончания строки) - выделить буфер под указанный размер и заполнять его "хоть по одному байту" до получения всей строки. По получению - сбросить буфер и приготовиться к получению следующей строки. |
|||
карма: 26 |
|