реклама на сайте
подробности

 
 
> Прошу помощи в написании простой тестовой программы, Пошаговое обучение программированию в VS2010
Alla_student
сообщение Oct 12 2012, 00:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Здравствуйте!

Хочу сразу признаться - опыта не было в написании программ на VS (C++). Есть опыт в написании на C. Но по долгу службы приходится обучаться этому ремеслу. Летом в небольшие промежутки свободного времени проштудировала книжки предложенные здесь для прочтения - в голове сумбур. Для наведения порядка ... в моей голове и реального обучению, лучше начинать писать небольшую программу. Так, как рядом (на работе) спецов нет, хочу попросить вас, уважаемые форумчане, помочь в написании программы - примера. Я не прошу написать всю программу (хотя полный текст ее был более удобен для изучения и повторения), а хотя бы части, функциональные блоки программы. Мне будет удобно, изучая эти блоки, понять приемы визуального программирования и соответсвенно написать свою. Теперь к требованиям этой тестовой - учебной программе:
Программа или блоки программы дложны быть написаны нв Visual Studio желательно более старшей версии - 2010 (но не старше). Можно и в предыдущих вплоть до VC6.0. Гланое условие - без использования NET. После запуска программы, она должна работать (открыть порт COM1 со стандартной установкой: старт; 8бит; стоп скорость 9600 бод, если будет предварительный выбор порта с установкой параметров- то еще лучше) и принимать три байта: 1й байт всегда стартовая метка CA, второй - B1 отображается на панели светодиодов сменой картики светодиод зажен или нет, третий B2 отображается на графике ось ординат от 0 до 255. Ось абцисс - номер пакета от 0 до 255, при превышении номера пакета 255 - опять с нуля и стирается старый график. Программа так же должна уметь передавать по COM порту данные при нажатии кнопки send - два байта: первый - стартовый CA, второй - байт данных устанавливатся битовым полем Checkbox. При запуске программы должна открыться база SQL и внее должны записываться принимаемые данные соответственно по полям: N - номер пакета (long?), B1 байт данных (char), второй байт данных B2 (char). При выходе из программы база закрывается.
Из всего выше перечисленного хочется понять как работать:
1) Работа с COM портом. Прием и передача простых 2-х и 3-х байтовых пакетов.
2) Работа с базой данных SQL инициализация, открытие, запись (желательно чтение) полей, закрытие. Возможно что то я не учла.
3) Вывод форматированных данных в окно большим шрифтом (что то типа индикатора, дисплея).
4) Вывод бинарных данных в поле имитирующее светодиоды.
5) Опрос поля Checkbox (хотелось конечно, чтобы было поле выключателей OFF/ON).
6) Работа с Plot функцикей - вывод графика.
Дополнительно - этого нет выше:
7) Вывод принятых данных в виде лога (в скролинговое окно - забыла как оно точно называется) и в тектовый файл, который то же надо открыть или создать, если его нет, ну и закрыть после работы с ним.

Прошу, кто имеет немного свободного времени, помочь в написании этих блоков программы, желательно с небольшими комментариями. Пускай не сразу все, а по кусочкам.. Я думаю это многим поможет, не только мне, в написании своих первых программ на VS, да и не только.
Заранее Спасибо!
Далее в виде изображения требования к программе:

Сообщение отредактировал Alla_student - Oct 12 2012, 00:22
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
XVR
сообщение Oct 12 2012, 09:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Жуть.
Пляски с SecurityDescriptor не нужны - вы же не собираетесь ваши открытые порты и созданные события отдавать на сторону. Дублировать IsWinNT() в каждом классе нет никакой необходимости. Чтение из порта видимо запущенно в отдельном потоке. В таком случае Overlapped чтение вообще не нужно - пусть блокирует поток.
Кольцевой буфер лучше сделать на std::deque<char>, а не заниматься изобретением велосипедов.

К ТС - по поводу VS и NET. Если вам нужен GUI и не нужен .NET, то имеет смысл посмотреть в какую нибудь другую сторону - весь майнстрим у VS по поводу GUI направлен на .NET, все остальное умерло (у них). Либо смотрите в сторону Qt, либо какого нибудь Builder'а

Go to the top of the page
 
+Quote Post
SyncLair
сообщение Oct 20 2012, 15:50
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



Цитата(XVR @ Oct 12 2012, 13:18) *
К ТС - по поводу VS и NET. Если вам нужен GUI и не нужен .NET, то имеет смысл посмотреть в какую нибудь другую сторону - весь майнстрим у VS по поводу GUI направлен на .NET, все остальное умерло (у них). Либо смотрите в сторону Qt, либо какого нибудь Builder'а

Поддерживаю совет этого мудреца )! Qt -- имеет средства визуального программирования QtCreator и код выглядит чуть лучше. Бонусом идёт кросплаформенность. Всё официально бесплатно. Документация и примеры Qt очень информативны.


Цитата(Alla_student @ Oct 20 2012, 16:33) *
Вопрос по QT -> QT c официального сайта Nokia скачивается как еволюшин 30 дней, можно его как то подлечить на предмет продления жизненного цикла?


Зачем скачивать эволюшн когда можно скачать qtsdk без каких либо ограничений!!!

Забудьте Visual studio используйте qt creator!

Для работы с портом используйте qextserialport. Хотя можно и функции вин апи если хотите)


Сообщение отредактировал SyncLair - Oct 20 2012, 15:59


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alla_student   Прошу помощи в написании простой тестовой программы   Oct 12 2012, 00:10
- - fox1   Ну уж если так хочется на Visual C++ (на C# намног...   Oct 12 2012, 05:17
|- - Alla_student   Цитата(XVR @ Oct 12 2012, 12:18) Жуть. П...   Oct 12 2012, 10:44
|- - Alla_student   Цитата(SyncLair @ Oct 20 2012, 19:50) Под...   Oct 20 2012, 16:15
|- - SyncLair   Цитата(Alla_student @ Oct 20 2012, 20:15)...   Oct 20 2012, 16:42
- - fox1   SecurityDescriptor обязателен начиная с Windows XP...   Oct 12 2012, 11:22
|- - Alla_student   Цитата(fox1 @ Oct 12 2012, 14:22) Securit...   Oct 12 2012, 11:30
|- - XVR   Цитата(fox1 @ Oct 12 2012, 15:22) Securit...   Oct 12 2012, 11:58
|- - Alla_student   Цитата(XVR @ Oct 12 2012, 14:58) ... Угу,...   Oct 12 2012, 13:15
|- - XVR   Цитата(Alla_student @ Oct 12 2012, 17:15)...   Oct 13 2012, 09:18
|- - Alla_student   Цитата(XVR @ Oct 13 2012, 13:18) ... Вам ...   Oct 13 2012, 12:41
||- - RabidRabbit   Цитата(Alla_student @ Oct 13 2012, 16:41)...   Oct 15 2012, 05:34
||- - XVR   Цитата(Alla_student @ Oct 13 2012, 16:41)...   Oct 15 2012, 08:00
||- - Alla_student   Цитата(XVR @ Oct 15 2012, 11:00) Запросы ...   Oct 15 2012, 10:03
|- - _pv   RE: Прошу помощи в написании простой тестовой программы   Oct 13 2012, 13:23
|- - Alla_student   Цитата(_pv @ Oct 13 2012, 16:23) ну с под...   Oct 13 2012, 18:26
|- - _pv   Цитата(Alla_student @ Oct 14 2012, 00:26)...   Oct 13 2012, 19:49
- - fox1   Ок )) Начните с создания приложения Visual С++ MF...   Oct 12 2012, 11:41
- - fox1   SecurityDescriptor обязателен начиная с Windows XP...   Oct 12 2012, 12:29
|- - RabidRabbit   Цитата(fox1 @ Oct 12 2012, 16:29) Это код...   Oct 12 2012, 13:00
|- - _Артём_   Цитата(RabidRabbit @ Oct 12 2012, 16:00) ...   Oct 12 2012, 13:17
- - Genadi Zawidowski   Вот так выглядела моя программа, написанная по пох...   Oct 12 2012, 16:12
|- - Alla_student   Цитата(Genadi Zawidowski @ Oct 12 2012, 20...   Oct 12 2012, 21:39
- - Genadi Zawidowski   Да не пропал я... Вы упомянули о хотении добавлят...   Oct 13 2012, 21:08
|- - Alla_student   Вопрос ко всем: Насколько я поняла, в VS2010 конст...   Oct 15 2012, 00:04
- - fox1   Насчет SECURITY_ATTRIBUTES )) lpSecurityAttribute...   Oct 15 2012, 10:46
|- - XVR   Цитата(fox1 @ Oct 15 2012, 14:46) Windows...   Oct 16 2012, 10:47
||- - _Артём_   Цитата(XVR @ Oct 16 2012, 13:47) Залез в ...   Oct 16 2012, 11:21
||- - XVR   Цитата(_Артём_ @ Oct 16 2012, 15:21) Диза...   Oct 16 2012, 11:24
||- - Alla_student   Вопрос по QT -> QT c официального сайта Nokia с...   Oct 20 2012, 12:33
|- - XVR   -- дубль получился   Oct 16 2012, 10:57
- - RabidRabbit   Зачем сразу CMAKE, когда QT'шный qmake замечат...   Oct 20 2012, 18:31
|- - SyncLair   Цитата(RabidRabbit @ Oct 20 2012, 22:31) ...   Oct 20 2012, 18:51
|- - Alla_student   Цитата(RabidRabbit @ Oct 20 2012, 21:31) ...   Oct 21 2012, 14:27
|- - Cosmojam   Цитата(Alla_student @ Oct 21 2012, 17:27)...   Oct 21 2012, 15:54
- - Владимир Иванов   очень интересно   Oct 21 2012, 15:34
- - яман-тау   Может здесь что нибудь найдете   Oct 21 2012, 16:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 06:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016