[gelöst] MFC(CString) auf QT(QString)
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
[gelöst] MFC(CString) auf QT(QString)
Hallo,
ich versuche ein kleines Programm von der MFC auf QT zu portieren.
ich finde einfach keine Lösung zu folgendem Problem:
wie mache ich aus MFC
fertig.Format("%s%02X", fertig_temp, (char)msg78);
oder
len_temp.Format("%02X", number.GetLength() );
etwas identisches in QT???
(alle variablen hier sind CStrings)
ich habe es versucht mit:
len_temp=len_temp.setNum(strlen(number),16 );
(jetzt QString!)
aber ich kann mir nicht vorstellen, dass das identisch sein soll!
Vielleicht kann mir ja jemand helfen!
ich versuche ein kleines Programm von der MFC auf QT zu portieren.
ich finde einfach keine Lösung zu folgendem Problem:
wie mache ich aus MFC
fertig.Format("%s%02X", fertig_temp, (char)msg78);
oder
len_temp.Format("%02X", number.GetLength() );
etwas identisches in QT???
(alle variablen hier sind CStrings)
ich habe es versucht mit:
len_temp=len_temp.setNum(strlen(number),16 );
(jetzt QString!)
aber ich kann mir nicht vorstellen, dass das identisch sein soll!
Vielleicht kann mir ja jemand helfen!
][ch!ll$mOk@h][
"Vergessen du musst,was früher du hast gelernt!!!"
"Vergessen du musst,was früher du hast gelernt!!!"
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Evtl. hilft Dir das:
http://doc.trolltech.com/3.3/qstring.html#sprintf
http://doc.trolltech.com/3.3/qstring.html#sprintf
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
THX!!
ja ich habe das jetzt mal so reingeschrieben!Das scheint zu funzen!
Diese Funktion hatte ich glatt übersehen.
Danke für die schnelle Hilfe.
Diese Funktion hatte ich glatt übersehen.
Danke für die schnelle Hilfe.
][ch!ll$mOk@h][
"Vergessen du musst,was früher du hast gelernt!!!"
"Vergessen du musst,was früher du hast gelernt!!!"
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Allerdings würde ich trotzdem versuchen, dies hier zu verwenden:
http://doc.trolltech.com/3.3/qstring.html#arg
Da hast du bei i18n weniger Probleme...
http://doc.trolltech.com/3.3/qstring.html#arg
Da hast du bei i18n weniger Probleme...
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
i18n brauch ich im mom nicht
Ich will mein Programm ersteinmal so zu laufen bekommen, da ist die Übersetzung ersteinmal egal!

ich werde mir das zu gegebener Zeit mal genauer anschauen!
THX!!!
ich werde mir das zu gegebener Zeit mal genauer anschauen!
THX!!!
][ch!ll$mOk@h][
"Vergessen du musst,was früher du hast gelernt!!!"
"Vergessen du musst,was früher du hast gelernt!!!"
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
%s ????
so er übersetzt das aber mit einer Warnung, dass er zur Laufzeit abstürzen würde.
Wieso nimmt der das nicht??
fertig=fertig.sprintf("%s%02X",fertig_temp,(unsigned char)convnum);
Fehlermeldung:
warning: cannot pass objects of non-POD type `class QString' through `...'; call will abort at runtime
das nimmt er:
len_temp=len_temp.sprintf("%02X",strlen(message));
Was soll ich tun was soll ich machen???
Wieso nimmt der das nicht??
fertig=fertig.sprintf("%s%02X",fertig_temp,(unsigned char)convnum);
Fehlermeldung:
warning: cannot pass objects of non-POD type `class QString' through `...'; call will abort at runtime
das nimmt er:
len_temp=len_temp.sprintf("%02X",strlen(message));
Was soll ich tun was soll ich machen???
][ch!ll$mOk@h][
"Vergessen du musst,was früher du hast gelernt!!!"
"Vergessen du musst,was früher du hast gelernt!!!"
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich vermute mal fertig_temp ist vom Typ QString, oder? Du musst ihn erst nach .latin1() konvertieren wenn du sprintf verwenden willst. Deshalb habe ich ja .arg() vorgeschlagen.
Also so ( fertig und fertig_temp sind vom Typ QString);
oder
Allerdings kannst Du hier nicht die Länge einstellen.
Also so ( fertig und fertig_temp sind vom Typ QString);
Code: Alles auswählen
fertig = QString("%1%2").arg(fertig_temp).arg(convnum[i],2,16);
Code: Alles auswählen
fertig=fertig_temp+QString::number(convnum[i],16);
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
*g*
jo funzt!
aber nicht dass ihr euch noch streitet!
Vielen Dank!
ich hatte es mit .utf8() versucht, wie es im Assistant beschrieben war.
...aber latin1 is besser!
aber nicht dass ihr euch noch streitet!
Vielen Dank!
ich hatte es mit .utf8() versucht, wie es im Assistant beschrieben war.
...aber latin1 is besser!
][ch!ll$mOk@h][
"Vergessen du musst,was früher du hast gelernt!!!"
"Vergessen du musst,was früher du hast gelernt!!!"
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
][ch!ll$mOk@h][
- Beiträge: 6
- Registriert: 7. Juni 2005 14:57
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten: