Hexcode senden bzw umwandeln



  • Hallo,
    ich habe schon die Suche durchsucht aber nichts brauchbares gefunden. Ich möchte einen String der in einer ComboBox eingegeben wurde, in einen Hexcode umwandeln und ihn dann zu meinem LCD schicken.

    Folgendes funktioniert einwandfrei:

    void CControlLCDDlg::OnbSendHex() 
    {
    	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    	UpdateData(TRUE);
    
    	AfxMessageBox(m_hex);
    
    	/*
    	CString Str;
    	unsigned char Write_Buff[1];
    	Write_Buff[0] = 0x1a;
    	Str.Format("0x%x",Write_Buff[0]);
    	char Buffer[8];
    	strcpy(Buffer,Str);
    	*/	
    
    	CString Buffer = "\x1a"; // anstatt den code 1a soll hier der Inhalt von m_hex übergeben werden.
    
    	CSerial myserial;
    	myserial.Open(m_ComPort,m_Baudrate);
    	for(int i=0;i<sizeof(Buffer);i++) //Nacheinander Befehle senden
        myserial.SendData(Buffer,1);
    	myserial.Close();
    
    }
    

    Ich schreibe deshalb hier in das MFC Forum weil ich den Inhalt meiner ComboBox mit der Variable m_hex übergeben will.
    Also das Problem liegt glaube ich darin das z.b ein 1a in der ComboBox zu "1a" wird.
    Wie muss ich den Code ändern, so das ich direkt die Hexwerte in die ComboBox eingeben kann und sie somit an die Funktion senddata senden kann. Die Funktion senddate verlangt ein wchar_t .

    Das ganze programmiere ich mit der VS2005 Studio Standartversion.

    Vielen Dank.
    Mfg
    Anlen



  • Hallo..

    Also ich habe auch gleich mal in der Hilfe nachgeschaut, weil, wenn ich mich recht erinnere (!!!), gibt es eine Funktion die von Dezimal in Hex wandelt, und umgekehrt. Aber keine Ahnung jetzt, ansonsten mußt Du dir deine eigene Wandlungs-Funktion schreiben 🙄 .
    Ja, schon mist. Ich würde mich da auch mal so aus sportlichen Gründen jetztmal ransetzen, habe aber leider gerade nen anderes Problem.

    Ciao jochen!


Anmelden zum Antworten