Вверх ↑
Этот топик читают: Гость
Ответов: 4641
Рейтинг: 334
#1: 2009-02-14 17:54:50 ЛС | профиль | цитата
Друзья! Задался целью....есть текст...и надо по словарю в тексте поменять символы. Например abcde на edcba. Но при этом не охото чтобы схема получилась громоздкая из элементов замена текста в строке...а именно охото по словарю. Так вот прилагаю схему которая пришла в голову, работает...но что то не так..например меняет только три последних символа и все. Почему так..подскажите плиз..

Add(Button,15441365,210,350)
{
Left=140
Top=185
link(onClick,11941763:doEvent1,[])
}
Add(Replace,10508014,476,371)
{
link(onReplace,12924381:doEvent1,[(520,377)(520,426)])
link(Str,3920605:Text,[(482,313)(349,313)])
link(Sub_str,1508872:Item,[])
link(Dest,8282807:Item,[(496,349)(587,349)])
}
Add(Memo,3920605,343,224)
{
Left=45
Top=80
Width=230
Strings=#6:abcdef|
}
Add(StrList,8486703,469,203)
{
Strings=#1:a|1:b|1:c|1:d|1:e|1:f|
}
Add(StrList,7625757,567,203)
{
Strings=#1:f|1:e|1:d|1:c|1:b|1:a|
}
Add(ArrayEnum,1508872,483,266)
{
link(onItem,8282807:doRead,[(548,272)(548,286)])
link(Array,8486703:Array,[])
}
Add(Hub,11941763,336,350)
{
OutCount=4
link(onEvent4,1508872:doEnum,[(426,377)(426,272)])
}
Add(ArrayRW,8282807,581,280)
{
Index=Integer(1)
link(onRead,10508014:doReplace,[(646,286)(646,335)(464,335)(464,377)])
link(Array,7625757:Array,[])
link(Index,1508872:Index,[(594,268)(496,268)])
}
Add(Hub,12924381,525,420)
{
OutCount=4
link(onEvent1,3920605:doClear,[(569,426)(569,332)(331,332)(331,237)])
link(onEvent2,3920605:doAdd,[(569,433)(569,331)(331,331)(331,230)])
}

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 387
Рейтинг: 34
#2: 2009-02-14 19:01:57 ЛС | профиль | цитата
Вот посмотри так проблема более видна

code_11781.txt
карма: 0

0
файлы: 1code_11781.txt [1.1KB] [154]
Ответов: 4641
Рейтинг: 334
#3: 2009-02-14 19:24:02 ЛС | профиль | цитата
Karl писал(а):
Вот посмотри так проблема более видна

Теперь понял..почему так....но тепеь не знаю в какую сторону копать....я хоть в том направлении иду или по другому надо??
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 387
Рейтинг: 34
#4: 2009-02-14 19:49:45 ЛС | профиль | цитата
Думаю если переводить русские буквы(слова) на английские(или наоборот) будет нормально
карма: 0

1
Голосовали:Ravilr
Ответов: 3851
Рейтинг: 159
#5: 2009-02-14 19:58:19 ЛС | профиль | цитата
Ravilr, например code_11782.txt так.
карма: 0
начавший
1
файлы: 1code_11782.txt [1.2KB] [162]
Голосовали:Ravilr
Ответов: 4641
Рейтинг: 334
#6: 2009-02-14 21:48:45 ЛС | профиль | цитата
Karl писал(а):
Думаю если переводить русские буквы(слова) на английские(или наоборот) будет нормально


Смех смехон, но идею понял.....заменил на цифры..и все нормально. Кстати для меня этот способ тоже выход!!
СПАСИБО!!!

------------ Дoбавленo:

Андрей. писал(а):
например code_11782.txt так.

Андрей, спасибо за пример, теперь понял как должно быть по правильному.....сам бы до такого я не догадалсябы никогда....все так лихо закручено.
------------ Дoбавленo:

Андрей, только одного не пойму для чего в данной схеме....записывать данные в массив с 2-х мест....ведь при добавлении doAdd в ArrayRW данные и так записываются в массив ...или это не так
Если не понятно что написал...на схеме отметил что хочу узнать...

Add(Button,15441365,63,149)
{
Left=140
Top=185
link(onClick,9052148:doEvent1,[])
}
Add(Memo,3920605,189,58)
{
Left=45
Top=80
Width=230
Strings=#6:abcdef|
}
Add(StrList,8486703,294,170)
{
Strings=#1:a|1:b|1:c|1:d|1:e|1:f|
Point(doGetIndex)
Point(onGetIndex)
link(onGetIndex,7625757:doGetString,[(359,183)(359,197)])
}
Add(StrList,7625757,392,149)
{
Strings=#1:f|1:e|1:d|1:c|1:b|1:a|
Point(doGetString)
Point(onGetString)
Point(String)
link(onGetString,4784520:doAdd,[(502,162)(502,344)])
}
Add(CharArray,12996354,189,156)
{
link(onLoad,14519396:doEnum,[(230,162)(230,197)(177,197)(177,232)])
link(String,3920605:Text,[])
}
Add(ArrayEnum,14519396,189,226)
{
link(onItem,8486703:doGetIndex,[(257,232)(257,218)])
link(onEndEnum,3192503:doGetStr,[(401,239)(401,225)])
link(Array,12996354:Array,[])
}
Add(Edit,13843764,581,107)
{
Left=150
Top=220
Text=""
}
Add(CharArray,3192503,581,212)
{
link(onGetStr,13843764:doText,[(625,225)(625,204)(569,204)(569,113)])
link(String,13843764:Text,[])
}
Add(ArrayRW,4784520,581,324)
{
link(Array,3192503:Array,[])
link(Value,7625757:String,[(601,256)(347,398)(347,360)(389,360)])
}
Add(Hub,9052148,126,149)
{
link(onEvent1,3192503:doLoad,[(371,155)(371,218)])
link(onEvent2,12996354:doLoad,[])
}
Add(InfoTip,5066223,322,344)
{
Info=#14:Это для чего??|
Width=92
Height=60
}
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#7: 2009-02-14 22:34:56 ЛС | профиль | цитата
Ravilr, тот, выделенный тобой линк , не нужен.
А можно и упростить
code_11786.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_11786.txt [1KB] [184]
Ответов: 4641
Рейтинг: 334
#8: 2009-02-15 00:13:32 ЛС | профиль | цитата
Tad, спасибо! Супер короткий схем !!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#9: 2009-02-15 00:26:10 ЛС | профиль | цитата
да - спешил я

Tad, упрощение замедляет:
вот упрощённая схема code_11790.txt, а вот неупрощённая code_11791.txt - 53 против 24 - почувствуйте разницу
карма: 0
начавший
0
файлы: 2code_11790.txt [1.5KB] [172], code_11791.txt [1.6KB] [183]
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2009-02-15 01:38:46 ЛС | профиль | цитата
что самое интересное: тот же алгоритм, исполненный в FTCG дает выигрышь всего в два раза(у меня 15 против 30)
карма: 27
0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)