Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: VS C# + МК
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Ekka
Привет всем... может, кто знает, что за беда. МК соединяется с ПК через прогу (Visual Studio - C#) по ком-порту.
Есть у меня на форме табличка, куда заносятся данные DataGridView.
Во все ячейки, если заносим числа - они приходят типом String. ВСЕ.
Но в одну единственную 32-ю, если числа от 1 до 9 - типом стринг, если больше 9 - приходит char и начинается галимотья.
От чего так???
richie
Не совсем понятно, какие данные и откуда.
Как понял, то форма отображает поступающие данные с контроллера.

Ошибка скорее всего, не в вижуал студии.

А если сделать явное преобразование типов?

Отладочный вывод с различных этапов передачи данных должен помочь определить где ломаются данные.
alexunder
Опишите по-подробнее. В DataGridView есть поле DataSource, которое суть DataTable, у которой тип данных колонок можно выставить через DataColumn.DataType
x893
Потому что 32 это 2^^5
Так будет и с 64 и с 128 и далее ячейками.
Перейдите не на степень 2, а например на основание 3.
Тогда будет проще и понятнее.
Или попробуйте F# вместо C#.
Forger
Цитата(x893 @ Sep 22 2017, 16:29) *
...

Лучше и не скажешь biggrin.gif
mantech
Цитата(x893 @ Sep 22 2017, 16:29) *
Или попробуйте F#


Это еще что такое?? Когда закончится придумывание этих языков "программирования", неужели бейсика, паскаля, си и асма недостаточно...
Forger
Цитата(mantech @ Sep 24 2017, 20:16) *
неужели бейсика, паскаля, си и асма недостаточно...

Похожим образом лет 40 назад тамошние закостеневшие "программисты" отзывались про новомодные бейсики, фортраны и др: "Когда закончится придумывание этих языков "программирования", неужели машинных кодов недостаточно?"....

kolobok0
Цитата(mantech @ Sep 24 2017, 20:16) *
...неужели бейсика, паскаля, си и асма недостаточно...



Одно из двух... Или качественно новая метода-парадигма-плоскость, дающая скорость-стоимость-качество...

Или как сказал автор groovy - "я не стал бы изобретать свой язык, если бы мне показали бы Scala".
т.е. переводя на русский язык = неграмотность порождает переоткрытие...


как то так
(круглый)
mantech
Цитата(Forger @ Sep 24 2017, 20:34) *
Похожим образом лет 40 назад тамошние закостеневшие "программисты" отзывались про новомодные бейсики, фортраны и др: "Когда закончится придумывание этих языков "программирования", неужели машинных кодов недостаточно?"....


И тем не менее, насколько сильно популярны машинные коды?? А эти языки, которые я перечислил, имеют самую большую популярность, а это о чем-то говорит, все-таки laughing.gif
Forger
Цитата(mantech @ Sep 24 2017, 21:33) *
А эти языки, которые я перечислил, имеют самую большую популярность, а это о чем-то говорит, все-таки

Дом2 тоже имеет большую популярность, все-таки. sm.gif
Огурцов
Цитата(mantech @ Sep 24 2017, 18:16) *
неужели бейсика, паскаля, си и асма недостаточно...

ассемблеров тех - сотни тысячи, и всё ещё изобретают и изобретают
вообще, путём сложного эволюционирования прогрммеры наконец-то смогли прийти к тому, что свой язык программирования может написать каждая собака
чем и занимается
Forger
Цитата(Огурцов @ Sep 24 2017, 22:09) *
.... каждая собака

Раз уж дошли до животного мира.
Как думаете, что будет делать обезьяна, скажем, со смартфоном? Звонить и отправлять смс-ки? Фигушки!
Она будет им долбить по камню, пока не разломает его или бросит в того, кто дал ей этот смартфон.
А объяснение этому очень простое - естественное природное скудоумие, обезьяна в этом не виновата, на пальмах ей смартфон ни к чему, им бананов не достать (обезьяны, ничего личного ))).
И уж подавно не виноват в этом изобретатель смартфона. Он вообще не при делах, что некая обезьяна не знает что с ним делать sm.gif
Огурцов
но если под каждую пальму насыпать достаточное количество смартфонов, то обезьяна со временем догадается сбивать ими бананы
что несомненно будет являться некоторым прогрессом по отношению к обезьяне без смартфона
Forger
Цитата(Огурцов @ Sep 24 2017, 23:21) *
но если под каждую пальму насыпать достаточное количество смартфонов, то обезьяна со временем догадается сбивать ими бананы

Сомневаюсь, что кому-то есть дело до какой-то там обезьяны, если вокруг полно адекватного народу, который не нужно учить пользоваться смартфоном.
Obam
Цитата(Forger @ Sep 24 2017, 23:16) *
Раз уж дошли до животного мира.
Как думаете, что будет делать обезьяна, скажем, со смартфоном? Звонить и отправлять смс-ки? Фигушки!

Вроде как было сообщение, орангутаны научились селфи делать… а вы говорите "долбить по камню"
Ekka
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?
mantech
Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10,


Логика ничего не подсказывает? Например то, что 9-один символ, а 10 уже два... Как в этих птичьих языках здаются типы - фиг знает, но то, что цифра 10 умещается в 1 чар, а "10" - это уже 2 чара, должно быть одинаково везде. А "самовольно" смахивает на какое-то автоопределение типов, что бред ИМХО
Forger
Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла...

Имхо, эту тему нельзя переносить даже в раздел новичков. По-хорошему, ее вообще стоит нафик стереть smile3046.gif
Такой адский трэш еще поискать нужно wacko.gif
kolobok0
Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?


если коротко и поверхносто, то...
изначально, в компьютерном мире оперировали байтом. и предполагали что этого хватит на все случаи жизни. и поставили в соответствие каждому из 256 его значений некое отображение(символ),
когда речь заходила о кодировке для того или иного формата данных(в частности текста, понятного человеку).

напротив значения 49 (шестнадцатиричное 31h) поставили цифру 1. (числа так и стоят в ряд от 30h до 39h что соответствует от '0' до '9').
дальше-больше... Когда речь зашла об кодировании различных других языков (не англоязычных) то по началу на региональном уровне каждый изгалялся как мог.
Русский например частично располагали выше 128 (80h), частично использовали совпадающее написанию знаков.
Потом усиленно ввелось понимание символа который отображается и собственно самой ячейки под это отведённое. В зависимости от маркетинга и кулика - лидируют в основном
болотца = юникод, мультибайт (ну может ышо парочка)....

Дык вот, возвращаясь к баранам...
То чем Вы оперируете со строкой, ничего не знает о мультибайте(или юникоде). Посему честно записывает, когда требуется более старший разряд, в более левую ячейку. При этом размерность ячеек обычно указывает сам программист.


удачи вам
(круглый)
ЗЫ
А вообще, лучше почитать что нить популярное об локализации, знакогенерации, юникод, мультибайт и иже...
Огурцов
Цитата(Ekka @ Sep 25 2017, 11:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?

вы бы проект запостили, а иначе можно бесконечно гадать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.