Seite 1 von 1

Biteingabe in QLineEdit -> QByteArray -> Bytes in UCHA

Verfasst: 15. April 2008 21:07
von TobiWF
Hallo,

ich habe an der Fachhochschule gerade ein Projekt, wo ich Qt benutzen muss. Leider haben wir in unserer Fachrichtung nur noch Java gelernt, so dass ich C++/Qt fast komplett erlernen musste.

Nun stehe ich vor einem Problem, wo ich einfach nicht weiter komme:
Ich habe eine Eingabe in ein "QLineEdit". Dort soll der Benutzer Bitfolgen von 0en und 1en eingeben könne, jeweils in der Länge ein Vielfaches von 8.

Wenn ich das Eingabefeld jetzt auslese, habe ich ja einen QString. Daraus habe ich es geschafft, mit einer Schleife, die Bits in ein QBitArray zu speichern.

Jedoch brauche ich später die einzelnen Bytes als UCHARs.

An dieser Stelle komme ich nicht weiter. Wie gehe ich es am Schlausten an? Wie habe ich aus 8 binären Eingabenwerten ein Byte (QByte??) und dann ein UCHAR?

Über Anregungen wäre ich sehr dankbar!

Grüße
Tobi

Verfasst: 15. April 2008 21:47
von Christian81
Dann speichere es eben nicht in einem QBitArray sondern speichere es gleich in einem uchar. Das hat nichts mit Qt zu tun und ist auch nicht C+-spezifisch. Bitoperationen hat Java ja auch soweit ich weiß.

Verfasst: 16. April 2008 13:44
von TobiWF
Danke, habe es schon selbst hinbekommen:

Code: Alles auswählen

...
QString str = ui.lineEdit->text();
	
bool ok;
int num = str.toInt(&ok, 2);

unsigned char uc = (unsigned char)num;
...
Gruß
TobiWF

Verfasst: 16. April 2008 14:44
von Christian81
Oh, an so eine einfache Lösung habe ich natürlich nicht gedacht :)