DDX_IPADDRESS mit dwIP und dann -> strIP, aber wie?
-
Moin.
Irgendwie stell ick mir zu braselig an.
Ick hab uffm Dlg nen Ctrl vom Typ IP_ADDRESS Control.
Dieses lass ick per DDX_IPADDRESS mit nem DWORD dwIp Daten austauschen.Nun möchte ick aus dwIP eine CSTRING IP erstellen, aber da kommt immer nur Müll bei mir raus.
Mein letzter Versuch war:
str.Format(_T("%c.", dwIP & 0x000000FF)); strIP = str; str.Format(_T("%c.", dwIP & 0x0000FF00 >> 8)); strIP+=str; str.Format(_T("%c.", dwIP & 0x00FF0000 >> 16)); strIP+=str; str.Format(_T("%c", dwIP & 0xFF000000 >> 24)); strIP+=str;Andere Versuche brachten och nur Müll in strIP.

Kann mir jemand helfen?
Scheint für mich heut noch zu früh zu sein, um es allein zu schaffen. ^^
-
Die &-Ausdrücke klammern und %d statt %c. Man kann das auch alles in einen einzigen Format-Aufruf packen.
-
Hab ick probiert, klappt nich.

Sowohl did mit &einklammern (muss ick dide überhaupt?) und %d statt %c.
Kommt leider och nur Müll raus.Eingegebene Adresse: 192.168.168.168
Benutzter Code:str.Format(_T("%d.", (m_dwIP & 0x000000FF))); strIP = str; str.Format(_T("%d.", (m_dwIP & 0x0000FF00)>>8)); strIP+=str; str.Format(_T("%d.", (m_dwIP & 0x00FF0000)>>16)); strIP+=str; str.Format(_T("%d", (m_dwIP & 0xFF000000)>>24)); strIP+=str;Inhalt von strIP: "1241328.1241328.1241328.1241328"}
-
Kannst du auch normales Deutsch schreiben?
Zeig doch mal den Wert von dwIP und den "Müll".
-
Ey, nischt jegen meen deutsch hier!

s.o.
-
Fiesek schrieb:
Ey, nischt jegen meen deutsch hier!

Du kannst schreiben wie du willst, und ich kann helfen, wem ich will.
-
Na wattn Glück, dat wir uns hier innem freien Land befinden.

Aber dennoch danke für Deinen Hilfeversuch bis hier hin.
-
So, hab did jetze so jelöst:
DDX_TEXT (pDX, ID_IP, strIP)Und zack, Problem jelöst.
In strIP (CString) steht jetze meene erwartete IP-Addresse.Möglich wäre auch:
DDX_Control (pDX, ID_IP, ctrlIP)Danach:
BYTE F0, F1, F2, F3; ctrlIP.GetAddress(F0, F1, F2, F3); strIP.Format(_T("%d.%d.%d.%d", F0, F1, F2, F3);Oh man, warum stand dann dieser Mist in der MSDN?:
void AFXAPI DDX_IPAddress( CDataExchange* pDX, int nIDC, DWORD& value );