|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
Добрый день. Есть функция: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Функция выполняет одну из проверок и возвращает ИСТИНА/ЛОЖЬ. Но вариантов проверки предполагается несколько сотен, в итоге текст самой функции станет не читаемым. ХОЧЕТСЯ, чтобы функция получила условие проверки в виде текстовой строки, поняла, что это логическое выражение и выполнила его.Что-то вроде этого: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:45 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
Прошу прощение, отправил не доделанный текст Есть функция: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Функция выполняет одну из проверок и возвращает ИСТИНА/ЛОЖЬ. Но вариантов проверки предполагается несколько сотен, в итоге текст самой функции станет не читаемым. ХОЧЕТСЯ, чтобы функция получила условие проверки в виде текстовой строки, поняла, что это логическое выражение и выполнила его.Что-то вроде этого: Код: vbnet 1. 2. 3. 4. 5.
Это возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:52 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
Eval попробуйте. Она, правда, не все выражения поддерживает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 14:10 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
l-evgeneХОЧЕТСЯ, чтобы функция получила условие проверки в виде текстовой строки, поняла, что это логическое выражение и выполнила его.Что-то вроде этого: Код: vbnet 1. 2. 3. 4. 5.
Это возможно? В Аксе есть функция EVal. Как раз она и возвращает результат выражения в строке. Например: Код: vbnet 1. 2. 3. 4.
Функция также понимает полные ссылки на поля открытой формы. Т.е. в вашем случае вместо frmФорма!ПолеFrom нужно Forms![Имя формы!ПолеFrom ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 14:16 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
l-evgeneвариантов проверки предполагается несколько сотен, в итоге текст самой функции станет не читаемым. Выносите по мере отладки сами варианты проверки в функции. Какие проблемы? А в этой функции останется только объединяющий скелет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 14:18 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
l-evgene, Если не секрет - а что это за штрих-код (тип) куда нужно засунуть код товара, его серийный номер, артикул, может ещё чего, ну и естественно - зачем? Может енто всё лишнее, типа масло-масляное... (настораживает несколько раз по 100 проверок) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 16:58 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
l-evgene, где объявлены --переменные strКлавиатура strНекорректныйСимвол rst --функция ВставитьКоммент 7 как вызывается fncПроверка ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 18:00 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАl-evgene, где объявлены --переменные strКлавиатура strНекорректныйСимвол rst --функция ВставитьКоммент 7 как вызывается fncПроверка Все объявлено на уровне модуля. rst формируется перед каждой проверкой (если нужно) и объявлен на уровне процедуры Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Вызов функции: Код: vbnet 1. 2. 3. 4. 5.
Задачу удалось решить при помощи eval, спасибо MrShin, Анатолий ( Киев ). Правда, получилось не очень красиво. Если есть варианты, буду признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 11:13 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
l-evgene, чтобы найти один из нескольких символов Код: vbnet 1.
надо пускать для каждого символа Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 12:31 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
Для решения таких задач специально придуманы регулярные выражения. См. объект RegExp ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 13:15 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Здесь другая задача. Переменная strКлавиатура содержит текст, считанный сканером штрих-кода. Сканер последовательно считывает символы штрих-кода и эмулирует нажатие клавиш. Символы последовательно добавляются в переменную. Если попадается недопустимый символ, вместо него добавляется дикий набор, которого в жизни быть не может. По окончании ввода, прога анализирует полученный текст и при наличии недопустимого символа не записывает его в таблицу. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 13:40 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАl-evgene, чтобы найти один из нескольких символов Код: vbnet 1.
надо пускать для каждого символа Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
В данном случае было бы достаточно Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 13:41 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
Прошу прощения, еще попроще Код: vbnet 1.
Хотя, если нужно использовать константу strНекорректныйСимвол, то так Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 13:50 |
|
Как преобразовать текст в выражение
|
|||
---|---|---|---|
#18+
__MichelleПрошу прощения, еще попроще Код: vbnet 1.
Хотя, если нужно использовать константу strНекорректныйСимвол, то так Код: vbnet 1.
Поправила.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2016, 13:53 |
|
|
start [/forum/topic.php?fid=45&msg=39199680&tid=1613774]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 401ms |
0 / 0 |