0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
|||||||||||
1 | |||||||||||
Передать указатель на массив29.01.2014, 19:00. Показов 7163. Ответов 17
Метки нет (Все метки)
Доброго всем времени суток.
У меня опыт в программинге МК. А сейчас стоит задача освоить ООП и конкретно C#. Так вот суть вопроса: Есть класс, а в нём функция crc8_compute, возращающая значение типа байт... с двумя аргументами (один - байт, второй - массив байтов неопределённой длины). И вот теперь мне нужно вызвать эту функцию в другом классе...
0
|
29.01.2014, 19:00 | |
Ответы с готовыми решениями:
17
Нужно передать в качестве параметра указатель на массив Как правильно передать и получить указатель из нативной библиотеки? C# Подскажите как правильно передать указатель на структуру в функцию Массив: Подскажите, пожалуйста, как передать массив А в процедуру Arr? |
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|||||||||||||||||||||
29.01.2014, 19:24 | 2 | ||||||||||||||||||||
Вам обязательно нужен небезопасный код?
Может лучше так?
а тут
http://msdn.microsoft.com/ru-ru/Library/ee332485 http://msdn.microsoft.com/ru-r... kc2c7.aspx ref - это по ссылке но требует инициализации
0
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
|
29.01.2014, 19:44 [ТС] | 4 |
Попробовал, но результат тот же. А небезопасный код, потому что в аргументе функции УКАЗАТЕЛЬ на массив. Я так понял, что в таких случаях использовать нужно unsafe... я новичёк, так что не пинайте. Может не так разобрался
Добавлено через 2 минуты insite2012, Совершенно верно. Сам алгоритм отсюда http://www.vbnet.ru/forum/show.aspx?id=33392 Можете ссылку кинуть?
0
|
29.01.2014, 19:52 | 5 | |||||
У меня есть проект на VB.Net. Сейчас на шарпе напишу и покажу...
Добавлено через 2 минуты Вот. Полином - 0х8005, начальная КС - 0х00, выходной XOR - 0xFFFF. Измените как надо. Ну и под CRC8 подгоните, тут CRC16 вычисляется.
1
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
|
29.01.2014, 20:15 [ТС] | 6 |
string computeCRC16(List<byte> data)
Я правильно понял, что аргумент - это один байт (data)? Т.е. CRC16 расчитается от одно байта? У меня ведь массив
0
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|
29.01.2014, 20:19 | 7 |
Нет аргумент это список байтов.
Считай массив Отличие от массива в том что он фактически безразмерен.
0
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|
29.01.2014, 21:20 | 9 |
Жаль что размер у них ограничивается Int32 файл больше 3 гигов уже не скормить.
0
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
||||||
10.02.2014, 17:23 [ТС] | 11 | |||||
Спасибо insite2012, всё получилось. Только с полиномами пришлось помучаться, пока результат стал совпадать с результатами калькуляторов. Вот, что получилось для CRC-8-Dallas/Maxim:
0
|
74 / 74 / 30
Регистрация: 22.03.2013
Сообщений: 224
|
||||||
10.02.2014, 20:40 | 12 | |||||
В общем насколько я знаю массивы в c# шарпе это объекты. Когда вы передаете массив в метод, то делается копия только указателя, так что просто пишем
0
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
||||||
13.02.2014, 19:58 [ТС] | 13 | |||||
Подскажите ещё момент.
Вот в этом коде, открывается диалог для сохранения данных из listView. Данные реально сохраняются только в файле button4.txt (в папке проекта). А в файле, который я выбираю в диалоге - ничего нет!!! Как же таГ??? Как это победить?
0
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
||||||||||||||||
13.02.2014, 20:08 | 14 | |||||||||||||||
А в обще зачем вам myStream если вы его негде не используете. Ведь сей час можно сократить.
1
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
||||||
14.02.2014, 17:35 [ТС] | 15 | |||||
Заменил - результат тот же... Пустой файл
Добавлено через 21 час 0 минут Заработало, да не полностью... Без потока действительно работает. Но сохраняются только items (значения первого столбца), а subitems не сохраняются.
0
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|||||||||||
14.02.2014, 17:49 | 16 | ||||||||||
для этого вам надо не просто пробегать по списку но и заходить в субсписки. то есть вы сей час проходите только по корневым узлам. Скорее всего нет. Так как что использовать зависит от самой задачи. Универсальных элементов почти нет. (ну кроме кнопок, лейблов и текстовых полей). Остальное зависит от конкретной задачи. Добавлено через 8 минут
1
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 9
|
|
14.02.2014, 19:57 [ТС] | 17 |
О, Господи... Неужели получилось!!!
Огромное спасибо. Но всё же... вот как конкретно вы знаете, что для того, чтоб сохранить инфо в файл, нужно использовать SaveFileDialog? Например в "Уотсон К., Нейгел К., Педерсен Я.Х., Рид Дж., Скиннер М. - Visual C#2010 полный курс -2011" об этом ни слова нет...
0
|
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
|
|
14.02.2014, 23:04 | 18 |
Так есть компонент с таким именем. На *панели элементов*->"Диалоговые окна". Когда в своё время просматривал список всех элементов обратил внимание
0
|
14.02.2014, 23:04 | |
14.02.2014, 23:04 | |
Помогаю со студенческими работами здесь
18
Указатель на массив Указатель на ступенчатый массив Если в класс нужно передать указатель на указатель на массив строк неизвестной длинны? Передать в dll указатель на массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |