Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Определение длина слова в массиве(нехочет) Добавлено: 26.03.09 18:33  

Автор вопроса:  pa4ka-morda
Привет! Почему функция Len() не считает кол-во символов в массиве? Что я не так сделал?

Dim Text As String, HowManyInSlova, i As Long
Dim Slova() As String
Text = Trim(TextBox1.Text)
Slova() = Split(Text)
HowManyInSlova = UBound(Slova()) - LBound(Slova())
ReDim Slova(0 To HowManyInSlova)
For i = 0 To HowManyInSlova
 sLen = Len(Slova(i))
 MsgBox sLen
Next i

Ответить

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

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



Вопросов: 5
Ответов: 344
 Профиль | | #1 Добавлено: 26.03.09 20:18
  1. ReDim Slova(0 To HowManyInSlova)
- переопределяет(обнуляет) массив Slova. Соответствено, кроме нулей(пустых строк), ничего дальше от него не получишь, пока не задашь Slova() заново.
Попробуй так:
  1. Dim Text As String, i As Long, sLen As Long ', HowManyInSlova
  2. Dim Slova() As String
  3. 'Text = Trim("132546542 fghdfhg 3657hf fgurth")
  4. Slova() = Split(Text)
  5. For i = LBound(Slova()) To UBound(Slova())
  6.  sLen = Len(Slova(i))
  7.  MsgBox sLen
  8. Next i

Ответить

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



Вопросов: 5
Ответов: 344
 Профиль | | #2 Добавлено: 26.03.09 20:59
Да, и не уподобляйся Incognito или Sergey (ничего личного, просто бесит) - для меня (и не только) простое спасибо - стимул для собственного (и всеобщего) роста...

Ответить

Номер ответа: 3
Автор ответа:
 pa4ka-morda



Вопросов: 2
Ответов: 1
 Профиль | | #3 Добавлено: 26.03.09 21:07
Ты меня опередил, прости если проверяю не сразу)) Спасибо!
Кстати можно же просто использовать ReDim Preserve

Ответить

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



Вопросов: 5
Ответов: 344
 Профиль | | #4 Добавлено: 26.03.09 21:37
  1. ReDim Preserve
- хорошая фраза(часто пользуюсь и рекомендую), но в данном примере, на мой взгляд, это лишнее.

Ответить

Страница: 1 |

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



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