Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Описание InStr Добавлено: 23.09.04 13:31  

Автор вопроса:  RomaVis | ICQ: 266287351 
Люди, знаю просьба тупая, но дайте плиз описание функции InStr (сообственно что она делает)

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 Keen



ICQ: 284-467-526 

Вопросов: 12
Ответов: 25
 Профиль | | #1 Добавлено: 23.09.04 13:37
Возвращает номер позиции символа, с которого начинается искомая строка в строке-источнике.

Ответить

Номер ответа: 2
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #2 Добавлено: 23.09.04 13:40
Ищет первое вхождение подстроки в строке и выдает его подожение.
InStr(1, "omnia meu mecum porto", "mecum") выдаст 11
Первый параметр указывает, с какого места строки искать.

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 23.09.04 13:57
Ищет одну строку в другой. Если находит, то возвращает начальную позицию искомой строки, иначе 0.

Ответить

Номер ответа: 4
Автор ответа:
 Keen



ICQ: 284-467-526 

Вопросов: 12
Ответов: 25
 Профиль | | #4 Добавлено: 23.09.04 14:06
Странно, но такие темы обычно разворачиваются в полемику на 2 и более страниц: все говорят вместе, хотя одно и то же :)...

Ответить

Номер ответа: 5
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #5 Добавлено: 23.09.04 14:12
Я пользуюсь только forum by email. Сообщения на сайт приходят не сразу, это я заметил. Видимо, к тому моменту, как мое сообщение дошло до форума, Keen уже успел ответить

Ответить

Номер ответа: 6
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #6 Добавлено: 23.09.04 14:17

А чё такое CompareMethod ?????????

Ответить

Номер ответа: 7
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #7 Добавлено: 23.09.04 14:23
Метод сравнивания строк.
Подробнее - здесь
http://helpsite.narod.ru/vba/instvba/42.htm

Ответить

Номер ответа: 8
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #8 Добавлено: 23.09.04 14:37
Ну а если нет такого символа/строки, то выдаст -1

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 23.09.04 15:05
[флуд]
или &HFFFF точнее &HFFFFFFFF
[/флуд]

Ответить

Номер ответа: 10
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #10 Добавлено: 23.09.04 15:08
[флуд]
или &HFFFF точнее &HFFFFFFFF
[/флуд]

Все таки -1. Long - это знаковый тип.

Ответить

Номер ответа: 11
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #11 Добавлено: 23.09.04 15:11
Дополню. Если ты про его представление, то в памяти оно выглядит так:
11111111 11111111 11111111 11111111

Ответить

Номер ответа: 12
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #12
Добавлено: 23.09.04 15:24
Все таки -1. Long - это знаковый тип.

 В VB всё равно нет беззнаковых типов. Байт не в счёт. А процессору абсолютно по барабану в каком виде это записано в IDE. В машинных кодах всё равно всё сравняется.

Ответить

Номер ответа: 13
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #13 Добавлено: 23.09.04 15:31
Следуя этой логики и учитывая то обстоятельство, что в VB нет беззнаковых типов (а байт почемуто не в счет) можно было взять любое отрицательное число как код возврата, если функцией ничего не найдено. Почему же взяли именно -1? ИМХО запомнить проще да писать его в IDE удобнее, чем, скажем, даже -2. Поэтому все-таки -1.

Ответить

Номер ответа: 14
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #14 Добавлено: 23.09.04 17:08
Да что вы привезались к -1?
Просто он выдаст это и все.

Ответить

Номер ответа: 15
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #15
Добавлено: 23.09.04 17:10
а байт почемуто не в счет

 Если не знаешь почему, то я тебя объясню. Функция возвращает результат в регистр EAX. А он как известно 32-битный или 4 байта. Если бы функция возвращала в AH или в AL тогда байт можно было бы учитывать.

Почему же взяли именно -1

 Это смотря что ты имеешь ввиду. Например в API значение для TRUE - единица (Private Const TRUE = 1). И кто вообще "взял именно -1" непонятно. И странное у тебя следствие "из этой логики". Ты сделал неверный вывод из моих слов. Ты используешь -1, а sne &HFFFFFFFF. Это совершенно одно и тоже. А вот то что ты предлагал в двоичном виде в IDE никак не записать. VB6 не поддерживает двоичную систему счисления.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам