Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Анатолий

Pages: [1]
1
Общая задача: найти позицию десятичной точки в строке содержащей число.
Тут явно неверно сформулирована общая задача...
...

Конечно же я обозначил лишь часть задачи, да и смысла не видел в подробном разжевывании. Дело в том, что меня, собственно, интересовало другое: почему при нахождении точки и цифры 0 выдавался одинаковый результат (см. тему топика). После объяснения Vint реакция программы стала ясна. А точку-то я уже давно решил как найти.

2
Можно сначала отфильтровать все кроме цифр и точек...
.....
А потом уже разбираться с точками

Ну да. Где-то подобным образом я и решил задачу. Пока работает. Спасибо.

3
Code: (clickermann) [Select]
IF(STRPOS($txt, ".") > 0)
   LOGWRITE ("Точка есть")
END_IF

А если их там аж 25 штук, етих точек? А нужна токма ОДНА?

4
Приветствую!
Спасибо всем, кто откликнулся и ура коллективному разуму! :)

2 Vint!
Если я правильно понял, то все происходит следующим образом. Программа преобразует паттерн (в д.с. ".") в значение 0.
Анализирует найденную позицию. Если там ".", то ее также преобразует в 0. Имеем два 0: условие выполняется. Если в позиции 0 - опять два 0, условие выполняется.
Вопрос: есть ли какие-нибудь наработки, чтобы красиво обойти эту ловушку?

2 ALL!
Конечно, я знаком с командой STRPOS() и использую ее при необходимости. Но в моей ситуации она не подходит, т.к. в строке может быть не одна точка, а произвольное количество, и, скорее всего, все остальные будут мусором (анализируемый текст получен через сканирование и OCR, а там все что угодно может быть  :-\ ) Команда же STRPOS() находит первое вхождение паттерна в тексте, а у меня искомое может быть и в начале строки, и в конце, и в середке. Поэтому приходится изгаляться. Решение я нашел, но оно весьма частное и некрасивое. А нужно все сделать скорее-скорее-скорее...  >:(
Ну да ладно, работает - и хорошо!

В конце своего затянувшегося повествования (блин, чукча-писатель  ;D ) хочу от всей души поблагодарить авторов программы за о-о-очень классный продукт. В свое время мне понадобился кликер, я установил Кликерманн, быстренько состряпал скрипт - и вуаля! - усе заработало!!! А тут вот срочно понадобилось эти чертовы цифры искать и я подумал: а почему бы и не Кликерманн? Все что надо - есть, все ясно и понятно (правда, оказалось - не все  :-[ ) и опять усе заработало! Честь и хвала. Спасибо!!!

С уважением,

5
Общая задача: найти позицию десятичной точки в строке содержащей число.
Команда скрипта:

IF(STRCUT($txt, $pos, 1) = ".")
[...]

При наличии точки или любой цифры от 1 до 9 - все ОК.
При попадании на 0 (ноль) распознается так-же как и точка, т.е. переходит на выполнение [...].

ps: видел проявление ошибки только на цифрах, про другие символы ничего сказать не могу.

Pages: [1]