Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2010, 15:01   #11
BRcr
 
Регистрация: 07.02.2010
Сообщений: 5
По умолчанию

Спасибо огромное вам обоим! Из ваших постов я почерпнул массу полезной информации.

2 Aent: само собой все передаваемые функции аргументы в итоге будут использованы, это я так, укоротил маленько. А копируя в теле функции переданную строчку, я всего лишь оставляю себе возможность сравнения данных и результата.
2 SAS888: откровенно говоря, сколько я не перечитывал справки по InStr() и Mid(), так и не смог уразуметь, где ж там ошибка???
Код:
res = InStr(signs1, Mid(text, i, 1)) > 0
В посте ранее Aent использовал именно такое написание и никакой ошибки в нем я так и не узрел.
Причем, если закомментировать эту строчку и res выставить в true, выскакивает ошибка на следующей строчке.
Код:
 text = Left(text, i - 1) & Right(text, Len(text) - i)
А если и вовсе удалить весь цикл
Код:
  If s1 Then
...
End If
то никаких ошибок не вылазит, функция возвращает переданное ей в нетронутом виде, и, следовательно, все объявления сделаны верно. От таких поворотов у меня уже крыша начинает свистеть, чесслово!
BRcr вне форума Ответить с цитированием
Старый 12.02.2010, 06:24   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Все верно. Вы хорошо себе представляете, как работает цикл For...Next, если в теле циклы изменяется переменная счетчика цикла (в данном случае i)? Этого делать не следует. Ошибка в строке Вашего кода
Код:
text = Left(text, i - 1) & Right(text, Len(text) - i)
возникает тогда, когда Len(text) становится меньше, чем i-1. Проверьте.
P.S. Вам уже привели несколько более рациональных и корректно работающих примеров.
P.P.S
Цитата:
Сообщение от Aent Посмотреть сообщение
...вы путаете функцию replace с методом.
Да, конечно. Спасибо за замечание.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 12.02.2010 в 06:31.
SAS888 вне форума Ответить с цитированием
Старый 12.02.2010, 15:48   #13
BRcr
 
Регистрация: 07.02.2010
Сообщений: 5
Радость

О, пардон, умолкаю.

В моем сознании наступила ясность чудесного зимнего рассвета, когда иней на веточках и пушистых иголках радостно поблескивает в лучах восходящего солнца и на всем необъятном небосводе ни облачка... Еще раз вам спасибо.

В мире есть еще много граблей, на которые не ступала нога человека… пойду поищу!
BRcr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расшифровка текста. Michelin Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 10.01.2010 21:19
Форматирование текста. Altera Общие вопросы Delphi 3 11.05.2009 23:29
Не могу разобраться с сравнением 2-х двумерных масивов на совпадения текста tj_pablo Общие вопросы C/C++ 0 11.03.2009 22:21
Обработка текста Absent Помощь студентам 2 20.05.2008 23:17
Вставка текста Pedro Общие вопросы Delphi 4 27.01.2008 10:27