Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#16: 2011-06-04 03:04:13 ЛС | профиль | цитата
login, этот компонент не педназначен для чтения определенного количества блочных данных. Читай мой верхний пост, что надо применять для чтения блоков
------------ Дoбавленo в 02.56:
login писал(а):
А с накопителем вообще перестало работать:

И не будет, использовать для накопления нужно верхний элемент, а не нижний, нижний элемент выводит уже готовый результат
------------ Дoбавленo в 02.59:
login писал(а):
Как записать, накопленную, строку в MemoryStream?

Через StreamConvertor
------------ Дoбавленo в 03.04:
И вообще, login, мы не в школе, чтобы рассусоливать тут на пальцах
Примеры есть, напрвление дали, вперед с песней. А то схема тяжела для понимания, нужно последовательно разъяснять, а ты спросил, у людей есть на это время, или его нет

карма: 22

0
Ответов: 1429
Рейтинг: 50
#17: 2011-06-04 03:04:18 ЛС | профиль | цитата
Не работает

code_24278.txt
карма: 0

0
файлы: 1code_24278.txt [2KB] [163]
Разработчик
Ответов: 26170
Рейтинг: 2127
#18: 2011-06-04 03:05:54 ЛС | профиль | цитата
login писал(а):
Не работает

Млять, у меня слов больше нету
nesco писал(а):
И не будет, использовать для накопления нужно верхний элемент, а не нижний, нижний элемент выводит уже готовый результат

карма: 22

0
Ответов: 1429
Рейтинг: 50
#19: 2011-06-04 03:06:39 ЛС | профиль | цитата
nesco, я тоже удивлен, я думал это простой вопрос, на который можно ответить коректом моей схемы в 3 клика мышки. Тривиальнее задачи не сыскатиь на планете.
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#20: 2011-06-04 03:11:48 ЛС | профиль | цитата
login, я до сих пор не понял, что тебе надо -- сшивать поток Stream, записывать в MemoryStrem уже сшитый текст или что еще
------------ Дoбавленo в 03.10:
login, я советую подучиться на примерах работы с фаловыми потоками, когда выучишься, тогда половина вопросов отпадет
------------ Дoбавленo в 03.11:
Вот тебе еще одна схема -- чистый накопитель потока, и на этом лимит помощи на сегодня исчерпывается



Add(Image,3627320,777,280)
{
@Color=16757169
Left=85
Top=115
Width=240
Height=100
}
Add(Jpeg,11574856,728,280)
{
@Color=16757169
Point(doLoadFromStream)
Point(doBitmap)
Point(Stream)
link(onBitmap,3627320:doLoad,[])
link(Stream,10146094:Var3,[(734,219)])
}
Add(BlockFind,1462634,427,280)
{
@Color=9360639
Delete=0
StartBlock="HTTP"
EndBlock="13101310"
link(onEndSearch,10572300:doConvert,[])
}
Add(Convertor,10572300,476,287)
{
@Color=9360639
Mode=12
link(onResult,13112055:doCopy,[])
}
Add(StreamCopy,13112055,525,287)
{
@Color=9360639
Count=-1
link(onCopy,3184583:doCompare,[])
link(Dest,10146094:Var2,[])
}
Add(MemoryStream,2954231,525,175)
{
@Color=9360639
Point(doPosition)
}
Add(Hub,10351640,693,287)
{
@Color=16757169
OutCount=3
link(onEvent1,4801834:doData,[(716,293)(716,168)(457,168)(457,195)])
link(onEvent2,11574856:doLoadFromStream,[])
link(onEvent3,11574856:doBitmap,[])
}
Add(GetDataEx,10146094,525,214)
{
link(Data,2954231:Stream,[])
}
Add(InfoTip,14958065,350,133)
{
Info=#0:|17:Накопитель потока|
Font=[MS Sans Serif,8,1,0,1]
Frame=3
Width=295
Height=256
}
Add(InfoTip,7341891,651,133)
{
Info=#0:|32:Преобразование потока в картинку|
Font=[MS Sans Serif,8,1,0,1]
Frame=3
Width=183
Height=256
}
Add(BlockFind,15263772,371,231)
{
@Color=9360639
IncludeBlock=1
Delete=0
StartBlock="Content-Length: "
EndBlock="1310"
link(onSearch,9106325:doConvert,[])
link(onEndSearch,1462634:doSearch,[(415,244)(415,286)])
}
Add(Memory,12957497,581,231)
{
@Color=9360639
}
Add(Convertor,9106325,427,231)
{
@Color=9360639
Mode=1
link(onResult,12957497:doValue,[])
}
Add(If_else,3184583,574,287)
{
@Color=9360639
link(onTrue,10351640:doEvent1,[])
link(Op1,2954231:Size,[(580,272)(538,272)])
link(Op2,12957497:Value,[])
}
Add(DoData,4801834,476,189)
{
@Color=9360639
Data=Integer(0)
link(onEventData,2954231:doPosition,[])
}

карма: 22

0
Ответов: 1429
Рейтинг: 50
#21: 2011-06-04 03:22:32 ЛС | профиль | цитата
nesco, "верхние элементы", вроде, медленно, доходит. Извините, что разозлил. Спасибо!
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#22: 2011-06-04 03:31:14 ЛС | профиль | цитата
login писал(а):
Извините, что разозлил

Ты хоть читай, что тебе пишут. А то объясняю, что надо использовать для накопления верхний элемент, и тут же, в следующей схеме, снова используется нижний, а верхний висит в воздухе
карма: 22

0
Ответов: 1429
Рейтинг: 50
#23: 2011-06-04 03:46:18 ЛС | профиль | цитата
nesco, можно еще один вопрос?
------------ Дoбавленo в 03.40:
Кажется, я накапливаю данные, но не могу их прочесть:


Add(MainForm,2953706,224,252)
{
Width=696
Height=403
Position=1
link(onCreate,10704837:doEvent1,[])
}
Add(DoData,6829370,413,238)
{
Data=String(a1)
link(onEventData,1453838:doWork1,[(492,244)])
}
Add(DataToFile,16464081,742,364)
{
Point(doPosition)
Point(Position)
link(onGet,12377144:doConvert,[])
link(Stream,3496730:Var3,[(748,271)])
}
Add(Memo,6641964,917,364)
{
Left=130
Top=60
Width=485
Height=250
ScrollBars=2
}
Add(Hub,10704837,287,266)
{
OutCount=4
PColor(onEvent4,255)
link(onEvent1,6829370:doData,[(341,272)(341,244)])
link(onEvent2,11928595:doData,[(340,279)(340,335)])
link(onEvent3,9804881:doData,[(331,286)(331,223)])
link(onEvent4,12607013:In,[])
}
Add(Timer,3109093,588,49)
{
Interval=150
link(onTimer,8669810:doData,[])
}
Add(Label,5054268,686,49)
{
Left=40
Top=65
}
Add(DoData,8669810,637,49)
{
link(onEventData,5054268:doText,[])
link(Data,2954231:Size,[(643,29)(749,29)(749,261)(699,261)])
}
Add(DoData,11928595,413,329)
{
Data=String(a2)
link(onEventData,1453838:doWork3,[(492,335)])
}
Add(HubEx,1453838,488,287)
{
link(onEvent,10572300:doConvert,[])
}
Add(DoData,9804881,637,217)
{
Data=Integer(0)
link(onEventData,2954231:doPosition,[])
}
Add(LineBreak,14696625,693,371)
{
PColor(Out,255)
link(Out,16464081:doGet,[])
Primary=[12607013,-287,-84]
}
Add(Convertor,10572300,637,287)
{
@Color=9360639
Mode=12
link(onResult,13112055:doCopy,[])
}
Add(StreamCopy,13112055,686,287)
{
@Color=9360639
Count=-1
link(Dest,3496730:Var2,[])
}
Add(MemoryStream,2954231,686,203)
{
@Color=9360639
Point(doPosition)
}
Add(GetDataEx,3496730,686,266)
{
link(Data,2954231:Stream,[])
}
Add(Convertor,12377144,812,364)
{
@Color=9360639
Mode=11
link(onResult,6641964:doAdd,[])
}




------------ Дoбавленo в 03.46:
Всё, кажется, смог(если это не абсурдная схема):


Add(MainForm,2953706,224,252)
{
Width=696
Height=403
Position=1
link(onCreate,10704837:doEvent1,[])
}
Add(DoData,6829370,413,238)
{
Data=String(a1)
link(onEventData,1453838:doWork1,[(492,244)])
}
Add(DataToFile,16464081,840,364)
{
Point(doPosition)
Point(Position)
link(onGet,12377144:doConvert,[])
link(Stream,3496730:Var3,[(846,271)])
}
Add(Memo,6641964,959,364)
{
Left=130
Top=60
Width=485
Height=250
ScrollBars=2
}
Add(Hub,10704837,287,266)
{
OutCount=4
PColor(onEvent4,255)
link(onEvent1,6829370:doData,[(341,272)(341,244)])
link(onEvent2,11928595:doData,[(340,279)(340,335)])
link(onEvent3,9804881:doData,[(328,286)(328,223)])
link(onEvent4,12607013:In,[])
}
Add(Timer,3109093,588,49)
{
Interval=150
link(onTimer,8669810:doData,[])
}
Add(Label,5054268,686,49)
{
Left=40
Top=65
}
Add(DoData,8669810,637,49)
{
link(onEventData,5054268:doText,[])
link(Data,16464081:Position,[(643,33)(884,33)(884,407)(853,407)])
}
Add(DoData,11928595,413,329)
{
Data=String(a2)
link(onEventData,1453838:doWork3,[(492,335)])
}
Add(HubEx,1453838,488,287)
{
link(onEvent,10572300:doConvert,[])
}
Add(DoData,9804881,637,217)
{
Data=Integer(0)
link(onEventData,2954231:doPosition,[])
}
Add(LineBreak,14696625,749,371)
{
PColor(Out,255)
link(Out,9411875:doFor,[])
Primary=[12607013,-343,-84]
}
Add(Convertor,10572300,637,287)
{
@Color=9360639
Mode=12
link(onResult,13112055:doCopy,[])
}
Add(StreamCopy,13112055,686,287)
{
@Color=9360639
Count=-1
link(Dest,3496730:Var2,[])
}
Add(MemoryStream,2954231,686,203)
{
@Color=9360639
Point(doPosition)
}
Add(GetDataEx,3496730,686,266)
{
link(Data,2954231:Stream,[])
}
Add(Convertor,12377144,903,364)
{
@Color=9360639
Mode=4
link(onResult,6641964:doAdd,[])
}
Add(For,9411875,791,371)
{
link(onEvent,16464081:doGet,[])
link(End,2954231:Size,[(804,256)(699,256)])
}


карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#24: 2011-06-04 18:22:32 ЛС | профиль | цитата
login писал(а):
Всё, кажется, смог(если это не абсурдная схема)

А че не все целиком и сразу, а именно побайтно Но если так тебе надо, то пойдет, но учти, что это самый медленный метод
------------ Дoбавленo в 18.22:
login, ну и как успехи в реализации этой "тривиальной задачи"
Как скиснешь стучи в пост. Тогда я тебе покажу решение этой "тривиальной задачи", предвкушая очень большие и круглые глаза
Специально для тебя снабдил схему подробнейшими описаниями (гы, я в ней там сам благополучно потерялся )
карма: 22

0
Ответов: 1429
Рейтинг: 50
#25: 2011-06-05 01:15:08 ЛС | профиль | цитата
nesco, сутки ада я провел над задачей сделать накопитель со сборкой чанков, схема готова на треть и она, уже, огромная, почти как программа для которой я ее делаю .
nesco, вообще, Вы подумайте о том, чтобы создать элемент для людей. Обидно и раздражительно, что вместо творческих задач, приходится решить техническую рутину, на предельном внутреннем напряжении. (и еще не факт что я смогу ее решить корректно)
------------ Дoбавленo в 01.15:
про скорость ее работы я, вообще, молчу..
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#26: 2011-06-05 01:17:07 ЛС | профиль | цитата
login писал(а):
Вы подумайте о том, чтобы создать элемент для людей

Когда-нибудь, в пятой версии, может и сделаю

На тебе схему, разбирайся -- get_http_text_004.sha
Не настолько она сложная и большая, есть гораздо сложнее
карма: 22

0
файлы: 1get_http_text_004.sha [80.5KB] [216]
Ответов: 1429
Рейтинг: 50
#27: 2011-06-05 01:24:12 ЛС | профиль | цитата
nesco, спасибо!! Действительно, Ваша схема компактнее чем моя!
Просто нет слов! Щас буду тестировать.
------------ Дoбавленo в 01.24:
Элемент "преобразователь данных" у меня крест, как его добавить?
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#28: 2011-06-05 01:45:06 ЛС | профиль | цитата
login писал(а):
Элемент "преобразователь данных" у меня крест, как его добавить?

Ну что, Tad, попались. Как первый раз его применил, так сразу у пользователя его и нет

login, замени на обычный Конвертор, там такие же функции есть

А если хочешь добавить, то надо обновиться с SVN и пересоздать Elements.db из Elements.sql Этот компонент уже очень давно там плавает
------------ Дoбавленo в 01.45:
Ну и чего, как тест-тур прошел
карма: 22

0
Ответов: 1429
Рейтинг: 50
#29: 2011-06-05 01:51:37 ЛС | профиль | цитата
заменил конвертером, но не работает, так надо?

Add(StreamCopy,14777130,350,280)
{
@Color=9360639
Count=-1
}
Add(Replace,14894745,252,280)
{
@Hint=#60:Приводим к UNIX-формату перевода строк, оставляем только #13|
SubStr="10"
link(onReplace,5654782:doConvert,[])
AddHint(-201,141,182,39,@Hint)
}
Add(Convertor,5654782,301,280)
{
@Hint=#22:Преобразователь данных|
Mode=12
link(onResult,14777130:doCopy,[])
AddHint(-13,58,146,13,@Hint)
}





Add(StrCat,6306103,1015,294)
{
@Hint=#20:Строковый накопитель|
Point(doClear)
AddHint(-114,-53,133,13,@Hint)
}
Add(Convertor,13351933,959,294)
{
@Hint=#22:Преобразователь данных|
Mode=11
link(onResult,6306103:doStrCat,[])
AddHint(-13,58,146,13,@Hint)
}


карма: 0

0
файлы: 1code_24289.txt [491B] [144]
Разработчик
Ответов: 26170
Рейтинг: 2127
#30: 2011-06-05 02:04:48 ЛС | профиль | цитата
login писал(а):
так надо?

Да, так
А у тебя точно данные до конца приходят

Попробуй считать все данные до конца и проверить на имитаторе. Или кинь свой полный файл, проверим
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)