Tad писал(а): Так как я писал про Replace, то ожидался пример с ИМЕННО этим компонентом. Собственно, в твоем IC тоже нет функции Replace. Да и ставить посимвольную замену или замену по маске в Replace, это крайне излишне (ИМХО), для этого есть другие средства и не обязательно Insert, Delete. ------------ Дoбавленo в 13.04:Tad, твой IC, реализованный на дискретных элементах без всяких Insert, Delete и Position, тк не все знают Delphi Add(VisualStrings,1954375,294,147) { Lines=#32:АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ| Height=25 } Add(Str_Enum,7131583,294,189) { Delimiter="" link(onEnum,9974776:doWork1,[]) link(String,1954375:Text,[]) } Add(MainForm,2790490,203,168) { Width=421 Height=423 Caption="УГАДАЙ СЛОВО! (c)Tad" BorderStyle=1 Position=1 link(onCreate,15828471:doEvent1,[]) } Add(GridLayout,4496329,413,189) { Name="grid" Padding=20 Rows=8 Cols=4 } Add(StrList,14861164,357,63) { Strings=#8:АБАЗИНЕЦ|8:АБАЗИНКА|8:АББАТИСА|8:АБДРАГАН|8:АБДУКТОР|8:АБДУКЦИЯ|8:АБЕЛЬМОШ|8:АБЗЕТЦЕР|8:АБИССАЛЬ|8:АБОЛИЦИЯ|8:АБОРИГЕН|8:АБРАКСАС|8:АБРИКОЛЬ|8:АБРОКОМА|8:АБСОРБЕР|8:АБСТРАКТ|8:АБСЦИССА|8:АБУТИЛОН|8:АБЫРВАЛГ|8:АВАЛЬМАН|8:АВАНГАРД|8:АВАНЛОЖА|8:АВАНПОРТ|8:АВАНПОСТ|8:АВАНРЕЙД|8:АВАНТЮРА|8:АВАНФОСС|8:АВАРИЙКА|8:АВАРТАНА|8:АВГУСТАЛ|8:АВИАБАЗА|8:АВИАМАЯК|8:АВИАПАРК|8:АВИАПОЛК|8:АВИАРЕЙС|8:АВИАТИКА|8:АВИДИТЕТ|8:АВИОНИКА|8:АВИФАУНА|8:АВРИКУЛА|8:АВСТЕРИЯ|8:АВСТРИЕЦ|8:АВСТРИЯК|8:АВТАРКИЯ|8:АВТОБАЗА|8:АВТОГРАД|8:АВТОГРАФ|8:АВТОДЕЛО|8:АВТОДРОМ|8:АВТОКЛАВ|8:АВТОКЛУБ|8:АВТОКРАН|8:АВТОКРАТ|8:АВТОЛИСТ|8:АВТОМАКС|8:АВТОПАРК|8:АВТОПЛУГ|8:АВТОСАНИ|8:АВТОСТОП|8:АВТОТРОФ|8:АВТОХТОН|8:АВТОШАРЖ|8:АВЮТОРГА|8:АГАРИКУС|8:АГАРЯНИН|8:АГАРЯНКА|8:АГАСТРИЯ|8:АГЕВСТИЯ|8:АГЕНЕЗИЯ|8:АГЕНТУРА|8:АГЕРАТУМ|8:АГИТАТОР|8:АГИТАЦИЯ|8:АГЛОССИЯ|8:АГНОСТИК|8:АГОНОМАЛ|8:АГОРАНОМ|8:АГРАМАНТ|8:АГРАМЕНТ|8:АГРАРНИК|8:АГРЕССИЯ|8:АГРЕССОР|8:АГРОМЕТР|8:АГРОПРОМ|8:АГРОСЕТЬ|8:АГУКАНЬЕ|8:АДВЕКЦИЯ|8:АДГЕРЕНТ|8:АДДЕНДУМ|8:АДДИКЦИЯ|8:АДДУКТОР|8:АДДУКЦИЯ|8:АДЕНОЗИН|8:АДЕНОИДЫ|8:АДЖАСТЕР|8:АДЖИВИКА|8:АДЖИЛИТИ|8:АДИАБАТА|8:АДИАНТУМ|8:АДИНАМИЯ|8:АДИПОЗИТ|8:АДНЕКСИТ|8:АДОНИЗИД|8:АДОНИЛЕН|8:АДОНИТИС|8:АДОРАЦИЯ|8:АДОРНИСТ|8:АДРЕСАНТ|8:АДСОРБАТ|8:АДСОРБЕР|8:АДЪЮВАНТ|8:АДЪЮСТАЖ|8:АДЪЮТАНТ|8:АДЫГЕЙКА| Point(doGetString) Point(onGetString) link(onGetString,4818141:doSlovo,[]) } Add(Random,10848744,294,105) { Max=113 link(onRandom,14861164:doGetString,[]) } Add(Hub,15828471,252,182) { link(onEvent1,10848744:doRandomize,[(277,188)(277,118)]) link(onEvent2,7131583:doEnum,[]) } Add(Button,4492406,203,98) { Left=5 Top=20 Width=180 Font=[MS Sans Serif,8,1,0,1] Caption="ВЫБЕРИТЕ СЛОВО" Data=Integer(0) link(onClick,6896369:doEvent1,[]) } Add(For,3816765,294,63) { End=31 link(onEvent,9974776:doWork2,[(342,69)(342,202)]) } Add(Hub,6896369,252,98) { link(onEvent1,3816765:doFor,[(282,104)(282,69)]) link(onEvent2,10848744:doRandom,[]) } Add(Label,10519816,546,70) { Left=25 Top=150 Width=4 Height=4 Font=[Consolas,16,1,255,204] Caption="" } Add(Label,8418764,504,77) { Left=15 Top=285 Width=185 Font=[MS Sans Serif,8,1,32768,1] Caption="" AutoSize=1 Alignment=2 } Add(Label,977090,462,84) { Left=20 Top=225 Width=4 Height=4 Font=[MS Sans Serif,10,1,16711680,1] Caption="" } Add(ChildGroupBox,9974776,357,189) { link(onEvent1,4818141:doBukva,[(396,195)(396,83)]) } BEGIN_SDK Add(EditMulti,9966731,21,21) { EventCount=1 WorkCount=3 Width=90 Height=102 VOffset=21 link(doWork1,7040909:##add,[]) link(doWork2,7040909:##select,[]) link(doWork3,6240180:doVisible,[(31,62)(31,83)]) } Add(GroupBox,6240180,42,77) { Left=205 Top=10 Width=200 Height=365 Color=65535 Font=[MS Sans Serif,8,1,0,1] Visible=1 Caption="Выберите букву" Point(doVisible) } Add(ChildPanelEx,7040909,42,35) { Mode=1 link(onChange,9966731:onEvent1,[(92,41)(92,48)]) } BEGIN_SDK Add(EditMultiEx,9722140,21,14) { WorkCount=#5:doOff|5:##add|8:##select| EventCount=#8:onChange| DataCount=#3:Str| Width=279 Height=158 VOffset=14 Point(##add) Point(##select) link(doOff,7826995:doWork1,[(179,34)]) link(##add,1047353:doText,[(53,41)(53,55)]) link(##select,334160:doReset,[(36,48)(36,69)]) } Add(Panel,82034,28,119) { Top=10 Width=40 Height=40 Font=[MS Sans Serif,8,1,0,1] Layout="parent.parent.grid" BorderWidth=0 BevelInner=0 } Add(Label,1047353,133,49) { Left=11 Top=10 Width=30 Height=30 Color=5832630 Font=[Courier New,18,1,0,204] TabOrder=-1 Caption="" AutoSize=1 Alignment=2 CaptionOnClick=0 Point(doColor) link(onClick,7826995:doWork2,[]) } Add(Switch,334160,77,56) { DataOn=Integer(255) DataOff=Integer(5832630) Point(doOn) link(onSwitch,1047353:doColor,[]) } Add(Hub,13361652,196,49) { link(onEvent1,9722140:onChange,[(233,55)(233,34)]) link(onEvent2,334160:doOn,[(217,62)(217,99)(65,99)(65,76)]) } Add(HubEx,7826995,175,49) { link(onEvent,13361652:doEvent1,[]) } END_SDK END_SDK Add(MultiElementEx,4818141,413,70) { link(onSlovo,10519816:doText,[]) link(onCalck,8418764:doText,[]) link(onEnd,977090:doText,[]) link(onAlf,9974776:doWork3,[(459,97)(459,230)(347,230)(347,209)]) } BEGIN_SDK Add(EditMultiEx,1984277,21,21) { WorkCount=#7:doSlovo|7:doBukva| EventCount=#7:onSlovo|7:onCalck|5:onEnd|5:onAlf| Width=559 Height=403 VOffset=21 link(doSlovo,6382685:doEvent1,[]) link(doBukva,12365:doEvent1,[(39,55)(39,223)]) } Add(ChanelToIndex,1805087,504,63) { link(onIndex,1984277:onAlf,[]) } Add(Hub,6382685,49,42) { OutCount=4 link(onEvent1,1805087:doWork2,[(298,48)(298,76)]) link(onEvent2,1708184:doReset,[(165,55)(165,76)]) link(onEvent3,14015414:doValue,[(102,62)(102,139)]) link(onEvent4,5416334:doText,[(151,69)(151,111)]) } Add(Memory,14015414,112,133) { @Hint=#1:S| Default=String() link(onData,8907020:doLength,[]) AddHint(-55,17,22,13,@Hint) } Add(StrPad,10055817,210,133) { PadString="*" PadLength=0 link(onStrPad,15762848:doLoad,[]) link(String,5416334:Text,[]) } Add(Length,8907020,161,133) { link(onLength,10055817:doStrPad,[]) } Add(VisualStrings,5416334,210,105) { Point(doText) Point(onText) link(onText,5109736:doWork2,[]) } Add(Memory,13944896,175,217) { @Hint=#1:B| Default=String() AddHint(55,7,22,13,@Hint) } Add(Hub,12365,49,217) { OutCount=6 link(onEvent1,13944896:doValue,[]) link(onEvent2,13174010:doEnum,[(102,230)(102,272)]) link(onEvent3,317492:doWork3,[(74,237)(74,209)(261,209)]) link(onEvent4,10143870:doReset,[(93,244)(93,321)]) link(onEvent5,14739098:doEnum,[(85,251)(85,342)]) link(onEvent6,1393559:doEvent,[(76,258)(76,384)]) } Add(CharArray,15762848,273,133) { @Hint=#1:M| link(onLoad,317492:doWork1,[(312,139)(312,125)(261,125)]) link(onGetStr,1984277:onSlovo,[(319,146)(319,48)]) AddHint(57,21,24,13,@Hint) } Add(Str_Enum,13174010,112,266) { Delimiter="" link(onEnum,7713869:doCompare,[]) link(onEndEnum,1708184:doNext,[(158,279)(158,69)]) link(String,14015414:Value,[]) } Add(StrCat,4496799,245,63) { Str1="Всего сделано ходов: " link(onStrCat,1984277:onCalck,[(326,69)(326,55)]) } Add(If_else,7713869,168,266) { link(onTrue,14001518:doOperation,[]) link(Op2,13944896:Value,[]) } Add(ArrayRW,9497260,273,259) { link(Array,56606:Var2,[]) link(Value,13174010:Part,[(293,250)(314,250)(314,306)(125,306)]) } Add(Math,14001518,224,266) { OpType=1 Op2=1 ResultType=0 link(onResult,9497260:doWrite,[]) link(Op1,13174010:NumSubStr,[(230,257)(216,257)(216,313)(118,313)]) } Add(GetDataEx,56606,273,196) { link(Data,15762848:Array,[]) } Add(Case,4637695,364,336) { Value=String(*) link(onTrue,14739098:doStop,[(403,349)(403,377)(305,377)(305,349)]) } Add(Switch,10143870,406,308) { DataOn=Integer(1) DataOff=Integer(0) Point(doOn) Point(State) } Add(IndexToChanel,1393559,406,378) { Data=String(СЛОВО ОТГАДАНО !) Point(Index) link(onEvent2,3668562:doEvent1,[]) link(Index,10143870:State,[]) } Add(ArrayEnum,14739098,315,336) { onBreakEnable=0 link(onItem,4637695:doCase,[]) link(onEndEnum,10143870:doOn,[(354,349)(354,328)]) link(Array,56606:Var3,[(321,201)]) } Add(Hub,3668562,455,385) { link(onEvent1,5109736:doWork3,[(550,391)]) link(onEvent2,1805087:doWork1,[(480,398)(480,69)]) } Add(CounterEx,1708184,182,63) { @Hint=#1:C| Max=1000 Point(doReset) Point(onSet) link(onNext,12523020:doWork2,[]) link(onSet,12523020:doWork3,[(228,76)]) AddHint(-38,-30,22,13,@Hint) } Add(HubEx,317492,257,140) { link(onEvent,15762848:doGetStr,[]) } Add(HubEx,12523020,224,63) { link(onEvent,4496799:doStrCat,[]) } Add(HubEx,5109736,546,105) { Angle=3 link(onEvent,1984277:onEnd,[(550,62)]) } END_SDK
|