|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.08.2012, 22:19 | #1 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
Pos в делфи
может ли не выполнятся пос в делфи? и если да то почему это происходит?
есть такой код Код:
как так? забыл сказать в блокноте по исходнику веб странице все правильно нахожу повторяя действия. Это не страница виновата получается а именно поиск в Делфи. Последний раз редактировалось Зод; 27.08.2012 в 22:21. |
27.08.2012, 22:40 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
не пишите сложный код. Используйте переменные.
переписваем ВАШ код с переменными и видим Код:
стало быть доверять дальнейшим использованиям результатам i2 НЕВОЗМОЖНО. Код:
Дпальнейший анализ кода бессмысленен. Кроме того, учитывая синтаксические ошибки в коде, складывается впечатление о несоответствии приведенного фрагмента реальному коду.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.08.2012 в 22:51. |
27.08.2012, 22:54 | #3 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
а можно поподробнее а то я мало что понял.
то есть я указываю позицию не верно? но код же работает почти всегда, ошибаеется редко. Мне казалось если бы я не правильно указывал что и куда копировать то постояно были бы ошибки. И как ее указать правильно? не прибавлять значение? Код:
Код:
i2 же скопирует строку между 35 и 50 символами? тогда почему она промахивается и находит слово которое стоит в тексте посередине а не в конце и не в начале? __________________ а чем это вам мой код не понравился?) 6 месяцев уже так пос использую, увидел пример на этом форуме и пошло. Грузить документ синапса в мемо? тоже здесь посоветовали. Конвертировать ютв в анси? не на этом но тоже форуме нашел. И вообще можно конкретнее? Пинать самоучку хоть фактами нужно. Последний раз редактировалось Зод; 27.08.2012 в 23:04. |
27.08.2012, 23:37 | #5 | |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Цитата:
Нет, копируется 50 символов начиная с 35, т.е. интервал [35; 84] Как душе угодно. Хотя если визуализация не нужна, то можно, например, в string или какой-нибудь другой тип нечитабельно, сложно анализировать, легко запутаться |
|
27.08.2012, 23:41 | #6 | |||
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
Цитата:
дату правильную, в данном случае 9 июля. Цитата:
незнал но все равно там же стоит окончание документа, лишнее не скопирует а там где нужна точность у меня стоит 27, 27 символов. Можно и в стринг но я уже привык как то к мемо. Для себя только так пишу, разметку делать все равно смысла нет. Вот только как разметка отражается функционнал и подленность кода для меня загадка) Цитата:
вот взял я строчку в 70 символов и урезал по 20-60, далее снова урезаю с 20-70, все равно в пос попадет только 20-69 не? откуда ему лишние символы брать? Последний раз редактировалось Зод; 28.08.2012 в 00:01. |
|||
28.08.2012, 10:10 | #7 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Код:
Цитата:
Код:
Цитата:
Код:
Всегда есть вероятность что 'seach_settings' встретиться в тексте раньше чем 'О клубе'. Знаю, что скажете "такого не может быть никогда, потому что не может быть". но как показывает опыт невероятное обязательно сбывается, даже в том случае если этот текст (который разбираете) вы пишете сами же. Например подвел невнимательный copy paste. смотри пример выше. Для этого пригодится PosEx Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 28.08.2012 в 10:33. |
||
28.08.2012, 10:37 | #8 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
Ну так это я понимаю, еще с showmessage определяю что находится. +1 стоит что бы слово перекрыть. Например есть текст: Ванечка, Катюшка,НГТУ, НГТУ, Ванечка 12. Мне нужно к примеру извлечь ВАнечка 12. Отсюда я нахожу pos(НГТУ) +1 потом от НГТУ до конца( максимум строки=38) и далее получается поиск Ванечка, в итоге получается нормальный результат. Длина везде стоит максимум (это больше чем будет в итоге) Поскольку слова одинаковые то мы их обрезаем +1 дабы не находились второй раз. Это я все знаю, читал про пос.
У меня вопрос был в другом почему пос не ищет слово конкретное. В документе куча b-link, уникальных слов мало. Поэтому я ищу первое b-link и сразу текст уменьшаю дабы первый b-link ушел. Дальше ищу b-link (второй уже) и его тоже обрезаю (зачем? сам не помню)) далее ищу ключевое слово это месяц, результат поиска сравниваю с названием месяца. Если слова совпали то поиск выполнен успешно. Вот здесь где моя ошибка? У меня более 90% случаев выполняются нормально но бывает так: находит первый b-link, урезает его, а вместо второго b-link находит НЕ ПЕРВЫЙ в тексте а хрен знает какой по счету (и не последний) как так то? В результате чего находится не первое значение и соответственно не правильно опознается месяц. Это тоже самое что: Код:
почему нашелся не ПЕРВЫЙ JPEG а предпоследний(и не последний, в чем логика поса?)? Последний раз редактировалось Зод; 28.08.2012 в 10:50. |
28.08.2012, 11:07 | #9 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
Не понятно, почему Вы привязались к этому b-link, насколько я понял этот класс используется для форматирования ссылок вообще, коих в анализируемой странице куча. Даты форматируются классом b-date, почему бы не анализировать по нему.
Например: ваша искомая дата "9 июля" отформатирована так Код:
Код:
Код:
|
28.08.2012, 12:28 | #10 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 28.08.2012 в 12:38. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
copy pos | Gudzik11 | Общие вопросы Delphi | 5 | 22.05.2012 08:57 |
if not Pos | Shouldercannon | Общие вопросы Delphi | 9 | 01.02.2012 15:48 |
copy or pos(делфи) | lama90 | Помощь студентам | 1 | 31.05.2011 18:17 |
pos и copy | zotox | Помощь студентам | 1 | 23.10.2008 21:13 |