LorD писал(а): Вот вроде что-то получилось. Сам понимаю, что не рационально и не правильно.
вот посмотри. Основываясь на твоей схеме. Вопросы перемешиваются, и выбираются три варианта ответа.
code_12686.txt
------------ Дoбавленo в 13.08:
а вот тебе как балы набираются
Add(MainForm,13177766,84,36) { Width=386 Height=257 link(onCreate,7002607:doWork1,[(180,56)(180,140)]) } Add(ComboBox,9717371,441,309) { Left=140 Top=185 Width=125 Height=21 link(onClick,3836526:doData,[(485,322)(485,378)(65,378)(65,434)]) } Add(StrList,8557240,140,309) { @Hint=#16:Варианты ответов| Strings=#5:1;2;3|5:4;5;6|5:7;8;9| } Add(ArrayRW,13458228,217,323) { Index=Integer(0) link(onRead,15052679:doMT,[]) link(Array,8557240:Array,[(223,311)(191,311)(191,366)(160,366)]) link(Index,9290676:Var2,[]) } Add(MT_String,15052679,280,316) { link(onResult,6361597:doEnum,[]) } Add(MT_Enum,6361597,371,316) { link(onItem,9717371:doAdd,[(422,322)(422,315)]) } Add(Hub,2477201,322,239) { link(onEvent1,2172432:doText,[]) link(onEvent2,13458228:doRead,[(352,252)(352,301)(198,301)(198,329)]) } Add(Hub,5474632,140,218) { link(onEvent1,9717371:doClear,[(427,224)(427,322)]) link(onEvent2,2706588:doNext,[(186,231)(186,238)]) } Add(Counter,2706588,238,232) { Max=2 Default=-1 link(onNext,2943759:doGetString,[(275,238)(275,207)(228,207)(228,84)]) } Add(Label,37559,441,239) { Left=140 Top=160 Width=120 Caption="Ответы" } Add(MultiElement,7002607,245,134) { @Hint=#20:Перемешивание списка|23:doWork1 - Инициализация|14:doWork2 - Пуск|24:Data1 - Число строк|25:Data2 - Массив Array|19:onEvent1 -Окончание| link(Data1,2943759:Count,[]) link(Data2,4742591:Var1,[(258,118)(241,118)(241,101)]) } BEGIN_SDK Add(EditMulti,1760756,3,3) { EventCount=1 WorkCount=2 DataCount=2 Width=461 Height=207 VOffset=20 HOffset=20 link(doWork1,7564468:doEvent1,[(15,29)(15,27)]) } Add(Random,33728,210,84) { Point(doMax) Point(doMin) link(onRandom,4536538:doEvent1,[]) } Add(Math,6252311,77,98) { OpType=1 Op2=1 ResultType=0 link(onResult,33728:doMax,[]) link(Op1,1760756:Data1,[(83,19)(29,19)]) } Add(Hub,10253093,21,98) { link(onEvent1,6252311:doOperation,[]) link(onEvent2,16402093:doFor,[(61,111)(61,153)]) } Add(For,16402093,70,147) { link(onEvent,13462699:doEvent1,[]) link(onStop,1760756:onEvent1,[(132,160)(132,29)]) link(End,6252311:Result,[]) } Add(Hub,13462699,147,147) { OutCount=4 link(onEvent1,33728:doMin,[(191,153)(191,111)]) link(onEvent2,12488775:doRead,[(233,160)(233,160)]) link(onEvent3,33728:doRandom,[(199,167)(199,90)]) link(onEvent4,13013690:doWrite,[(280,174)(280,139)]) } Add(ArrayRW,12488775,315,154) { link(onRead,1298052:doValue,[]) link(Array,7248876:Data1,[]) link(Value,1298052:Value,[(335,144)(355,144)(355,196)(370,196)]) } Add(Memory,1298052,364,154) { } Add(ArrayRW,13013690,329,84) { link(onRead,3202271:doValue,[]) link(Array,7248876:Data2,[(335,76)(328,76)]) link(Value,3202271:Value,[(349,74)(369,74)(369,126)(384,126)]) } Add(Hub,4536538,259,84) { link(onEvent1,13013690:doRead,[]) link(onEvent2,12488775:doWrite,[(303,97)(303,167)]) } Add(Memory,3202271,378,84) { } Add(GetData,7248876,315,35) { link(Data,1760756:Data2,[(321,12)(36,12)]) } Add(Hub,7564468,28,21) { link(onEvent1,33728:doRandomize,[(126,27)(126,97)]) link(onEvent2,10253093:doEvent1,[(54,34)(54,69)(9,69)(9,104)]) } END_SDK Add(GetDataEx,4742591,245,92) { Angle=1 link(Data,2943759:Array,[(258,101)]) } Add(StrList,2943759,238,36) { Strings=#7:Вопрос1|7:Вопрос2|7:Вопрос3| Point(doGetString) Point(onGetString) link(onGetString,14710138:doEvent1,[]) } Add(Label,2172432,371,239) { Left=150 Top=25 Width=140 Height=75 Font=[MS Sans Serif,16,0,0,1] Caption="Вопрос" } Add(StrList,5865180,340,40) { Strings=#7:Вопрос1|7:Вопрос2|7:Вопрос3| Point(doGetIndex) Point(onGetIndex) Point(Index) } Add(Hub,14710138,287,43) { link(onEvent1,5865180:doGetIndex,[(321,49)(321,88)]) link(onEvent2,2477201:doEvent1,[(311,56)(311,245)]) } Add(StrList,6606677,135,389) { @Hint=#6:ответы| Strings=#1:1|1:4|1:7| Point(onGetString) Point(doGetString) link(onGetString,11460265:doCompare,[]) } Add(If_else,11460265,198,396) { link(onTrue,5138630:doData,[(252,402)(252,399)]) link(Op2,9717371:String,[(211,375)(454,375)]) } Add(Math,9981557,336,396) { link(onResult,4555804:doString,[]) link(Op1,9981557:Result,[(342,384)(330,384)(330,440)(342,440)]) } Add(FormatStr,4555804,378,396) { Mask="Набранные баллы: %1" Point(FString) link(onFString,3274032:doText,[(429,402)(429,391)]) } Add(Label,3274032,447,385) { Left=140 Top=213 link(Text,4555804:FString,[(453,382)(424,382)(424,436)(384,436)]) } Add(DoData,3836526,77,428) { link(onEventData,6606677:doGetString,[(122,434)(122,437)]) link(Data,9290676:Var1,[(83,283)]) } Add(GetDataEx,9290676,217,274) { link(Data,5865180:Index,[(230,161)(367,161)]) } Add(DoData,5138630,266,393) { Data=Integer(1) link(onEventData,9981557:doOperation,[(321,399)(321,402)]) } Add(Button,13601183,84,218) { Left=30 Top=75 link(onClick,5474632:doEvent1,[]) }
------------ Дoбавленo в 13.09:
а если что то не хватает додумаешь сам! Надеюсь.
|