Announcement

Collapse
No announcement yet.

Probleme mit Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Abfrage

    Hallo,<BR><BR>

    ich habe ein Problem und weiss noch nicht so ganz woran es liegt und wie ich es beheben kann.<BR><BR>

    Also, ich habe drei edit controls in meiner Eingabemasle und für alle drei mache ich dieses, um sie einzulesen.<BR><BR>
    <PRE>
    char text1[1024];
    int length1 = SendMessage(GetDlgItem(hDlg, IDC_DATEI), WM_GETTEXTLENGTH, 0, 0) +1;
    SendMessage(GetDlgItem(hDlg, IDC_DATEI), WM_GETTEXT, length1, (LPARAM) text1);
    </PRE>

    Damit müsste ja auch in length1 drin stehen, wie viele Zeichen, in dem edit control stehen. Wenn dort nichts drin stehen sollte, nehme ich an, dass der Wert 1 ist, wegen dem +1 am Ende. <BR><BR>

    Wenn ich nun abfrage möchte, ob in allen drei Feldern Text enthalten ist oder nicht, würde ich das bisher noch so machen: <BR><BR>
    <PRE>
    if(length1 >1 && length2 >1 && length3 >1)
    {
    Funktion1();
    Funktion2();
    }
    else
    {
    MessageBox(NULL, TEXT("Bitte alle Felder ausfüllen"), TEXT("ACHTUNG"), MB_OK);
    }
    </PRE>
    Nun das Problem: Fülle ich alle Felder aus, läuft alles korrekt ab, lasse ich alle Felder frei, bekomme ich die Fehlermeldung. Lasse ich aber nur eines dieser Felder leer und die anderen beiden fülle ich aus, ruft er auch die Funktionen auf, was er ja nicht tun sollte. <BR><BR>

    Woran liegt das nun und was muss ich ändern?<BR><BR>

    Karen<BR><BR>

  • #2
    Hi Karen,<br>
    hast du mal nachgeschaut, ob die Werte von length1 und Co.
    mit den Längen der Eingaben in den Editfeldern zusammenpassen?
    Vielleicht übergibst du ja mal ein falsches IDC_... an
    GetDlgItem oder so.
    <br>Ciao, Uli

    Comment

    Working...
    X