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>
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>
Comment