aus einem QString ein einzelnes Zeichen auswerten

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Vadhagh
Beiträge: 19
Registriert: 15. Februar 2010 12:24

aus einem QString ein einzelnes Zeichen auswerten

Beitrag von Vadhagh »

Hi,

gibt es eine möglichkeit aus einem QString ein einzelnes Zeichen abzufangen und aus zu werten?
Ich habe als Beispiel eine Buchstaben Zahlen kombination:

HRV315897758598 und will hier an das V rankommen bzw. immer dan das dritte Zeichen. Damit ich dann über eine If anwendung später eine Auswertung treffen kann.

Ich hab gelesen das man mit arg() die Zeichen und wörter zählen kann, kann man auch so an ein bestimmtes zeich ran kommen?

Bezihungsweise mit:
const QChar QString::at ( int position ) const

MfG
Maik
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Versuch macht kluch.
Vadhagh
Beiträge: 19
Registriert: 15. Februar 2010 12:24

Beitrag von Vadhagh »

Habe versucht mich nach dem
QCharRef QString::operator[] ( int position )
model zu richten. Nur komme ich damit nicht weiter.
Die Anzeige bleibt leer. :shock:

Code: Alles auswählen

void Dialog::SetZeichNr(QString Id){

    ui->lineEdit_2->setText(Id);
    //int position = 3;
    //const QChar(AP) QString(Id).at(int position)const;

     if(Id[3] == QChar('V'))
        ui->label->setText("MSI");
     if(Id[3] == QChar('M'))
         ui->label->setText("ASUS");
     if(Id[3] == QChar('L'))
         ui->label->setText("LG");


}
TSS
Beiträge: 73
Registriert: 24. November 2009 15:40
Kontaktdaten:

Beitrag von TSS »

Mit welchem Index beginnen denn C++-Arrays? Du suchst nämlich an der falschen Stelle.
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag von Exasperation »

Jap erstens: Der Index.. Und zweitens: Um dir ein wenig zu helfen, das hier ist imho etwas übersichtlicher... Ist vielleicht Geschmackssache...

Code: Alles auswählen

QChar my_char = Id[2]; // gezählt wird ab 0
	 switch( my_char )
	 {
	 case 'V':
		 ui->label->setText("MSI");
		 break;
	 case 'M':
		 ui->label->setText("ASUS");
		 break;
	 case 'L':
		 ui->label->setText("LG");
		 break;
	 default:
		 // ... irgendne Ausgabe à la "Hersteller-Bezeichner nicht gefunden" 
	 }
Vadhagh
Beiträge: 19
Registriert: 15. Februar 2010 12:24

Beitrag von Vadhagh »

Danke für die Hilfe reichte die richtige stelle also 2 zu nehmen^^.


MfG,
Maik
Herzogswalder
Beiträge: 79
Registriert: 11. Oktober 2009 00:37
Wohnort: Dresden

Beitrag von Herzogswalder »

Ja sicher, aber das gehört zu den C++-Basics.
Gruß, Herzogswalder
Qt 4.8, OS X Mountain Lion
Antworten