1. Действительно, окончание цикла не стал доделывать, т.к. удалил эту часть схему, при минимизации компонентов, когда искал в чём ошибка. Целью тогда было дойти до 100% без ошибки.
2. Да, есть у меня недопонимание, как правильно ставить поток. Читал, что не должно касаться визуальных элементов, но я не понял как это вообще возможно, ведь в конце данные идут на визуальную часть в итоге.
Из Справки
Не рекомендуется изменять внешний вид интерфейсных элементов из схемы, стоящей после метода doExec.
4. Иногда замечаю, что в словах вопросы, это бывает редко, грешил на спецсимволы, может быть это от того, что
Galkov писал(а):
UTF8->ANSI предполагает законченную строкуnesco писал(а):
Я не считаю это доступным компонентом для каждого пользователя, и ты это прекрасно знаешь.Galkov писал(а):
чем ЦИКЛ отличается от КОЛЬЦЕВАНИЯGalkov писал(а):
Тому, что чего-то там у нас не успевает настолько, что надо ставить секундные задержкиКак это выглядит у меня сейчас, без потока, так как с ним, что без него, видимо по причине неправильной вставки тоже лагало)
Add(MainForm,11176470,483,315)
{
Left=20
Top=105
Width=650
Height=599
Caption="FileMapVewer"
Position=1
Point(onClose)
}
Add(Hub,2606912,245,231)
{
OutCount=3
link(onEvent1,9843132:doExecute,[])
link(onEvent2,4206186:doWork1,[(354,244)])
link(onEvent3,15783663:doTimer,[(287,251)(287,188)])
}
Add(HubEx,4206186,350,350)
{
link(onEvent,554821:doEvent1,[])
}
Add(Hub,4964243,448,182)
{
OutCount=3
link(onEvent1,12437222:doRemapping,[(471,188)(471,220)(381,220)(381,244)])
link(onEvent2,4206186:doWork3,[(520,195)(520,394)(354,394)])
link(onEvent3,11127952:doData,[])
}
Add(SharedStream,12437222,392,231)
{
PageMem=1024
Point(FileSize)
Point(FileOffset)
Point(Granularity)
link(Offset,6449920:Result,[])
}
Add(Math,6449920,406,182)
{
Point(doClear)
link(onResult,4964243:doEvent1,[])
link(Op1,8008760:Var1,[(412,170)])
link(Op2,12437222:SizeMMF,[(419,165)(370,165)(370,270)(412,270)])
}
Add(Charset,786843,476,357)
{
Type=7
link(onCharset,10833509:doEnum,[])
}
Add(Str_Enum,10833509,525,357)
{
Delimiter="\r\n"
OnlyDivGroup=1
link(onEnum,16079826:doCompare,[])
}
Add(Memo,8054800,749,371)
{
Top=20
Width=634
Height=540
Align=4
Font=[Courier New,8,0,0,204]
AddType=1
ScrollBars=3
}
Add(StrMask,16079826,567,357)
{
Mask="??'*,*,*,*"
link(onFalse,16699208:doCompare,[])
link(onTrue,12046379:doWork2,[(605,370)(605,433)])
}
Add(StrMask,16699208,609,357)
{
Mask="*);"
link(onFalse,7063780:doValue,[(650,363)(650,335)])
link(onTrue,15765640:doStrCat,[(649,370)(649,377)])
}
Add(StrCat,15765640,658,371)
{
link(onStrCat,8696848:doCompare,[])
link(Str1,7063780:Value,[])
}
Add(Memory,7063780,658,329)
{
}
Add(StrMask,8696848,700,371)
{
Mask="??'*,*,*,*"
link(onFalse,8054800:doAdd,[])
link(onTrue,12046379:doWork1,[(739,384)])
}
Add(Button,2506679,203,231)
{
link(onClick,2606912:doEvent1,[])
}
Add(StreamConvertor,7318274,392,357)
{
Mode=6
Point(Data)
link(onResult,786843:doCharset,[])
link(Data,12437222:Stream,[])
}
Add(Hub,554821,364,350)
{
link(onEvent1,13850635:doCalc,[(392,356)(392,286)])
link(onEvent2,7318274:doConvert,[])
}
Add(ProgressBar,9114966,483,280)
{
Left=110
Width=525
}
Add(MathParse,13850635,413,280)
{
MathStr="%2 * 100 / %1"
ResultType=0
link(onResult,15947962:doEvent1,[])
link(X1,12437222:FileSize,[])
link(X2,6373356:Var2,[])
}
Add(GetDataEx,6373356,420,266)
{
link(Data,12437222:FileOffset,[])
}
Add(Hub,15947962,455,280)
{
link(onEvent1,9114966:doPosition,[])
link(onEvent2,11176470:doCaption,[(476,293)(476,321)])
}
Add(ODialog,9843132,294,231)
{
link(onExecute,12437222:doOpen,[])
}
Add(Button,8288703,245,189)
{
Left=55
link(onClick,12453247:doWork2,[])
}
Add(DoData,16060613,749,427)
{
}
Add(HubEx,12046379,735,427)
{
link(onEvent,16060613:doData,[])
}
Add(Timer,15783663,329,182)
{
Interval=0
Enable=1
link(onTimer,6449920:doOperation,[])
}
Add(DoData,11127952,490,196)
{
link(onEventData,14388698:doCase,[])
link(Data,8008760:Var3,[(496,170)])
}
Add(Case,14388698,539,196)
{
DataOnTrue=String(Достигнут конец файла)
link(onTrue,12453247:doWork3,[(583,209)(583,165)(305,165)])
}
Add(HubEx,12453247,301,189)
{
link(onEvent,15783663:doStop,[])
}
Add(GetDataEx,8008760,475,165)
{
Angle=2
link(Data,6373356:Var3,[(481,271)])
}