Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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, 07:24   #12
SAS888
Профессионал
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,162
Репутация: 1127
По умолчанию

Все верно. Вы хорошо себе представляете, как работает цикл 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 в 07:31.
SAS888 вне форума   Ответить с цитированием
Старый 12.02.2010, 16:48   #13
BRcr
 
Регистрация: 07.02.2010
Сообщений: 5
Репутация: 10
Радость

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.