гороскоп на сегодня у скорпиона любовный гороскоп совместимости любовный гороскоп на 2017 рак девушка подробнее на этой странице нажмите чтобы увидеть больше ссылка на подробности любовный гороскоп гороскоп совместимости совместимость знаков в любви любовный гороскоп любовный гороскоп гороскоп совместимости парень козерог девушка весы гороскоп совместимость гороскоп на месяц любовный рак гороскоп на след неделю девы любовный гороскоп женщина рыба мужчина весы совместимость гороскоп совместимости он телец она овен совместимость любовный увидеть больше гороскоп дева любовный на сегодня и завтра гороскоп основываясь на этих данных на этой странице гороскоп на совместимость телец и рыбы рак гороскоп весы стрелец совместимость на 2017 год гороскоп ссылка сегодня гороскоп совместимость по гороскопу женщина телец мужчина рак совместимость гороскоп секс гороскоп совместимости читать больше гороскоп любовный на сегодня козерогу гороскоп любовный на завтра для стрельца гороскоп любовный на месяц рыбы женщина совместимость гороскопа лев и овен нажмите для продолжения любовный гороскоп двух львов гороскоп неделю гороскоп стрелец женщина и весы мужчина совместимость в браке гороскоп совместимости весы жен овен муж подробнее на этой странице сексуальный гороскоп близнецы женщин гороскоп совместимости она водолей он телец основываясь на этих данных совместимость по гороскопу близнецы скорпион гороскоп совместимости рак и козерог на 2017 гороскоп козы на 2017 любовный гороскоп на завтра лев любовный женщина одинокая перейти увидеть больше совместимость по гороскопу рыба и дева гороскоп женщины любовный гороскоп скорпиона на 2017 год мужчина гороскоп пифагора совместимости знаков зодиака привожу ссылку любовный гороскоп на рыб сегодня по ссылке гороскоп таблица совместимости по годам сексуальный гороскоп водолея и овна любовный гороскоп на месяц для овнов гороскоп совместимости рыбы женщина и рак мужчина совместимость нажмите чтобы увидеть больше гороскоп совместимости по луне и солнцу вот ссылка гороскоп на совместимость женщина телец любовный гороскоп на месяц весы 2017 гороскоп дева телец совместимость совместимость гороскопов лев скорпион посетить страницу гороскоп совместимости знаков зодиаков таблица фото гороскоп совместимости рыба тигр любовный гороскоп женщина козерог 2017 любовный гороскоп козерог на сегодня женщина любовный гороскоп для девы на сегодня и завтра гороскоп стрелец на завтра женщина любовный составить любовный любовный гороскоп водолей на 2017 гороскоп совместимости по знакам зодиака овен и водолей

Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Lukas

Function InsertSpaceBetweenGroupSimbols3(ByVal s$) As String
    Dim i As Long
    Dim grp As Long
    
    grp = 0
    For i = Len(s) To 1 Step -1
        Select Case Asc(Mid(s, i))
            Case 97 To 122, 65 To 90, 192 To 255 'буковки аглицкие, 192 To 255 'русские
                If grp = 2 Or grp = 3 Then s = Left$(s, i) & " " & Mid$(s, i + 1)
                grp = 1
            Case 48 To 57 'цифирки
                If grp = 1 Or grp = 3 Then s = Left$(s, i) & " " & Mid$(s, i + 1)
                grp = 2
            Case 32 'пробел
                grp = 0
            Case Else '33 To 47, 58 To 64, 91 To 96, 123 To 126, 127 To 191 ' все остальное
                If grp = 1 Or grp = 2 Then s = Left$(s, i) & " " & Mid$(s, i + 1)
                grp = 3
        End Select
    Next
    InsertSpaceBetweenGroupSimbols3 = s
End Function

Похоже в таком варианте будет работать быстрее, но думаю, и это не идеально.
Тест на моей машинке:

Public Function Test2()
    Dim i As Long
    Dim start As Long
    Dim finish As Long
    Dim str As String
    
    Const strText As String = "qwe 123ER FG$NNИТТИиреп.88*wert@^ 835rty FGHY^&*567@ апрГШвыЩО789=-=89 6578GHTY uiu561#@$  $4ft r678"
    Const lngCount As Long = 30000
    For i = 1 To lngCount
        'разгон процессора
        str = str
    Next i
    
    start = apiTimeGetTime
    For i = 1 To lngCount
        str = InsertSpaceBetweenGroupSimbols(strText)
    Next i
    finish = apiTimeGetTime - start
    Debug.Print "Вариант Анатолия"
    Debug.Print "Длина строки =", Len(strText)
    Debug.Print "Кол-во итераций =", lngCount
    Debug.Print "Время вычисления, ms=", finish
    Debug.Print "Result ="; str
    
    start = apiTimeGetTime
    For i = 1 To lngCount
        str = InsertSpaceBetweenGroupSimbols3(strText)
    Next i
    finish = apiTimeGetTime - start
    Debug.Print
    Debug.Print "Вариант Анатолия +Lukas"
    Debug.Print "Длина строки =", Len(strText)
    Debug.Print "Кол-во итераций =", lngCount
    Debug.Print "Время вычисления, ms=", finish
    Debug.Print "Result ="; str
End Function


Вариант Анатолия
Длина строки = 100
Кол-во итераций = 30000
Время вычисления, ms= 15422
Result =qwe 123 ER FG $ NNИТТИиреп . 88 * wert @^ 835 rty FGHY ^&* 567 @ апрГШвыЩО 789 =-= 89 6578 GHTY uiu 561 #@$ $ 4 ft r 678

Вариант Анатолия +Lukas
Длина строки = 100
Кол-во итераций = 30000
Время вычисления, ms= 2859
Result =qwe 123 ER FG $ NNИТТИиреп . 88 * wert @^ 835 rty FGHY ^&* 567 @ апрГШвыЩО 789 =-= 89 6578 GHTY uiu 561 #@$ $ 4 ft r 678


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.