VB6 Форматирование строки Проблема - PullRequest
0 голосов
/ 09 августа 2011

Мой вопрос прост ..
Как мне преобразовать строку типа "445B986D2DD3B41852964ABA11408E82" в 445B9-86D2D-D3B41-85296-4ABA1-1408E82
Он должен быть в формате '#####-#####-#####-#####-#####-############ (последнее значение не имеет значения)

Ответы [ 4 ]

4 голосов
/ 09 августа 2011

Вот метод, использующий MOD

Dim OldStr As String
OldStr = "445B986D2DD3B41852964ABA11408E82"
Dim NewStr As String
For i = 1 To Len(OldStr)
    NewStr = NewStr & Mid(OldStr, i, 1)
    If i Mod 5 = 0 Then
        NewStr = NewStr & "-"
    End If
Next

и с использованием STEP

For i = 1 To Len(st) Step 5
    ss = ss & Mid(st, i, 5) & "-"
Next
2 голосов
/ 09 августа 2011

Почему бы вам просто не добавить тире:

s = Left(s, 5) + "-" + Mid(s, 6, 5) + "-" + Mid(s, 11, 5) + "-" + Mid(s, 16, 5) _  
               + "-" + Mid(s, 21, 5) + "-" + Right(s, Len(s) - 25)
0 голосов
/ 25 августа 2011

Вы можете использовать текстовое поле maskedinput с этой маской, но максимальная длина составляет 64, или я могу отправить созданный мной супертекстовый ящик с большим количеством улучшений

0 голосов
/ 09 августа 2011

Вы можете использовать функции Mid (), Left (), Right () и оператор сцепления (&). Например:

dim str
str = "12345678"
str = Left(str, 2) &"-"& Mid(str, 2, 2) & "-"& Mid(str, 4, 2) & "-"&Right(str, 2)
MsgBox str ' the output will be 12-34-56-78
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...