String in eine Hexzahl convertieren



  • Hallo !!

    Ich habe in einer ACCESS-Datenbank Hexwerte gespeichert. Diese sind jedoch
    vom Datebtype CString´s. Nun möchte ich jedoch über die Serielle Schnittstelle
    gerne diese definierten commandos senden. Der Sinn ist das der user seine adrr. der Hardware anpassen bzw ändern kann.

    vorher
    zb. char cmd = 0x87;
    Send(cmd);

    aus db:

    char cmd = GetCommand(Z_INIT);
    Send(cmd);

    Hier ein kleine Code dazu:

    // ***************************************************************
    // * Get the selected command from the cmd-database in HEX       *
    // ***************************************************************
    char* CHandlingCmdDlg::GetCommand(int cmd)
    {
      char    rw[5];
      char    test = 0x87;
      CString dummy;
      CString msg;
    
      memset(rw, 0, sizeof(rw));
    
      if(!CmdTab.IsOpen())
          CmdTab.Open();
    
      for(CmdTab.MoveFirst(); !CmdTab.IsEOF(); CmdTab.MoveNext())
      {
        switch(cmd)
        {
          case MSG_Z_INIT:
        if(CmdTab.m_Command == "Z_INIT")
        {
          dummy = CmdTab.m_Value;
          //long  lvalue = strtol(
          for(int i= 0; i<4; i++)
          {
            rw[i] = dummy.GetAt(i);
          }
          rw[5] += '\0'; // --> test
          msg.Format("Char value: %x Test char vlaue: %x",*rw ,test);
          MessageBox(msg, "debug info", MB_OK);
          return rw;
        }   
           break;
           // usw....
    

    Vieleicht hatte einer von Euch schon mal ein änlicher Problem.

    Viele Grüße
    Michael



  • Entschuldigung wolte nicht dopelt posten !

    Viele Grüße
    Michael


Anmelden zum Antworten