Нашел в инете аналог, а он в 10 раз быстрее работает
 почему-то
 почему-тоВроде все оптимально сделал
гляньте кто-нить в аттаче что не так plz


 почему-то
 почему-то
 ReCoder.rar
 ReCoder.rar

Option Explicit
Private Sub mnuRead_Click()
    On Error GoTo Error:
    Dim i As Long
    Dim strTmp As String, strFullString As String, strReplace As String, strSrc As String
    strFullString = txtCode.Text
    For i = 1 To Len(strFullString)
        strTmp = Mid$(strFullString, i, 1)
        'Debug.Print strTmp
        Select Case strTmp
            Case "~": strReplace = "Ё": Case "`": strReplace = "ё"
            Case "Q": strReplace = "Й": Case "q": strReplace = "й"
            Case "W": strReplace = "Ц": Case "w": strReplace = "ц"
            Case "E": strReplace = "У": Case "e": strReplace = "у"
            Case "R": strReplace = "К": Case "r": strReplace = "к"
            Case "T": strReplace = "Е": Case "t": strReplace = "е"
            Case "Y": strReplace = "Н": Case "y": strReplace = "н"
            Case "U": strReplace = "Г": Case "u": strReplace = "г"
            Case "I": strReplace = "Ш": Case "i": strReplace = "ш"
            Case "O": strReplace = "Щ": Case "o": strReplace = "щ"
            Case "P": strReplace = "З": Case "p": strReplace = "з"
            Case "{": strReplace = "Х": Case "[": strReplace = "х"
            Case "}": strReplace = "Ъ": Case "]": strReplace = "ъ"
            Case "A": strReplace = "Ф": Case "a": strReplace = "ф"
            Case "S": strReplace = "Ы": Case "s": strReplace = "ы"
            Case "D": strReplace = "В": Case "d": strReplace = "в"
            Case "F": strReplace = "А": Case "f": strReplace = "а"
            Case "G": strReplace = "П": Case "g": strReplace = "п"
            Case "H": strReplace = "Р": Case "h": strReplace = "р"
            Case "J": strReplace = "О": Case "j": strReplace = "о"
            Case "K": strReplace = "Л": Case "k": strReplace = "л"
            Case "L": strReplace = "Д": Case "l": strReplace = "д"
            Case ":": strReplace = "Ж": Case ";": strReplace = "ж"
            Case Chr$(34): strReplace = "Э": Case "'": strReplace = "э"
            Case "Z": strReplace = "Я": Case "z": strReplace = "я"
            Case "X": strReplace = "Ч": Case "x": strReplace = "ч"
            Case "C": strReplace = "С": Case "c": strReplace = "с"
            Case "V": strReplace = "М": Case "v": strReplace = "м"
            Case "B": strReplace = "И": Case "b": strReplace = "и"
            Case "N": strReplace = "Т": Case "n": strReplace = "т"
            Case "M": strReplace = "Ь": Case "m": strReplace = "ь"
            Case "<": strReplace = "Б": Case ",": strReplace = "б"
            Case ">": strReplace = "Ю": Case ".": strReplace = "ю"
            Case "/": strReplace = "."
            Case "?": strReplace = ","
            Case "@": strReplace = Chr$(34)
            Case "#": strReplace = "№"
            Case "$": strReplace = ";"
            Case "^": strReplace = ":"
            Case "&": strReplace = "?"
            Case Else: strReplace = strTmp
        End Select
        strSrc = strSrc & strReplace
    Next i
    txtResult.Text = strSrc
Error:
    If CBool(Err) Then
        MsgBox "Error:" & Chr$(32) & Err.Number & vbCrLf & vbCrLf & _
            "Description:" & Chr$(32) & Err.Description, _
            vbOKOnly Or vbCritical Or vbApplicationModal, "Error"
    End If
End Sub
 



 
 Error.rar
 Error.rar

DeleteCriticalSection   LeaveCriticalSection    EnterCriticalSection    InitializeCriticalSection   VirtualFree   VirtualAlloc    LocalFree   LocalAlloc    TlsSetValue   TlsGetValue   GetModuleHandleA    GetLastError    GetCommandLineA   WriteFile   SetFilePointer    SetEndOfFile    RtlUnwind   ReadFile    RaiseException    GetStdHandle    GetFileSize   GetFileType   ExitProcess   CreateFileA   CloseHandle    MessageBoxA    WriteFile   ReadFile    MultiByteToWideChar   GlobalUnlock    GlobalLock    GlobalAlloc   GetVersionExA   GetModuleFileNameA    GetLastError    CreateFileA   CloseHandle    keybd_event   TrackPopupMenu    SetWindowPos    SetClipboardViewer    SetClipboardData    SendMessageA    RegisterHotKey    RegisterClassA    PostQuitMessage   OpenClipboard   MessageBoxA   LoadIconA   GetMessageA   GetCursorPos    GetClipboardData    FindWindowA   EmptyClipboard    DispatchMessageA    DestroyMenu   DefWindowProcA    CreateWindowExA   CreatePopupMenu   CloseClipboard    ChangeClipboardChain    AppendMenuA   ActivateKeyboardLayout    ShellAboutA   Shell_NotifyIconA



Maitris писал(а):Неслабо для такой маленькой программулины






 , но есть у меня подозрение, что здесь это не главная причина торможения. Строки обычно бывают не слишком длинными, и разница между n и n^2 не слишком велика. Все дело, ИМХО, в АПЯх.
 , но есть у меня подозрение, что здесь это не главная причина торможения. Строки обычно бывают не слишком длинными, и разница между n и n^2 не слишком велика. Все дело, ИМХО, в АПЯх.
uhm писал(а):GoGosha, программу не смотрел, но есть у меня подозрение, что здесь это не главная причина торможения. Строки обычно бывают не слишком длинными, и разница между n и n^2 не слишком велика. Все дело, ИМХО, в АПЯх.





Я писал(а):без API
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10