Вверх ↑
Этот топик читают: Гость
Ответов: 212
Рейтинг: 2
#1: 2017-08-04 13:30:21 ЛС | профиль | цитата
Здравствуйте! Подскажите, братие, как заменить все слова, найденные в документе? Как осуществлять поиск я нашел пример на форуме. Но как заменить ВСЕ? Поставил часики: находит - заменяет. Но когда текст заканчивается часы надо бы остановить. Можно бы выставить их по количеству найденных совпадений, но, блин, как его получить, это количество?



Add(RichEdit,7202476,693,182)
{
Left=10
Top=45
Width=478
Height=150
Strings=#26:Разные слова: бла-бла-бла,|20:И еще слова бла-бла,|
ScrollBars=2
Point(doSetSelStart)
Point(doSetSelLength)
Point(doSetSelect)
}
Add(Button,10967170,469,287)
{
Left=205
Top=10
Caption="Найти"
link(onClick,1249840:doEvent1,[])
}
Add(Replace,10719860,693,287)
{
SubStr="\10"
link(onReplace,1279234:doEvent1,[])
link(Str,7202476:Text,[])
}
Add(Position,13450275,938,287)
{
Point(doReset)
link(onSearch,607685:doOperation,[])
link(Str,7041105:Value,[(944,277)(930,277)(930,331)(846,331)])
}
Add(Edit,12569155,616,91)
{
Left=10
Top=10
Width=180
Text="бла"
link(onChange,13450275:doReset,[(777,97)(777,300)])
}
Add(Length,11953250,616,224)
{
link(onLength,7202476:doSetSelLength,[])
link(Str,14078218:Data1,[])
}
Add(Memory,7041105,840,287)
{
link(onData,14650584:doModify,[])
}
Add(Math,607685,987,287)
{
OpType=1
Op2=1
ResultType=0
Point(onError)
link(onResult,7202476:doSetSelStart,[(1035,293)(1035,151)(681,151)(681,223)])
}
Add(StrCase,788094,791,287)
{
link(onModify,7041105:doValue,[])
}
Add(StrCase,14650584,889,287)
{
link(onModify,13450275:doSearch,[])
link(Str,14078218:Data2,[(895,176)(629,176)])
}
Add(Hub,1279234,742,287)
{
link(onEvent1,788094:doModify,[])
link(onEvent2,11953250:doLength,[(767,300)(767,262)(606,262)(606,230)])
}
Add(Button,14380639,469,343)
{
Left=321
Top=212
Width=87
Caption="Заменить все"
link(onClick,14233033:doTimer,[])
}
Add(Edit,9517008,616,301)
{
Left=134
Top=212
Width=180
Text="ля"
}
Add(StrCat,3166044,616,350)
{
link(onStrCat,7202476:doSetSelect,[(656,356)(656,237)])
link(Str1,9517008:Text,[])
}
Add(Hub,1171128,553,343)
{
InCount=2
link(onEvent1,1249840:doEvent2,[(577,349)(577,300)])
link(onEvent2,4447:doEvent1,[])
}
Add(Timer,14233033,511,343)
{
Interval=1
Enable=1
link(onTimer,1171128:doEvent1,[])
}
Add(Button,4236124,469,399)
{
Left=49
Top=212
Width=79
Caption="Заменить на:"
link(onClick,4447:doEvent2,[(577,405)(577,363)])
}
Add(Hub,4447,588,350)
{
InCount=2
link(onEvent1,3166044:doStrCat,[])
}
Add(Hub,1249840,588,287)
{
InCount=2
link(onEvent1,10719860:doReplace,[])
}
Add(GetData,14078218,616,133)
{
link(Data,12569155:Text,[])
}


карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
vip
#1.1контекстная реклама от партнеров
Ответов: 497
Рейтинг: 16
#2: 2017-08-04 16:40:40 ЛС | профиль | цитата
ну здесь уже не под носом а прямо в ноздре

Add(RichEdit,7202476,427,196)
{
Left=10
Top=45
Width=478
Height=150
Strings=#26:Разные слова: бла-бла-бла,|20:И еще слова бла-бла,|
ScrollBars=2
Point(doSetSelStart)
Point(doSetSelLength)
Point(doSetSelect)
}
Add(Button,10967170,203,301)
{
Left=205
Top=10
Caption="Найти"
link(onClick,1249840:doEvent1,[])
}
Add(Replace,10719860,427,301)
{
SubStr="\10"
link(onReplace,1279234:doEvent1,[])
link(Str,16544337:Var2,[])
}
Add(Position,13450275,672,301)
{
Point(doReset)
link(onSearch,607685:doOperation,[])
link(Str,7041105:Value,[(678,291)(664,291)(664,345)(580,345)])
}
Add(Edit,12569155,350,84)
{
Left=10
Top=10
Width=180
Text="бла"
link(onChange,13450275:doReset,[(511,90)(511,314)])
}
Add(Length,11953250,350,238)
{
link(onLength,7202476:doSetSelLength,[])
link(Str,7462620:Var2,[])
}
Add(Memory,7041105,574,301)
{
link(onData,14650584:doModify,[])
}
Add(Math,607685,721,301)
{
OpType=1
Op2=1
ResultType=0
Point(onError)
link(onResult,7202476:doSetSelStart,[(769,307)(769,165)(415,165)(415,237)])
}
Add(StrCase,788094,525,301)
{
link(onModify,7041105:doValue,[])
}
Add(StrCase,14650584,623,301)
{
link(onModify,13450275:doSearch,[])
link(Str,14078218:Data2,[(629,190)(363,190)])
}
Add(Hub,1279234,476,301)
{
link(onEvent1,788094:doModify,[])
link(onEvent2,11953250:doLength,[(501,314)(501,276)(340,276)(340,244)])
}
Add(Button,14380639,385,420)
{
Left=321
Top=212
Width=87
Caption="Заменить все"
link(onClick,15313641:doReplace,[])
}
Add(Edit,9517008,350,315)
{
Left=134
Top=212
Width=180
Text="ля"
}
Add(StrCat,3166044,350,364)
{
link(onStrCat,7202476:doSetSelect,[(390,370)(390,251)])
link(Str1,3322662:Var2,[])
}
Add(Hub,1171128,287,357)
{
InCount=2
link(onEvent1,1249840:doEvent2,[(311,363)(311,314)])
link(onEvent2,4447:doEvent1,[])
}
Add(Timer,14233033,245,357)
{
Interval=1
Enable=1
link(onTimer,1171128:doEvent1,[])
}
Add(Button,4236124,203,413)
{
Left=49
Top=212
Width=79
Caption="Заменить на:"
link(onClick,4447:doEvent2,[(311,419)(311,377)])
}
Add(Hub,4447,322,364)
{
InCount=2
link(onEvent1,3166044:doStrCat,[])
}
Add(Hub,1249840,322,301)
{
InCount=2
link(onEvent1,10719860:doReplace,[])
}
Add(GetData,14078218,350,147)
{
link(Data,12569155:Text,[])
}
Add(Replace,15313641,448,420)
{
SubStr="\10"
link(onReplace,7202476:doText,[(492,426)(492,321)(415,321)(415,216)])
link(Str,16544337:Var3,[(454,285)])
link(Sub_str,7462620:Var3,[(461,201)])
link(Dest,3322662:Var3,[(468,355)])
}
Add(GetDataEx,16544337,427,280)
{
link(Data,7202476:Text,[])
}
Add(GetDataEx,7462620,350,196)
{
link(Data,14078218:Data1,[])
}
Add(GetDataEx,3322662,350,350)
{
link(Data,9517008:Text,[])
}

карма: 1
        ]  
0
Ответов: 212
Рейтинг: 2
#3: 2017-08-04 17:03:35 ЛС | профиль | цитата
RAWY_EX, спасибо! А как получить кол-во вхождений?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 16884
Рейтинг: 1239
#4: 2017-08-04 17:45:49 ЛС | профиль | цитата
RAWY_EX,


Add(MainForm,2953706,329,273)
{
}
Add(RichEdit,7202476,406,147)
{
Left=10
Top=45
Width=478
Height=150
Strings=#26:Разные слова: бла-бла-бла,|20:И еще слова бла-бла,|11:бла-бла-бла|11:бла-бла-бла|11:бла-бла-бла|11:бла-бла-бла|20:И еще слова бла-бла |
ScrollBars=2
Point(doSetSelStart)
Point(doSetSelLength)
Point(doSetSelect)
}
Add(Replace,10719860,406,322)
{
link(onReplace,7202476:doText,[(465,328)(465,127)(394,127)(394,167)])
link(Str,7202476:Text,[])
link(Sub_str,12569155:Text,[])
link(Dest,9517008:Text,[])
}
Add(Edit,12569155,413,224)
{
Left=10
Top=10
Width=180
Text="бла"
}
Add(Button,14380639,329,322)
{
Left=321
Top=212
Width=87
Caption="Заменить все"
link(onClick,10719860:doReplace,[])
}
Add(Edit,9517008,420,273)
{
Left=134
Top=212
Width=180
Text="ля"
}


--- Добавлено в 2017-08-04 18:11:58

inter1, удалять \10 (0x0A) нельзя.
LF (ASCII 0x0A) используется в Multics, UNIX, UNIX-подобных операционных системах (GNU/Linux, AIX, Xenix, Mac OS X, FreeBSD и др.), BeOS, Amiga UNIX, RISC OS и других;
CR (ASCII 0x0D) используется в 8-битовых машинах Commodore, машинах TRS-80, Apple II, системах Mac OS до версии 9 и OS-9;
CR+LF (ASCII 0x0D 0x0A) используется в DEC RT-11 и большинстве других ранних не-UNIX- и не-IBM-систем, а также в CP/M, MP/M (англ.), MS-DOS, OS/2, Microsoft Windows, Symbian OS, протоколах Интернет.


Редактировалось 1 раз(а), последний 2017-08-04 18:11:58
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 212
Рейтинг: 2
#5: 2017-08-04 18:46:31 ЛС | профиль | цитата
Tad, ого! Клево срезано. Правда, это уже без привязки к регистру. А как, все же, получить кол-во вхождений?

Редактировалось 1 раз(а), последний 2017-08-04 18:49:07
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 497
Рейтинг: 16
#6: 2017-08-04 19:25:18 ЛС | профиль | цитата
inter1 писал(а):
кол-во


Add(Case,7325079,525,308)
{
link(onNextCase,5376529:doOperation,[])
link(onTrue,10807390:doString,[(595,321)(595,370)])
}
Add(Position,10255519,476,308)
{
link(onSearch,7325079:doCase,[])
link(StartPos,10255519:Position,[(496,296)(489,296)(489,352)(482,352)])
}
Add(Math,5376529,616,308)
{
Op2=1
}
Add(Message,14298202,665,364)
{
}
Add(FormatStr,10807390,616,364)
{
Mask="count %1"
link(onFString,14298202:doMessage,[])
link(Str1,5376529:Result,[])
}

карма: 1
        ]  
0
Ответов: 212
Рейтинг: 2
#7: 2017-08-04 20:51:44 ЛС | профиль | цитата
И чо?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 497
Рейтинг: 16
#8: 2017-08-04 21:40:56 ЛС | профиль | цитата
и то

Add(Button,15845679,525,448)
{
Left=35
Top=205
link(onClick,9637908:doTimer,[])
}
Add(Case,7325079,840,448)
{
Value=Integer(0)
link(onNextCase,5376529:doOperation,[(968,454)(968,440)])
link(onTrue,7333881:doEvent1,[])
}
Add(Position,10255519,714,448)
{
ZeroPos=0
link(onSearch,7325079:doCase,[])
}
Add(Math,5376529,1064,434)
{
Op2=1
Point(doClear)
link(Op1,6974181:Var1,[(1070,429)(1026,429)(1026,502)])
}
Add(Message,14298202,1078,525)
{
}
Add(FormatStr,10807390,1029,525)
{
Mask="count %1"
link(onFString,14298202:doMessage,[])
link(Str1,6974181:Var2,[])
}
Add(Timer,9637908,609,448)
{
Interval=10
Enable=1
link(onTimer,10255519:doSearch,[])
}
Add(Hub,7333881,931,455)
{
OutCount=3
link(onEvent1,6398118:In,[])
link(onEvent2,10807390:doString,[(987,468)(987,531)])
link(onEvent3,5376529:doClear,[(987,475)(987,447)])
}
Add(GetDataEx,6974181,1029,497)
{
link(Data,5376529:Result,[(1035,481)(1070,481)])
}
Add(LineBreak,11875684,553,455)
{
link(Out,9637908:doStop,[])
Primary=[6398118,448,0]
}

карма: 1
        ]  
0
Ответов: 2059
Рейтинг: 131
#9: 2017-08-05 00:11:19 ЛС | профиль | цитата
За таймеры нужно канделябрами!
Киса, мы-же с вами художники!
карма: 6

0
Ответов: 212
Рейтинг: 2
#10: 2017-08-05 08:49:31 ЛС | профиль | цитата
RAWY_EX, спасибо!
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 212
Рейтинг: 2
#11: 2017-08-05 20:45:09 ЛС | профиль | цитата
Вопрос не в тему: что делать с глюками кнопки с картинкой. Загружаю нормальную картинку (jpg, с png вообще плохо дело),но при отрисовке на кнопке картинка покрывается точками, пятнами.
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 497
Рейтинг: 16
#12: 2017-08-05 21:53:35 ЛС | профиль | цитата
пример в студию

Редактировалось 1 раз(а), последний 2017-08-05 21:54:14
карма: 1
        ]  
0
Ответов: 212
Рейтинг: 2
#13: 2017-08-05 23:01:32 ЛС | профиль | цитата
Это серый квадрат с белым плюсом (изначально):


Add(MainForm,2953706,371,168)
{
Width=267
Height=190
}
Add(BitBtn,656662,441,168)
{
Left=106
Top=41
Width=21
Height=21
Caption=""
Bitmap=[ZIP3604000078DAA5934B8E83400C441D690E3047C8724E9003643F37E5FF9360C582CF8A351760C509901022794E8C50945DB75472C9AE72BBA1FBFE7FFB115DB727FE9EF87DE322D757E15D3FAF344D25CB32499244F23CD768DCF33CC5679E88076F188612C7B1C2FAF8BEAFB5AAAA147072E6333D5EFA594F74D6B3AE6B99A649012767759B03D0278A22059C7A1004D2759DECFBAE8093A3F6A9B739EC3C446A6DDB1E7E38B9B3C6CE5D96A5C6A22854C33ECCD7F7FDE18793A38606AD796DDEA6690E0CC320E338CABAAE0A38B9B3C6CE43A4CF3CCFB26DDBB1E7B22C5F391AB478F0BAFA5DE777FD7EAEFFCFF5FEB8DE5FD7F7E3FA7E1F75B34587]
}

карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 9906
Рейтинг: 351
#14: 2017-08-06 00:34:41 ЛС | профиль | цитата
Цвет точки <0,0> картинки - это цвет прозрачности.
Ставь нормальные картинки на кнопку, а не сканы с переливами - и получишь желаемое.

Add(MainForm,10187273,196,84)
{
Width=267
Height=190
}
Add(BitBtn,656662,266,84)
{
Left=106
Top=41
Width=21
Height=21
Caption=""
Bitmap=[ZIP3604000078DA95924D6E83400C8527EA05BACC117A821CA0FBDEB440CA9F44572C0AAC587381AC38015285DACFCF992862374FF2E8CDF3B3C74E78FFB8BC04E142BC11AFF73885B327EEF903EABA2ECBB2699A52807C0ACF0A2736CC45517C095E9565595555DF0284AB3BDD83B911102B01A5EFFB9B00E1EABABF02A8BA0A10F43CCFC771FC13205C119F3DFE0A2FA273220EC3E07E08D747CA27EFBA8EB36D5B5274E3DD699ADC0FE18A480A839B7D869F88799E9765F915205C1F299F8D93AA755DF77DF7B6DBB61D08290CD87221C99F3A4FEABEA9BF67EAFF95FA3DA47E6FA9DF335581C914C6691A983A307C60078571D32C77F4D34B4143E52D6C0C9609ECA4306E5ACC9B37D6996E7D2C6C22CBB1957CECA8306E9AE5CC13FDB167AC8B7344CECE8AA31EFB58ED3F5CC1C65F]
}
карма: 9

0
Ответов: 212
Рейтинг: 2
#15: 2017-08-06 15:18:50 ЛС | профиль | цитата
Galkov, спасибо. Уточни, пожалуйста, что ты имеешь ввиду. Я не использовал скан, картинка создана в редакторе (в частности, Xara Designer, полный аналог Xara Xtreme) и экспортирована в jpg.
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)