Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2016-08-15 08:29:39 ЛС | профиль | цитата
nurik писал(а):
Error: C:\Program Files\HiAsm\
Ты установил HiAsm в защищённую папку C:\Program Files
Поэтому нужно HiAsm-у разрешить писАть в неё :
Tad писал(а):
ПКМ на иконке HiAsm - Свойства - Безопасность - Изменить - Ворону на "Полный доступ" - Применить.

------------ Дoбавленo в 08.29:
[flood]В личку писать бесполезно - мой ответ в личке Вы не прочтёте. Так устроен наш сайт.[/flood]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 10
Рейтинг: 0
#17: 2016-08-16 07:49:44 ЛС | профиль | цитата
приветствую. решил второе условие убрать. Достаточно первого.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#18: 2016-08-16 12:07:37 ЛС | профиль | цитата
Tad писал(а):
Вот это я не смог сделать на стандартных компонентах.

Не вводи людей в заблуждение
Работа со строками -- это не то, чего не умеет HiAsm ...

Add(VisualStrings,1954375,266,196)
{
Lines=#32:АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ|
Height=25
}
Add(Str_Enum,7131583,266,238)
{
Delimiter=""
link(onEnum,9974776:doWork1,[])
link(String,1954375:Text,[])
}
Add(MainForm,2790490,175,217)
{
Width=421
Height=423
Caption="УГАДАЙ СЛОВО! (c)Tad"
BorderStyle=1
Position=1
link(onCreate,15828471:doEvent1,[])
}
Add(GridLayout,4496329,385,238)
{
Name="grid"
Padding=20
Rows=8
Cols=4
}
Add(StrList,14861164,329,126)
{
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,2649284:doSlovo,[])
}
Add(Random,10848744,266,154)
{
Max=113
link(onRandom,14861164:doGetString,[])
}
Add(Hub,15828471,224,231)
{
link(onEvent1,10848744:doRandomize,[(255,237)(255,167)])
link(onEvent2,7131583:doEnum,[])
}
Add(Button,4492406,175,147)
{
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,266,112)
{
End=31
link(onEvent,9974776:doWork2,[(319,118)(319,251)])
}
Add(Hub,6896369,224,147)
{
link(onEvent1,3816765:doFor,[(254,153)(254,118)])
link(onEvent2,10848744:doRandom,[])
}
Add(Label,10519816,532,133)
{
Left=25
Top=150
Width=4
Height=4
Font=[Consolas,16,1,255,204]
Caption=""
}
Add(Label,8418764,490,140)
{
Left=15
Top=285
Width=185
Font=[MS Sans Serif,8,1,32768,1]
Caption=""
AutoSize=1
Alignment=2
}
Add(Label,977090,448,147)
{
Left=20
Top=225
Width=4
Height=4
Font=[MS Sans Serif,10,1,16711680,1]
Caption=""
}
Add(ChildGroupBox,9974776,329,238)
{
link(onEvent1,2649284:doBukva,[(375,244)(375,146)])
}
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,2649284,385,133)
{
link(onSlovo,10519816:doText,[])
link(onCalck,8418764:doText,[])
link(onEnd,977090:doText,[])
link(onAlf,9974776:doWork3,[(424,160)(424,279)(319,279)(319,258)])
}
BEGIN_SDK
Add(EditMultiEx,4493217,21,14)
{
WorkCount=#7:doSlovo|7:doBukva|
EventCount=#7:onSlovo|7:onCalck|5:onEnd|5:onAlf|
Width=524
Height=312
VOffset=119
link(doSlovo,5195614:doEvent1,[(32,139)(32,69)])
link(doBukva,4551538:doValue,[(39,146)(39,139)])
}
Add(Position,15036598,168,133)
{
ZeroPos=0
link(onSearch,12474451:doCompare,[])
link(Str,731645:Value,[])
link(Target,7225069:Var2,[])
}
Add(Delete,3854665,322,133)
{
Position=0
Count=1
link(onDelete,992139:doInsert,[])
link(Str,5172791:Var3,[(328,124)(363,124)])
}
Add(Insert,992139,378,133)
{
link(onInsert,4357243:doWork2,[])
link(SubStr,7225069:Var3,[(391,110)])
link(Position,15036598:Position,[(398,117)(209,117)(209,173)(174,173)])
}
Add(Memory,731645,168,63)
{
@Hint=#5:Слово|
link(onData,11270200:doLength,[])
AddHint(-12,-34,46,13,@Hint)
}
Add(Memory,4551538,56,133)
{
@Hint=#5:Буква|
link(onData,8269295:doRepeat,[])
AddHint(-11,-104,45,13,@Hint)
}
Add(Memory,16613698,441,133)
{
@Hint=#5:Маска|
link(onData,4493217:onSlovo,[])
AddHint(-13,-102,48,13,@Hint)
}
Add(Repeat,8269295,112,133)
{
link(onRepeat,15036598:doSearch,[])
}
Add(If_else,12474451,217,133)
{
Type=2
Op2=Integer(0)
link(onTrue,3854665:doDelete,[])
link(onFalse,1527551:doEvent1,[])
}
Add(GetDataEx,7225069,175,105)
{
Angle=3
link(Data,4551538:Value,[(97,110)(97,173)(62,173)])
}
Add(Length,11270200,217,63)
{
link(onLength,7075204:doStrPad,[])
}
Add(StrPad,7075204,322,63)
{
PadString="*"
PadLength=0
link(onStrPad,4357243:doWork1,[(424,69)])
link(String,15699524:Text,[])
}
Add(VisualStrings,15699524,322,28)
{
}
Add(HubEx,4357243,420,133)
{
link(onEvent,16613698:doValue,[])
}
Add(CounterEx,10666344,322,210)
{
Point(doReset)
link(onNext,4183625:doStrCat,[])
}
Add(Hub,5195614,133,63)
{
link(onEvent1,731645:doValue,[])
link(onEvent2,4029107:doEvent1,[(158,76)(158,223)])
}
Add(Hub,1527551,266,140)
{
OutCount=3
link(onEvent1,10666344:doNext,[(312,146)(312,216)])
link(onEvent2,8581230:doSearch,[(298,153)(298,272)])
link(onEvent3,8269295:doStop,[(291,160)(291,181)(102,181)(102,146)])
}
Add(StrCat,4183625,441,210)
{
Str1="Всего сделано ходов: "
link(onStrCat,4493217:onCalck,[(480,216)(480,146)])
}
Add(Position,8581230,322,266)
{
Target="*"
ZeroPos=0
ShortSearch=1
link(onSearch,4168798:doCase,[])
link(Str,5172791:Var2,[(328,257)(363,257)])
}
Add(Case,4168798,378,266)
{
Value=Integer(0)
DataOnTrue=String(СЛОВО ОТГАДАНО !)
link(onTrue,7750670:doWork2,[])
}
Add(HubEx,7750670,420,273)
{
link(onEvent,12335655:doEvent1,[])
}
Add(DoData,1615657,378,224)
{
link(onEventData,7750670:doWork1,[(424,230)])
}
Add(Hub,4029107,266,217)
{
OutCount=3
link(onEvent1,10666344:doReset,[])
link(onEvent2,1615657:doData,[])
link(onEvent3,8659067:doWork2,[(291,237)(291,293)])
}
Add(ChanelToIndex,8659067,476,280)
{
link(onIndex,4493217:onAlf,[(515,286)(515,160)])
}
Add(GetDataEx,5172791,357,168)
{
Angle=1
link(Data,16613698:Value,[(447,173)])
}
Add(Hub,12335655,441,273)
{
link(onEvent1,4493217:onEnd,[(487,279)(487,153)])
link(onEvent2,8659067:doWork1,[])
}
END_SDK
------------ Дoбавленo в 12.07:
В общем, сам ты АБЕЛЬМОШ
карма: 9

0
Ответов: 10
Рейтинг: 0
#19: 2016-08-16 22:07:36 ЛС | профиль | цитата
залил скрин того, что хочу написать http://hiasm.com/xf/attach/share/прога.1.jpg
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#20: 2016-08-17 07:15:18 ЛС | профиль | цитата
Galkov писал(а):
Не вводи людей в заблуждение
Вот именно.
Я писал про компонент
Tad писал(а):
Replace не хватает выбора режима ReplaceAll, ReplaceSingle.

Так как я писал про Replace, то ожидался пример с ИМЕННО этим компонентом.
С компонентами Insert, Delete + куча их обслуживающих это без проблем.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 10
Рейтинг: 0
#21: 2016-08-17 07:34:54 ЛС | профиль | цитата
ладно, закрываю тему.
карма: 1

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#22: 2016-08-17 13:05:09 ЛС | профиль | цитата
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

карма: 22

0
Ответов: 9906
Рейтинг: 351
#23: 2016-08-17 14:08:09 ЛС | профиль | цитата
Ну Tad-то всегда отмазку найдет. Тут сомнений не было

А вот nesco, в последнее время - совсем посты перестал читать
карма: 9

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#24: 2016-08-17 14:38:57 ЛС | профиль | цитата
Galkov писал(а):
А вот nesco, в последнее время - совсем посты перестал читать

Я читал твой пост про то, что Hiasm не та программа,в которой нельзя работать со строками.

Но мой последний пост был в ответ вот на это
Tad писал(а):
С компонентами Insert, Delete + куча их обслуживающих это без проблем.

Я портировал его IC, без использования перечисленных компонентов. Тч задача решается без всяких мифических ReplacSimpl-ов и ReplacAll-ов и не одним способом.

карма: 22

0
Ответов: 9906
Рейтинг: 351
#25: 2016-08-17 14:58:07 ЛС | профиль | цитата
nesco писал(а):
Я читал твой пост про то ...

Но схему из этого поста "не читал"
В которой я тоже портировал его IC, без использования перечисленных компонентов
Как говорится, УЖЕ

Кстати, про мифическую "кучу их обслуживающих" ...
Подтверждается мое давнее наблюдение: количество строк на ЯВУ примерно совпадает с количеством элементов аналогичного функционала.

Сравни свой мультик, мой мультик, и код в IC от Tad

карма: 9

0
Разработчик
Ответов: 26158
Рейтинг: 2127
#26: 2016-08-17 15:15:53 ЛС | профиль | цитата
Galkov писал(а):
В которой я тоже портировал его IC, без использования перечисленных компонентов

Пардонсе, а это что, если не компоненты Insert, Delete, там еще и Position есть, я его не обвел просто

sheme_1112png.png

Но то, что схема есть тоже портирование его IC, то с этим я как бы не спорю, но отступив от оригинала, те по-своему. Я же попытался полностью повторить алгоритм.
Кстати, обвязку StrPad я у тебя свистнул, а ты говоришь схему не читал

Что самое интересно, то это то, что количество элементов у нас с тобой приблизительно одинаковое, единственное отличие только в количестве связей. У меня на один элемент меньше, но зато больше связей.
карма: 22

0
файлы: 1sheme_1112png.png [16.3KB] [552]
Ответов: 16884
Рейтинг: 1239
#27: 2016-08-17 15:53:53 ЛС | профиль | цитата
nesco писал(а):
Тч задача решается
Добавочными ~25 компонентами, а добавив в Replace выбор режима - одним.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#28: 2016-08-17 15:56:55 ЛС | профиль | цитата
Tad писал(а):
а добавив в Replace выбор режима - одним

Ненужный совершенно режим Replac-y. ИМХО. И не 25 элементов, а меньше, тк часть элементов тупая привязка к интерфейсу.К тому же, как я понимаю, нужна маска для замены, а это тоже часть элементов, тч одним Replac-ом не обойдешься? Или я вообще не догоняю, как должен работать мифический Replace, который в строке из одних звездочек начнет менять только 1, 3, 5 символы, к примеру, а затем 1 и 2, а после 4 и 6? Или ты предлагаешь воткнуть свой хитрый алгоритм в этот Replace, который понадобился за все время существования только один раз?
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#29: 2016-08-17 22:01:16 ЛС | профиль | цитата
nesco, не буду я спорить.
Для примера - возьмём Delphi, которую вроде не дураки сотворили
#pas
Функция StringReplace (const S, OldSubstr, NewSubstr: string; Flags: TReplaceFlags ): string;
имеющая два флага.
#pas
Flags:= [ rfReplaceAll, rfIgnoreCase ];
и никаких проблем.А чем HiAsm хуже ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#30: 2016-08-18 00:22:29 ЛС | профиль | цитата
test
карма: 22

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