![]() |
|
|
![]()
|
|
| Женько |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.7.2009 Репутация: нет Всего: нет |
Ребята!! Срочно нужна помощь...
Обстоит дело так.. у меня есть, к примеру 8 едитов. С их помощью я организовываю поиск. Половина полей носят значение "и", а другая "или" т.е: ![]() Я не могу написать условие поиска. Мол, ищи то что я написала в едите1 и в едите2 или то, что в едите 3. Причем не все поля могут быть заполнены при поиске. Варианты вроде "&&" и "||" не помогают почему-то. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Код в студию. Может быть, двумя циклами проще: сначала "и", а затем, если не найдено, "или". Это сообщение отредактировал(а) Данкинг - 23.7.2009, 01:57 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Наверно в условии с && и || напутали со скобками.
И ещё надо учитывать, что поле едита не пустое. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Женько |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.7.2009 Репутация: нет Всего: нет |
Вот так вот.
Но в итоге плучается не то. Добавлено через 12 минут и 33 секунды Может есть какой-то вариант сделать не используемые в очередном поиске поля неактивными.. |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Попробуйте заменить && на & и || на |. И еще, все условия "и" должны быть заключены в одну скобку.
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Женько, твой код взрывает мозг!
Что ты пытаешься найти в строке? Подстроку или символ? Почему нельзя использовать метод Find класса TStringList? |
|||
|
||||
| Женько |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.7.2009 Репутация: нет Всего: нет |
Попробовала. Ощутимой разницы нет. В Form2->Memo1->Lines нет ни одной строки, даже если забиваю все едиты параметрами.
Добавлено через 3 минуты и 35 секунд я пытаюсь найти в строке, нечто, что я ввиду в едиты. причем необходимо, что бы была возможность поиска (едит2 и едит3) или (едит2 и едит3 или едит6), или (едит2 или едит6).... ну и тому подобное. А про взрыв мозга, эт ты, mrbrooks, прав)) |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Вот работающий пример на скорую руку. На форме Мемо1 и Мемо2, 8 Едитов и кнопка BGo. Первые четыре едита "и", вторые "или". Сначала проверяется, есть ли значение в Едите, а потом оно ищется в строке из Мемо1. Со второго Едита идет проверка на true, чтобы далее не проверять.
Правда, он работает при условии, что значение первого Едита должно быть обязательно. А, ну и для последних четырех проверку bYes на true не нужно, они же "или"... Это сообщение отредактировал(а) sawfish - 23.7.2009, 12:05 |
|||
|
||||
| Женько |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.7.2009 Репутация: нет Всего: нет |
Почемуто выдает ошибку.
List index out of bounds (0) |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
В моем примере нет проверки на пустой Мемо1. По-хорошему надо сначало это проверять.
А у Вас источник строк не пустой? Или это мой пример такое выдает? |
|||
|
||||
| Женько |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.7.2009 Репутация: нет Всего: нет |
РАзобралась. Спасибо тебе за помошь. Неоценимо))
И еще маленький вопросик... А если файл кот я подгрузила и что-то в нем ищу весит в районе 140мб, могут быть портаки из-за этого. Спрашиваю потому, что, когда работаю с гораздо менее весомыми файлами проблем нет. |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Ого! 140мб - серьезная заява! Проблема может еще возникнуть из-за длины загружаемых строк, возможно, там есть ограничение на длину строки. Но точно не скажу, извини, у меня таких задач не стояло. Может кто из форумчан-корифеев подскажет. Удачи!
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
При таких объёмах ИМХО стоит не грузить файл в Стринглист, а открывать его и искать непосредственно в файле. Это сообщение отредактировал(а) Данкинг - 23.7.2009, 17:45 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |