Страница: 1 |
Есть ли какой нибудь аналог InStrRev в ПБ? Можно конечно приспособить STRREVERSE$, которая переворачивает строку слева направо. Но может всё таки есть поиск начиная с правого края строки?
Я всегда переворачиваю строки с помошью StrReverse и в VB тоже, а про InStrRev ничего не слышал... InStrRev заметно быстрее StrReverse - InStr Рекомендую написать свои функции-аналоги известных VB-функций, достаточно быстродействующие, тебе все будут жутко благодарны. INSTR от PB совмещает в себе не только Instr от VB, но и inStrRev, а так же кое что еще.. Читайте хельп.. INSTR Назначение: Ищет указанную строку или символ в строке. Синтаксис: y& = INSTR([n&,] MainString, [ANY] MatchString) Примечание: INSTR возвращает число, указывающее номер позиции первого вхождения строки MatchString в строке MainString. n& - необязательный Long-integer параметр или выражение, MainString и MatchString - строки (выражения, строковые константы и т.д.). Если n& больше нуля, то поиск в MainString происходит слева направо, начиная с n&-го символа, до первого вхождения MatchString. Если же n& меньше нуля, то поиск в MainString происходит справа налево, до первого вхождения MatchString. Например, если n& = -1, то поиск начинается с последнего символа MainString, а при n& = -2, с предпоследнего символа и т.д. и т.п. x& = INSTR(-2, "efcdef", ANY "ef") Результат(x&) будет равен 5. Если MatchString не обнаружена в заданной части MainString, или n&, как позиция символа, расопложена вне MainString, то INSTR возвращает 0. Если MatchString - пустая строка, то INSTR возвращает 1 (если n& не имеет место) или n& (если параметр n& был задан в INSTR). ANY Если в функцию включено ключевое слово ANY, то это значит, что строка MatchString будет восприниматься список символов, а функция будет искать каждый из этих символов и выдаст результат(позицию в строке MainString) при нахождении любого(ANY) из них. INSTR чувствительна к регистру, то есть символы в ВРЕХНЕМ и нижнем регистре должны совпадать как в MatchString так и в MainString. Ограничения: Если n& равен нулю, то INSTR возвратит ноль. См. также: EXTRACT$, LCASE$, LEFT$, LTRIM$, MID$, RIGHT$, RTRIM$, TALLY, TRIM$, UCASE$, VERIFY Пример: ' x$ = first command-line argument, assuming ' spaces, commas, periods, and tabs are valid ' delimiters IF INSTR(COMMAND$, ANY " ,." + CHR$(9)) > 0 THEN x$ = "There is more than one command-line argument" ELSE x$ = "There is at most one command-line argument" END IF Спасибо, а то переворачивать строку очень непривычно и неудобно. Это твой собственный хелп или откопал где? Всегда рад помочь. А перевод мой, ты угадал.. Страница: 1 |
Вопрос: Аналог InStrRev в PB7
Добавлено: 12.02.04 07:52
Автор вопроса: CyRax | Web-сайт:
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
alex
Вопросов: 84
Ответов: 453
Профиль | | #1
Добавлено: 12.02.04 14:35
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 12.02.04 19:39
Номер ответа: 3
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #3
Добавлено: 12.02.04 23:00
Он (Sharp) тебя провоцирует на написание нового языка
Номер ответа: 4
Автор ответа:
brevno
Вопросов: 18
Ответов: 57
Web-сайт:
Профиль | | #4
Добавлено: 14.02.04 14:42
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 15.02.04 02:58
Номер ответа: 6
Автор ответа:
brevno
Вопросов: 18
Ответов: 57
Web-сайт:
Профиль | | #6
Добавлено: 15.02.04 12:46