Was ist an dieser if-Anweisung falsch? VC++ .net

Test

Erfahrenes Mitglied
Code:
if (textBox1=="Löschen")
{
label1->Text="Löschvorgang wird gestartet";
}
else
{
label1->Text="Fehler";
}



Ich erhalte immer "Fehler" obwohl ich in textBox1 Löschen eingegeben habe! Was ist an dieser if-Anweisung falsch bzw. woran liegt es sonst?
 
Hi!

Kenne mich nur mit Perl aus, aber vielleicht ja ein richtiger Ansatz:
Gilt der Vergleichsoperator "==" vielleicht nur für Zahlen und Du brauchst einen für Strings? Bei Perl wäre das "eq" für equal...
Hinzu: oft gibt's gemeine Probleme mit Umlauten, einfach mal ein o statt ö ;-)
 
Kenne mich nur mit Perl aus, aber vielleicht ja ein richtiger Ansatz: Gilt der Vergleichsoperator "==" vielleicht nur für Zahlen und Du brauchst einen für Strings? Bei Perl wäre das "eq" für equal...
Pearl ist aber kein C++ :)
Was ist textBox1 denn für ein Datentyp?
Ich erhalte immer "Fehler" obwohl ich in textBox1 Löschen eingegeben habe!
Welchen Fehler erhältst du denn, beim Compilieren, beim Ausführen.
Du musst schon etwas mehr Infos weitergeben.

Gruss Homer
 
@homer: Perl nicht C++, jetzt weiß ich, woran ich immer gescheitert bin ;-)
Fehler ist übrigens in ", d.h. gemeint ist der "else-Zweig"...
 
So muss das in .net aussehen:
Code:
if(String::Compare(textBox1->Text, "Delete") == 0)
{
	label1->Text = "Delete will start soon";
}
else
{
	label1->Text = "Error";
}

textBox1 ist eine Komponente!
 
Naja ich hätte einfach folgendes gemacht
Code:
UpdateData(FALSE);

if (textBox1=="Löschen")
{
        label1->Text="Löschvorgang wird gestartet";
}
else
{
        label1->Text="Fehler";
}
 
Naja ich hätte einfach folgendes gemacht
Code:
code:      
UpdateData(FALSE);
if (textBox1=="Löschen")  
{
          label1->Text="Löschvorgang wird gestartet";  
}  
else  
{
          label1->Text="Fehler";  
}

Naja die Frage bleibt was ist textBox1 ?
Eine Stringklasse, ein Steuerelement oder sonst was.
Ich kenn mich ja in .NET nicht so aus, aber ich denke da braucht es auch einen operator==() für einen solchen Vergleich.
Am ehesten würde ich das Beispiel von Test nehmen, das sieht recht gut aus.

Gruß Homer
 
mhh man kann zu 99% sagen das textBox1 ein Feld in einem Dialog ist!
Und IMHO kann ich zu 100% behaupten das es eine Variable ist!
Somit muss ich ihm intern auch mitteilen das er die Variable füllen soll, bevor die eigentliche Funktion ausgeführt werden soll, sprich variable füllen dann den vergleich!

Für sowas ist der debugger sehr gut, schau mal was in textBox1 steht mit und ohne UpdateData(false); (im .net dürfte sogar nen einfach UpdateData() reichen.

ich denke der fehler entsteht dadurch da er zur laufzeit keinen WErt in textBox1 hat (auch wenn er im Dialog was eingegeben hat) und somit ist textBox1 immer != "Löschen" womit die Schleife richtig ;)
 
Hallo? Das Problem hat sich erledigt, ich habe selbst die entsprechende .Net-Lösung gepostet also worum geht es jetzt überhaupt noch?
 

Neue Beiträge

Zurück