Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Функция InStr. Добавлено: 17.07.10 23:03  

Автор вопроса:  goodwen
Здравствуйте, есть строка с большим количеством символов, с помощью функции InStr нужно найти определённый символ, но искать его нужно только в первых десяти знаках. В функции InStr первый аргумент start, а как мне задать конечное число символов?

Ответить

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

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



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 17.07.10 23:11
чувак, не тупи.. скопируй первые 10 символов в другую строку и там ищи..

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 18.07.10 00:09
Насколько я помню, в InStr можно указывать кол-во символов, которые нужно просмотреть, поищи в документации.
Это во-первых. Во-вторых, можно проверить полученый результат, если он меньше меньше или равен 10, значит символ найден в первы 10 символах, если больше, то он не найден в первых 10 символах

Ответить

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



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #3 Добавлено: 18.07.10 12:39
В шестом помоему нет указания длинны.
Instr([Start],SrcTxt,FindTxt,[Compare])

Ответить

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



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 18.07.10 16:22
да пофигу.. 10 символов можно и в цикле проверить без всяких instr

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 18.07.10 17:29
Все очень просто:
  1. Function BugogaFindSymvolInDesiatBukv(akljsdhf As String, Symvol As String) As Integer
  2. Dim Text As Variant
  3. Dim i As Variant
  4. For i = 1 To Len(akljsdhf)
  5. Text = Text & Mid(akljsdhf, i, 1)
  6. Next
  7. If Len(Text) = 0 Then
  8. MsgBox "Óïÿ÷êà!!!!11", vbCritical
  9. Exit Function
  10. End If
  11. If Len(Text) = 1 Then
  12. MsgBox "Óïÿ÷êàà!!!!11", vbCritical
  13. Exit Function
  14. End If
  15. If Len(Text) = 2 Then
  16. MsgBox "Óïÿ÷êààà!!!!11", vbCritical
  17. Exit Function
  18. End If
  19. If Len(Text) = 3 Then
  20. MsgBox "Óïÿ÷êàààà!!!!11", vbCritical
  21. Exit Function
  22. End If
  23. If Len(Text) = 4 Then
  24. MsgBox "Óïÿ÷êààààà!!!!11", vbCritical
  25. Exit Function
  26. End If
  27. If Len(Text) = 5 Then
  28. MsgBox "Óïÿ÷êàààààà!!!!11", vbCritical
  29. Exit Function
  30. End If
  31. If Len(Text) = 6 Then
  32. MsgBox "Óïÿ÷êààààààà!!!!11", vbCritical
  33. Exit Function
  34. End If
  35. If Len(Text) = 7 Then
  36. MsgBox "Óïÿ÷êàààààààà!!!!11", vbCritical
  37. Exit Function
  38. End If
  39. If Len(Text) = 8 Then
  40. MsgBox "Óïÿ÷êààààààààà!!!!11", vbCritical
  41. Exit Function
  42. End If
  43. If Len(Text) = 9 Then
  44. MsgBox "Óïÿ÷êàààààààààà!!!!10111", vbCritical
  45. Exit Function
  46. End If
  47. Dim BugogaFindSymvolInDesiatBukvResultat As Double
  48. If Asc(Mid$(Text, 1, 1)) = Asc(Symvol) Then
  49. BugogaFindSymvolInDesiatBukvResultat = 1
  50. End If
  51. If Asc(Mid$(Text, 2, 1)) = Asc(Symvol) Then
  52. BugogaFindSymvolInDesiatBukvResultat = 2
  53. End If
  54. If Asc(Mid$(Text, 3, 1)) = Asc(Symvol) Then
  55. BugogaFindSymvolInDesiatBukvResultat = 3
  56. End If
  57. If Asc(Mid$(Text, 4, 1)) = Asc(Symvol) Then
  58. BugogaFindSymvolInDesiatBukvResultat = 4
  59. End If
  60. If Asc(Mid$(Text, 5, 1)) = Asc(Symvol) Then
  61. BugogaFindSymvolInDesiatBukvResultat = 5
  62. End If
  63. If Asc(Mid$(Text, 6, 1)) = Asc(Symvol) Then
  64. BugogaFindSymvolInDesiatBukvResultat = 6
  65. End If
  66. If Asc(Mid$(Text, 7, 1)) = Asc(Symvol) Then
  67. BugogaFindSymvolInDesiatBukvResultat = 7
  68. End If
  69. If Asc(Mid$(Text, 8, 1)) = Asc(Symvol) Then
  70. BugogaFindSymvolInDesiatBukvResultat = 8
  71. End If
  72. If Asc(Mid$(Text, 9, 1)) = Asc(Symvol) Then
  73. BugogaFindSymvolInDesiatBukvResultat = 9
  74. End If
  75. If Asc(Mid$(Text, 10, 1)) = Asc(Symvol) Then
  76. BugogaFindSymvolInDesiatBukvResultat = 10
  77. End If
  78. If BugogaFindSymvolInDesiatBukvResultat = 1 Then
  79. BugogaFindSymvolInDesiatBukv = 1
  80. Exit Function
  81. End If
  82. If BugogaFindSymvolInDesiatBukvResultat = 2 Then
  83. BugogaFindSymvolInDesiatBukv = 2
  84. Exit Function
  85. End If
  86. If BugogaFindSymvolInDesiatBukvResultat = 3 Then
  87. BugogaFindSymvolInDesiatBukv = 3
  88. Exit Function
  89. End If
  90. If BugogaFindSymvolInDesiatBukvResultat = 4 Then
  91. BugogaFindSymvolInDesiatBukv = 4
  92. Exit Function
  93. End If
  94. If BugogaFindSymvolInDesiatBukvResultat = 5 Then
  95. BugogaFindSymvolInDesiatBukv = 5
  96. Exit Function
  97. End If
  98. If BugogaFindSymvolInDesiatBukvResultat = 6 Then
  99. BugogaFindSymvolInDesiatBukv = 6
  100. Exit Function
  101. End If
  102. If BugogaFindSymvolInDesiatBukvResultat = 7 Then
  103. BugogaFindSymvolInDesiatBukv = 7
  104. Exit Function
  105. End If
  106. If BugogaFindSymvolInDesiatBukvResultat = 8 Then
  107. BugogaFindSymvolInDesiatBukv = 8
  108. Exit Function
  109. End If
  110. If BugogaFindSymvolInDesiatBukvResultat = 9 Then
  111. BugogaFindSymvolInDesiatBukv = 9
  112. Exit Function
  113. End If
  114. If BugogaFindSymvolInDesiatBukvResultat = 10 Then
  115. BugogaFindSymvolInDesiatBukv = 10
  116. Exit Function
  117. End If
  118. End Function

Ответить

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



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 18.07.10 18:26
VBD всегда восхищает своим трудолюбием, даже если оно бесцельно:).
Москвин, как ты думаешь, почему ресурсы созданные апишками не читаются функциями
LoadResString
LoadResData
LoadResPicture
?

Ответить

Номер ответа: 7
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #7
Добавлено: 18.07.10 20:58
Я не знаю, но раста может узнать, почему так, сделав следующие действия: раста берет картинку с изображением херни. С помощью VB-шного редактора ресурсов сует ее в файл ресурсов (то есть так, чтобы потом LoadResPicture работало). Затем в другой файл ресурсов пихает ту же картинку, но с помощью этих ваших апишек. После этого раста может открыть оба файла в HEX-редакторе и поиграть в игру "найди отличия". Самому лень. Смекаешь? :)

Ответить

Номер ответа: 8
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #8 Добавлено: 18.07.10 21:12
Думаешь ябы до такого не додумался?
Съедено, смекаешь?

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 18.07.10 21:14
ого, только что заметил что можно использовать формат InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
а можно InStr([String1], [String2])
я бы так сделал instr(left$(%SOME_STRING%, 10), %FINDSTRING%). Только надо проверять перед этим, вдруг строка короче 10 символов с помощью len или lenb

Ответить

Номер ответа: 10
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #10
Добавлено: 18.07.10 21:26
Smith пишет:
Думаешь ябы до такого не додумался?
Съедено, смекаешь?

Я люблю жрать :)

Ответить

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



Вопросов: 7
Ответов: 73
 Профиль | | #11 Добавлено: 18.07.10 23:08
Почему не воспользоваться разделом "Справочник по VB" ???

Ответить

Номер ответа: 12
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #12
Добавлено: 18.07.10 23:19
Зачем интернет если есть люди?

Ответить

Номер ответа: 13
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #13
Добавлено: 18.07.10 23:21
Особенно этот ваш гугл. Как же он не нужен...

Ответить

Страница: 1 |

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



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