1. Pascal / Говнокод #7396

    +106

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    function TmainForm1.getLetterFinger( letter: String ): Integer;
    begin
      letter := UpperCase( letter );
      if ( letter = 'Ё' ) or ( letter = '1' ) or ( letter = 'Й' ) or
        ( letter = 'Ф' ) or ( letter = 'Я' ) or ( letter = '~' ) or
        ( letter = '!' ) or ( letter = 'Q' ) or ( letter = 'A' ) or
        ( letter = 'Z' ) or ( letter = 'LSHIFT' ) or ( letter = 'LCTRL' ) or
        ( letter = 'TAB' ) or ( letter = 'CAPS' ) or ( letter = 'SHIFT' ) then
        Result := 1;
      if ( letter = '2' ) or ( letter = '@' ) or ( letter = '"' ) or
        ( letter = 'W' ) or ( letter = 'S' ) or ( letter = 'X' ) or
        ( letter = 'Ц' ) or ( letter = 'Ы' ) or ( letter = 'Ч' ) then
        Result := 2;
      if ( letter = '3' ) or ( letter = '№' ) or ( letter = '#' ) or
        ( letter = 'E' ) or ( letter = 'D' ) or ( letter = 'C' ) or
        ( letter = 'У' ) or ( letter = 'В' ) or ( letter = 'С' ) then
        Result := 3;
      if ( letter = '4' ) or ( letter = ';' ) or ( letter = '$' ) or
        ( letter = 'R' ) or ( letter = 'F' ) or ( letter = 'V' ) or
        ( letter = 'К' ) or ( letter = 'А' ) or ( letter = 'М' ) or
        ( letter = '5' ) or ( letter = '%' ) or ( letter = 'Е' ) or
        ( letter = 'П' ) or ( letter = 'И' ) or ( letter = 'Е' ) or
        ( letter = 'T' ) or ( letter = 'G' ) or ( letter = 'B' ) then
        Result := 4;
      if ( letter = 'LSPACE' ) or ( letter = 'LATL' ) then
        Result := 5;
      if ( letter = 'RSPACE' ) or ( letter = 'RATL' ) then
        Result := 6;
      if ( letter = '&' ) or ( letter = '?' ) or ( letter = '7' ) or
        ( letter = 'Y' ) or ( letter = 'U' ) or ( letter = 'H' ) or
        ( letter = 'J' ) or ( letter = 'N' ) or ( letter = 'M' ) or
        ( letter = 'Н' ) or ( letter = 'Г' ) or ( letter = 'Р' ) or
        ( letter = 'О' ) or ( letter = 'Т' ) or ( letter = 'Ь' ) then
        Result := 7;
      if ( letter = '8' ) or ( letter = '*' ) or ( letter = 'Ш' ) or
        ( letter = 'Л' ) or ( letter = 'Б' ) or ( letter = ',' ) or
        ( letter = '<' ) or ( letter = 'K' ) or ( letter = 'I' ) then
        Result := 8;
      if ( letter = '9' ) or ( letter = '(' ) or ( letter = 'O' ) or
        ( letter = 'L' ) or ( letter = '.' ) or ( letter = '>' ) or
        ( letter = 'Щ' ) or ( letter = 'Д' ) or ( letter = 'Ю' ) then
        Result := 9;
      if ( letter = '0' ) or ( letter = ')' ) or ( letter = '-' ) or
        ( letter = '_' ) or ( letter = '+' ) or ( letter = '=' ) or
        ( letter = 'BACKSPACE' ) or ( letter = 'ENTER' ) or
        ( letter = 'RSHIFT' ) or ( letter = 'P' ) or ( letter = '{' ) or
        ( letter = '[' ) or ( letter = '}' ) or ( letter = ']' ) or
        ( letter = ':' ) or ( letter = ';' ) or ( letter = '''' ) or
        ( letter = '"' ) or ( letter = '/' ) or ( letter = '?' ) or
        ( letter = '\' ) or ( letter = '/' ) or ( letter = '?' ) or
        ( letter = '|' ) or ( letter = 'Ж' ) or ( letter = 'Э' ) or
        ( letter = '.' ) or ( letter = ',' ) or ( letter = 'З' ) or
        ( letter = 'Х' ) or ( letter = 'Ъ' ) then
        Result := 10;
    
    end;

    Nuff said.

    Запостил: Fai, 30 Июля 2011

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

    • [сарказм]Дельфисты как всегда поражают изобретательностью и оригинальностью идей.[/сарказм]
      Ответить
    • Ну для кого придумали множества в Паскале? Паскалист бы так никогда не написал. Этот программист скорее всего недавно перешёл с другого языка, например, с 1С или PHP.
      Ответить
      • Ага, с листка бумаги и машины Поста xD
        Ответить
      • Множества со строками не работают. А тут человек letter строкой сделал. Сам себя загнал.
        Ответить
        • if Length(letter) = 1 then
            begin
              { обработка letter[1] }
            end
          else
            begin
              { обработка всяких 'LSHIFT' }
            end;

          Первую часть можно сделать даже без множеств, объявив массив-константу или строку с результатами.
          Ответить
          • Куда проще было сделать просто без строк.
            Ответить
            • тода вам в дельфи пограмировать мышкой
              Ответить
        • > letter строкой
          'ааа', 'бээ', 'вээ', 'гээ'
          так и хочется на ALTGR+LSHIFT+RETURN послать
          Ответить
    • > letter = 'LSHIFT'
      спасибо за понимание

      > LetterFinger
      сапог-полено.txt
      Ответить
    • А в чём смысл-то? Что за GetLetterFinger? Получить палец, которым нажимается клавиша при использовании слепого десятипальцевого метода?
      Ответить
      • тайна, покрытая сраком, небось полсеместра инъяза в церковно-приходской...
        кстати, не православная GetLetterFinger, а верблюдофильская getLetterFinger
        Ответить
        • getLetterFinger - быстрее печатается чем GetLetterFinger и профессиональную болезнь машинистки тяжелее получить. Тк шифт лишний раз нажимать не надо.
          Когда идентификаторов в программе очень много - это веский довод.
          Ответить

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