serielle Schnittstelle und Tastatur



  • Ein Programm, das die Serielle Schnittstelle an die ein Scanner angeschlossen ist, und die Eingabe auf dem Bildschirm ausgibt.

    dies ist mein Code:

    #include <windows.h>
    #include <iostream.h>
    
    int main()
    {   
    
       DWORD number=0;
       char Buffer[256];
       DCB configure;
       DWORD error=0;
       BOOL success=TRUE;
    
       HANDLE com1=CreateFile ("COM1", GENERIC_READ , 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
       if(com1==INVALID_HANDLE_VALUE)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
    
       success=GetCommState(com1, & configure);
       if(!success)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
    
       configure.BaudRate = CBR_9600;
       configure.ByteSize = 8;
       configure.Parity = NOPARITY;
       configure.StopBits = ONESTOPBIT;
       success=SetCommState(com1, & configure);
       if(!success)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
    
       COMMTIMEOUTS cto;
       success=GetCommTimeouts (com1,&cto);
       if(!success)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
    
       cto.ReadIntervalTimeout = 0;
       cto.ReadTotalTimeoutMultiplier = 0;
       cto.ReadTotalTimeoutConstant = 100;
    
       success=SetCommTimeouts (com1,&cto);
       if(!success)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
    
       do
       {
          error=NO_ERROR;
          success=ReadFile(com1,&Buffer,255,&number,0L);
          Buffer[number]=0;
    
          if(!success)
             error=GetLastError();
          if (error > 0)   
             cout <<"Error:" << GetLastError() << endl;
          if(error==ERROR_INVALID_HANDLE)
             break;
       }
       while(number==0 || error==ERROR_HANDLE_EOF);
    
       cout << Buffer;
    
       cin.get();
    
       success=CloseHandle(com1);
       if(!success)
          error=GetLastError();
       if (error > 0)   
          cout <<"Error:" << GetLastError() << endl;
       return 0;
    }
    

    wie kann ich das Prog jetzt veraendern, das ich ueber Tastatur und Scanner eingeben kann??
    Bitte hilft mir

    EditBySide: Code-Tags vergessen.

    [ Dieser Beitrag wurde am 17.08.2002 um 14:14 Uhr von SideWinder editiert. ]


Anmelden zum Antworten