CIPAdressCtrl



  • ok meine variante funktioniert nicht 😃 wie definiere ich denn eine varibale als control? ich kenn nur sowas wie int oder float!! kannst auch schon weiter erklären also ich meine mit code und so!!
    mfg



  • zunächst den Klassenassistenten aufrufen, dann Registerkarte "Member-Variablen" wählen, dann unten die ID des IP-Elements markieren, "Variable hinzufügen", Kategorie "Control" einstellen, Name ergänzen (m_IpCtl), ok klicken, fertig. Dann kann man die Methode GetAddress aufrufen. Wie ich schon geschrieben habe, geht es auch ohne Member-Variable:

    BYTE b1, b2, b3, b4;
    ((CIPAddressCtrl*)GetDlgItem(IDC_IPCTL))->GetAddress(b1, b2, b3, b4);
    

    wenn IDC_IPCTL die ID ist, die auch der Klassenassistent anzeigt.

    MfG



  • das nimmt er zwar an aber er meldet einen syntaxfehler!! er sagt syntaxfehler ")"!! und zwar in der zeile mit dem

    ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS))->GetAddress(b1, b2, b3, b4);
    

    könnte es sein das du klammern flasch gesetzt hast??



  • kann es sein, daß du eine Klammer zu viel oder zu wenig hast? Die Zeile ist jedenfalls korrekt, du mußt das "Umfeld" dieser Zeile prüfen.

    MfG



  • das geht immer noch nicht!! ich hab die zeile aus dem forum kopiert und er meldet jetzt 2 fehler in der letzten hier gezeigten Zeile!!
    error C2143: Syntaxfehler : Fehlendes ')' vor '*'
    error C2059: Syntaxfehler : ')'

    der code ist

    CIPAddressCtrl();
    BYTE b1, b2, b3, b4; 
    ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS))->GetAddress(b1, b2, b3, b4);
    

    wobei der name meines ip feldes CIPAddressCtrl ist und IDC_IPADDRESS im klassenassistenen angezeigt wird!!
    greetz



  • es bringt nichts, CIPAddressCtrl(); davor zu schreiben, es muß ohne das funktionieren.

    MfG



  • dann sagt er das CIPAddressCtrl unerwartet auftaucht!! da muss irgendwie n fehler dabei sein!!!



  • ich geb den code in der cpp datei von dem dialog ein wo ich das ip feld eingefügt hab!!!



  • zeige doch mal die ganze Funktion, in der die Aufrufe stehen (OnButton-Funktion?), dort liegt wahrscheinlich das Problem.

    MfG



  • ne ich hab das nicht inner onbutton funktion sonder eigentlich ganz normal ohne funktion eingegeben!! ich dachte das würde so auch gehen. also hab ich den code ganz einfach an das ende der datei angehängt!!! wahrscheinlich liegt dort das problem!!



  • ja, das habe ich mir gedacht, oder befürchtet. Dann muß ich wieder auf meinen Vorschlag, daß du erst einmal ein C++ - Buch lesen und durcharbeiten solltest, zurückkommen. Man kann doch nicht einfach Code mitten in die Landschaft schreiben, es gibt gewisse Regeln, wie ein C++ - Programm aufgebaut ist, die du scheinbar noch nicht kennst. Es muß ja einen Zeitpunkt geben, wann die IP-Adresse gelesen werden soll, und zu diesem Zeitpunkt muß dann eine Funktion aufgerufen werden. Wenn der Benutzer einen Button anklickt z.B., dann wird eine Funktion aufgerufen, und dort schreibt man hinein, was die Funktion tun soll, in diesem Falle z.B. die von mir angegebenen Zeilen ausführen. Aber ich weiß nicht, ob du damit jetzt etwas anfangen kannst, dir fehlen wahrscheinlich zu viele Grundlagen, also vielleicht einmal nachlesen...

    MfG



  • ich hab ja schon n paar bücher gelesen!! und ich habs jetzt hinbekommen!! ich hab n button eingefügt und dort denn m_CIPAddress.GetAddress(b1,b2,b3,b4) eingegeben und er hat keine fehler gemeldet!!! wie schon gesagt ich hab schon n paar bücher gelsen aber halt noch net so über ips oder besonders über tieferes wissen einfach halt nur die grundlagen!! also erklär weiter!! freu mich schon auf deine antwort!! bevor ichs vergesse, die b variablen hab ich auch definiert als BYTE bevor du sagst das ich das vergessen hab!! 😃
    mfg



  • BYTE b1, b2, b3, b4; 
    ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(b1, b2, b3, b4);
    
    CString ipstring;
    m_IpCtl.GetWindowText(ipstring);
    
    MessageBox(ipstring);
    

    weiterführend:
    m_IpCtl.ClearAddress();
    m_IpCtl.SetFieldFocus(0);



  • hi!!!
    ok danke ich habs jetzt geschafft auch das ich die ip in einen shellexecute befehl einfügen kann!!! ok thx for all the help!!
    mfg


Anmelden zum Antworten