Вверх ↑
Этот топик читают: Гость
Ответов: 1821
Рейтинг: 168
#1: 2011-01-12 21:52:56 ЛС | профиль | цитата
Как мне можно осуществить поиск текста в строке?
карма: 5

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2011-01-12 21:54:47 ЛС | профиль | цитата
Строка и текст - разные понятия, текст может содержать строку, а строка текст - нет.
RegularExpressions RE_Search Position SearchInFile BlockFind
карма: 10
0
Ответов: 1821
Рейтинг: 168
#3: 2011-01-12 22:03:34 ЛС | профиль | цитата
есть строка: <12><18><3><78><56>... и в этой строке нужно найти например <56> или <78><56> и выдать сущесвует ли такой текст в строке или нет.
карма: 5

0
Ответов: 4641
Рейтинг: 334
#4: 2011-01-12 22:07:21 ЛС | профиль | цитата
StrMask
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:sаmakacd
Ответов: 1821
Рейтинг: 168
#5: 2011-01-12 22:12:30 ЛС | профиль | цитата
спасибо . сработало!
карма: 5

0
Ответов: 952
Рейтинг: 4
#6: 2015-11-24 23:52:50 ЛС | профиль | цитата
Вопрос.На форме множество компонентов Edit. Вводить символ " в эти поля запрещено. Сейчас стоит проверка при вводе текста в эти поля, но это заметно подтормаживает процесс ввода.
Пока появилась мысль проверять все компоненты Edit при нажатии на кнопку Сохранить запись. Т.е. ДО сохранения введенного текста записи в БД.
И дальше 2 варианта, 1 автоматом заменятьудалять найденный символ ", 2 выдавать сообщение что бы юзер проверил все поля на предмет символа "
Стал вопрос за реализацией. Сделал 2 наброска. Но всё как-то не то .... Вот они

1

code_36533.txt

2

code_36534.txt

Подмогните.
карма: 0

0
файлы: 2code_36533.txt [381B] [422], code_36534.txt [335B] [394]
Ответов: 8930
Рейтинг: 823
#7: 2015-11-25 00:36:50 ЛС | профиль | цитата
user_asm, да ни в жизни не поверю, что при вводе в поле ввода компьютер не успевал за человеком
Вот универсальный IC от Tad-а, хошь только цифры, хошь только буквы, хошь исключить символ любой(ые) code_36535.txt
карма: 19

0
файлы: 1code_36535.txt [1KB] [377]
Ответов: 9906
Рейтинг: 351
#8: 2015-11-25 16:49:49 ЛС | профиль | цитата
user_asm писал(а):
На форме множество компонентов Edit. Вводить символ " в эти поля запрещено. Сейчас стоит проверка при вводе текста в эти поля

Вообще-то -- как два пальца...

Add(MainForm,2953706,35,84)
{
Point(doKeyBack)
Point(onChar)
link(onChar,12491807:doCase,[])
}
Add(Edit,12661680,86,238)
{
Left=14
Top=210
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,2475086,83,235)
{
Left=119
Top=126
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,8988506,76,228)
{
Left=224
Top=210
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,7517785,81,232)
{
Left=14
Top=42
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,6205481,78,229)
{
Left=119
Top=42
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,9227098,71,222)
{
Left=224
Top=42
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,6882819,74,225)
{
Left=14
Top=70
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,4683989,71,222)
{
Left=119
Top=70
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,9325189,64,215)
{
Left=224
Top=70
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,5346517,67,218)
{
Left=14
Top=98
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,14782941,64,215)
{
Left=119
Top=98
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,15663688,57,208)
{
Left=224
Top=98
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,2408624,60,211)
{
Left=14
Top=126
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,15304285,57,208)
{
Left=119
Top=210
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,8533748,50,201)
{
Left=224
Top=126
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,5021420,53,204)
{
Left=14
Top=154
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,12681174,50,201)
{
Left=119
Top=154
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,1864141,43,194)
{
Left=224
Top=154
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,4685461,46,197)
{
Left=14
Top=182
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,8006975,43,194)
{
Left=119
Top=182
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,8245348,36,187)
{
Left=224
Top=182
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,5718533,32,183)
{
Left=14
Top=14
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,6161174,29,180)
{
Left=119
Top=14
Width=91
Height=21
Text="1111111111111"
}
Add(Edit,8434914,22,173)
{
Left=224
Top=14
Width=91
Height=21
Text="1111111111111"
}
Add(Case,12491807,105,105)
{
Value=String(")
DataOnTrue=Integer(0)
link(onTrue,2953706:doKeyBack,[(144,118)(144,146)(25,146)(25,118)])
}
карма: 9

0
Ответов: 8930
Рейтинг: 823
#9: 2015-11-25 18:05:44 ЛС | профиль | цитата
И на всю глубину работает code_36536.txt
карма: 19

0
файлы: 1code_36536.txt [864B] [375]
Ответов: 16884
Рейтинг: 1239
#10: 2015-11-25 18:24:14 ЛС | профиль | цитата
Леонид писал(а):
И на всю глубину работает
Ага. А мне в 5-ю Edit нужно ввести магазин "Теремок" а в 20-ю кукла "Катя"
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#11: 2015-11-25 18:42:50 ЛС | профиль | цитата
Tad, но user_asm поставил """ вне закона, можно было клей под клавишу капнуть, да @ больше нигде нет
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#12: 2015-11-25 19:38:42 ЛС | профиль | цитата
Леонид писал(а):
но user_asm поставил """ вне закона
user_asm писал(а):
На форме множество компонентов Edit. Вводить символ " в эти поля запрещено.
Речь про Edit, а в Memo или в поле ComboBox вводить кавычки не запрещено. Ну и как ?
Вообще то user_asm любит ставить половинчатые задачи, а потом бороться с созданной им же другой половиной.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#13: 2015-11-25 20:06:53 ЛС | профиль | цитата
Tad писал(а):
а в Memo или в поле ComboBox вводить кавычки не запрещено. Ну и как ?
Поставить в Memo (или в CmboBox) KeyPreview=False
Большенький вроде, а детские вопросы задает...
карма: 9

0
Ответов: 952
Рейтинг: 4
#14: 2015-11-26 08:09:31 ЛС | профиль | цитата
Леонид писал(а):
user_asm, да ни в жизни не поверю, что при вводе в поле ввода компьютер не успевал за человеком

Если в каждом компоненте Edit висит схема проверяющая каждый введенный юзером символ - подтормаживает очень заметно. Вот и у меня сейчас так, заменял на проверку после нажатия Пробела, но некоторые умудряются начать сразу с кавычек.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#15: 2015-11-26 15:46:35 ЛС | профиль | цитата
Galkov, я просто знаю над чем работает user_asm.
Он хочет привести данные, заносимые в БД, в "стандартизированный" вид для облегчения дальнейшей их обработки.
1. Слово не должно начинаться и заканчиваться пробелом (некоторые умудряются перед набором ввести от одного до 4-5 пробелов и в конце тоже)
" Вася" даже с одним пробелом (в начале или в конце) не равен
"Вася" без пробелов
2. Сейчас он не хочет чтобы начиналось (и заканчивалось ??? ) кавычками. А вот интересно - кавычки в середине допустимы или нет ? Неизвестно.
3. В предложении между словами должен быть ОДИН пробел.
И т.д. и т.п.
Применение при работе с БД оператора LIKE займет намного больше времени, чем приведение в порядок вводимых данных.
Вообще-то, борьба с человеческими привычками -- это совсем не "два пальца"...
user_asm писал(а):
подтормаживает очень заметно.
Даже у чемпиона по скоростной печати (800 зн./минуту) на один знак уходит 75 миллисекунд. (Сейчас вроде 900 зн./мин.)
Обыкновенный тренированный человек, работающий 10-ю пальцами, печатает до 200 зн./мин., т.е. на один знак уходит ~300 миллисекунд.
Это какую нужно придумать проверку, чтобы "очень заметно тормозило"
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)