1. VisualBasic / Говнокод #6216

    −110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    Public Class Decoder
        Dim arr_en() As String = {"q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "?", "@"}
        Dim arr_ua() As String = {"й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "є", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", ".", ",", "'"}
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            TextBox2.Clear()
    
            Dim t As Char
            Dim ch As Char
            Dim vv As String
    
            For Each vv In TextBox1.Lines
                For Each t In vv
                    For i As Integer = 0 To arr_en.Count - 1
                        ch = arr_en.GetValue(i)
                        If t = ch Then
                            t = arr_ua.GetValue(i)
                            Exit For
                        End If
                    Next
                    TextBox2.Text = TextBox2.Text & t
                Next
                TextBox2.Text = TextBox2.Text & vbCrLf
            Next
        End Sub
    End Class

    Декодер с английской раскладки за 5 минут.

    Запостил: undiscovered, 04 Апреля 2011

    Комментарии (11) RSS

    • чем бы дитя не тешилось
      Ответить
    • самый аромат в том, что однострочник получился обстоятельным - на 25 LoC
      Ответить
    • Тогда подскажите мне, пожалуйста, как это сделать проще...
      Ответить
      • Я на Визуал Васике калякал в древние времена, не помню уже...
        Но там нету разве функции замены строковой, чтоб с массивами работала? Как в похапе.
        Ответить
        • пхпешник детектед
          Ответить
        • http://waper.ru/user/49205
          17 лет древние времена это интересно когда?
          Ответить
          • меня SL75 без корпуса умилило
            Ответить
            • Ну, если бы точным, то это даже две платы с немного порванным шлейфом, их соединяющим.
              По-моему, дам даже камера вынута.
              Но для коллекции сойдет.
              Ответить
          • Это лет 13-14.
            Ответить
      • Не знаю, насколько сильно отличается VB от VBA, но:
        For Each vv In TextBox1.Lines
            For i As Integer = 0 To arr_en.Count - 1
                vv= Replace(vv, arr_en.GetValue(i), arr_ua.GetValue(i), vbBinaryCompare)' Не уверен, что константу бинарного поиска правильно вспомнил
            Next i
            TextBox2.Text = TextBox2.Text & vv & vbCrLf
        Next vv

        Кстати, а где обработка ЗАГЛАВНЫХ букв?
        Ответить

    Добавить комментарий