|
|
|
| подскажите, пожалуйста, как поизящнее разбить слово произвольной длины и пройтись в цикле по всем буквам. Спасибо | |
|
| |
|
|
|
| хелп по функциям Mid() и Len() | |
|
| |
|
|
|
| смотря что хотите делать. Разбить можно и так
Sub str2Byte(mystring As String)
Dim U() As Byte
Dim intStep As Integer
Dim i As Integer
intStep = LenB("А")
U() = mystring
For i = 0 To UBound(U) Step intStep
Debug.Print U(i)
Next
End Sub
Но в целом, ответ Дрюни | |
|
| |
|
|
|
| For i = Len(Me.strSlovo) To 0 Step -1
s = s & Right(Left(strSlovo, i), 1)
Next i
MsgBox s | |
|
| |
|
|
|
|
| не помню уже точно - но что-то бывало косило с Mid иногда в старых версиях Access (а может кажется) | |
|
| |
|
|
|
| s = s & Left(Right(strSlovo, i), 1)
в варианте Right(Left(strSlovo, i), 1) - получается что слово наоборот написано
(хотя главное принцип ) | |
|
| |
|
|
|
|
получается что слово наоборот написано
|
это фича а не бага :) | |
|
| |
|
|
|
| Это описатель функции StrReverse. | |
|
| |
|
|
|
| Спасибо, воспользовался.
Думал, какие-то конструкции есть типа split, потом for each | |
|
| |
|
|
|
| в общем случае нужно понимать для чего используется функция - причем понимать в широком смысле - "написал один раз используй везде".
побуквенным перебором чаще всего парсят пути.
для семантического разбора стринга лучше юзать не перебор а регекспы или алгоритмы нечеткого поиска | |
|
| |
|
|
|
|
| Для For Each:
Public Function CamaSutra(strWord As String)
Dim col As New Collection
Dim i As Integer, j
For i = 1 To Len(strWord)
col.Add Mid$(strWord, i, 1)
Next i
For Each j In col
Debug.Print j
Next j
End Function
|
| |
|
| |
|
|
|
| я думаю тут бы больше подошел бы Array а не Collection | |
|
| |
|
|
|
| Думал, какие-то конструкции есть типа split, потом for each
Вообще, то была шутко (Function CamaSutra), но на всякий случай спрошу:
А с массивом можно работать циклом For Each?
| |
|
| |
|
|
|
| в VBA уже не помню :)
насчет шутки - я понял, конечно | |
|
| |
|
|
|
| в VBA уже не помню
А я испугался что это я уже не помню. | |
|
| |
|
|
|
| не поленился - в хелпе есть, ну в принципе по логике и должно быть - просто действительно не помню уже точно :)
The following code loops through each element in an array and sets the value of each to the value of the index variable I.
Dim TestArray(10) As Integer, I As Variant
For Each I In TestArray
TestArray(I) = I
Next I
|
| |
|
| |
|
|
|
| Таки и впрямь не помню (не знаю).
Спасибо, а то я даже в хелп залезть что-то не догадался, тормоз. | |
|
| |