Школоло / Говнокод #6861 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
Dim byteOut(64) As Byte
        Dim i As Integer
        Try
            byteOut(0) = Len(outCName) + 5 'number bytes in output message
            byteOut(1) = &H0 'should be 0 for NXT
            byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
            byteOut(3) = &H9 'Send Bluetooth
            byteOut(4) = &H0 'Box Number - 1
            byteOut(5) = Len(outCName) + 1 'message size with null terminator
            For i = 1 To Len(outCName) 'copy bytes into output array
                byteOut(i + 5) = Asc(Mid(outCName, i, 1))
            Next
            byteOut(Len(outCName) + 6) = &H0 'add null terminator
            SerialPort1.Write(byteOut, 0, Len(outCName) + 7) 'send message

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        Try
            byteOut(0) = Len(outWState) + 5 'number bytes in output message
            byteOut(1) = &H0 'should be 0 for NXT
            byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
            byteOut(3) = &H9 'Send Bluetooth
            byteOut(4) = &H1 'Box Number - 1
            byteOut(5) = Len(outWState) + 1 'message size with null terminator
            For i = 1 To Len(outWState) 'copy bytes into output array
                byteOut(i + 5) = Asc(Mid(outWState, i, 1))
            Next
            byteOut(Len(outWState) + 6) = &H0 'add null terminator
            SerialPort1.Write(byteOut, 0, Len(outWState) + 7) 'send message

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

<..ещё один раз..>

   '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        Try
            byteOut(0) = Len(outWindC) + 5 'number bytes in output message
            byteOut(1) = &H0 'should be 0 for NXT
            byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
            byteOut(3) = &H9 'Send Bluetooth
            byteOut(4) = &H3 'Box Number - 1
            byteOut(5) = Len(outWindC) + 1 'message size with null terminator
            For i = 1 To Len(outWindC) 'copy bytes into output array
                byteOut(i + 5) = Asc(Mid(outWindC, i, 1))
            Next
            byteOut(Len(outWindC) + 6) = &H0 'add null terminator
            SerialPort1.Write(byteOut, 0, Len(outWindC) + 7) 'send message

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

        '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        Try
            byteOut(0) = Len(outHum) + 5 'number bytes in output message
            byteOut(1) = &H0 'should be 0 for NXT
            byteOut(2) = &H80 '&H0 = reply expected &H80 = no reply expected
            byteOut(3) = &H9 'Send Bluetooth
            byteOut(4) = &H4 'Box Number - 1
            byteOut(5) = Len(outHum) + 1 'message size with null terminator
            For i = 1 To Len(outHum) 'copy bytes into output array
                byteOut(i + 5) = Asc(Mid(outHum, i, 1))
            Next
            byteOut(Len(outHum) + 6) = &H0 'add null terminator
            SerialPort1.Write(byteOut, 0, Len(outHum) + 7) 'send message

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

Говнокод почти трёхлетней давности. Понадобилось мне посмотреть, как я реализовывал "общение" по блютусу с Mindstorms NXT, и напоролся на вот это...

Запостил: RaZeR RaZeR, (Updated )

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

  • Язык Бейсик как-то странно и надолго закрепился в сфере обучения, хотя многие понимали,
    что к добру это привести не может. Hапример, одно из светил теории программирования Эдсгер Дейкстра
    говорил, что "преподавателей, которые начинают обучение программированию с бейсика,
    следует привлекать к уголовной ответственности"...
    Ответить
    • Судя по его словам, слава богу, что меня basic не коснулся. Начинал с паскаля: что в школе, что на втором курсе университета. Далее Object Pascal. Далее Assembler 16bit. Далее основы ООП в C++. Далее будет Пролог. Курсовые беру по Java. Если из меня получится программист - отпишусь 😀
      Ответить
    • бейсик и паскаль были хороши для обучения в 80е годы. Но время не стоит на месте, и будущих программеров надо науськивать на хороший стиль и best practices. В то время как упомянутые языки пропагандируют достаточно неизящный подход.
      Поэтому следует давать обучающимся и низкоуровневые знания, что бы у них не было пыховских иллюзий типа
      "код из туториалов совершенен и универсален",
      "задачу возможно решить лишь "в лоб" ",
      "серверу не больно, будет тормозить - прикупим еще сервер помощнее",
      "<это> используется везде - значит, это круто, и буду использовать только <это>",
      "можно гадить (не использовать повторно объекты и не освобождать ресурсы) - все подотрет система вместе со сборщиком мусора",
      "какая разница, стек или куча",
      "оптимизация заключается в "экономии на спичках" ",
      и т.д.
      Ответить
  • щ!S$E:PP$I.Q)R(H.L M:U"R(H(N!C.U$Q W)P(K:G.T P?X(YR:VA)Q$D?V?AKR.A?RL(DI!N,I.G:X CM)X?J!F!MH"D$U,U?S(T?U)W.H"C(Q$EФBZIILDKVEYAIANREF
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8