Интерфейс для простенькой программы на С++

Тема в разделе "Общие вопросы по С и С++", создана пользователем STUDENb, 8 ноя 2010.

  1. STUDENb

    STUDENb Гость

    Добрый день. В С++ я профан; но жизнь заставляет:

    Общая картина такая:

    устройство управляется через микроконтроллер с самодельной прошивкой,
    контроллер «управляется» программой на ПК, при запуске которой;
    открывается командная строка DOS’овская; программа (писаная на C++)
    управляется из DOS нажатиями клавиш “a”, “s”, “d” и т. п. всего 9 команд.

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

    Я пробовал... рисовал интерфейс в Visual С++ 2010,
    но дальше нарисованной формы дело не заходило.
    Теперь необходимо понять, что мне стоит изучать,
    дабы реализовать поставленную задачу


    После общения с парой специалистов возник вопрос:
    стоит ли мне дальше долбить Visual С++
    или стоит рыть в направление других программных продуктов (каких)?

    буду рад любым советам, спасибо ;)
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Для начала - нужно узнать что за устройство и каким образом оно подключено(в какой разьем). А потом загуглить что-то в духе
    Как писать в LPT (USB,COM) порт на C++.
    Ну и конечно, надо знать _что_ отправлять в этот самый порт.

    Или второй вариант -> запускать ваше досовское приложение перехватывать его STDOUT, и посылать ему в STDIN нужные буковки. Большими буквами выделены ключевые слова для, опять же, гугла=)
     
  3. STUDENb

    STUDENb Гость

    спасибо! ща буду копаться :(

    ...

    угу :)

    * прога глотает буквы таким образом:
    Код (C++):
    while(1){
    while(kbhit()){
    unsigned char c=getch();
    unsigned char com[2]={0,0};

    if(c==27){
    exit_as_far_as_pos=true;
    break;//return 0;//Exit
    }else if(controller_opened){
    printf("%c",c);//Show symbol...
    if((c=='S')||(c=='s')){//Start
    com[0]='S';CS.send(com,1);
    }else if((c=='F')||(c=='f')){//Finish
    com[0]='F';CS.send(com,1);//return 0;
    }else if((c=='W')||(c=='w')){//Write parameters
    com[0]='W';CS.send(com,1);
    CS.send(param_bufer,256);
    }else if((c=='R')||(c=='r')){
    com[0]='R';CS.send(com,1);
    int i=0,to=256;
    unsigned int gn=0;
    while(to>0){
    CS.receive(&recieve_bufer[i],to,gn);
    i+=gn;to-=gn;
    }
    bool all_right=true;
    for(int i=0;i<256;i++){
    if(recieve_bufer[i]!=param_bufer[i])all_right=false;
    }
    printf((all_right)?"Good Data :)\n":"Error in data :(\n");
    }
    }
    }
    if(exit_as_far_as_pos)break;
     
Загрузка...

Поделиться этой страницей