Problem mit if-Anweisung
-
//--------------------------------------------------------------------------- #include <vcl.h> #include "header.h" #pragma hdrstop #include "mySQL.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- int conn; void __fastcall TForm1::Button1Click(TObject *Sender) { conn = 1; Label1->Caption = conn; Button1->Caption = "Disconnect"; } if (conn == 0) { Label1->Caption = "MUH"; } //-------------------------------------------------------------------------Bei diesem Code gibt er mir in der Linie der if-anweisung folgenden Fehler:
[C++ Fehler] mySQL.cpp(32): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
Woran liegt das?
Ich hab schon alles ausprobiert
MfG
-
Hallo,
Wie wärs, wenn du deine if-Anweisung mit in die Funktion nimmst (falsche Klammerung)
void __fastcall TForm1::Button1Click(TObject *Sender) { int conn = 1; Label1->Caption = conn; Button1->Caption = "Disconnect"; if (conn == 0) { Label1->Caption = "MUH"; } }Ordentliches Einrücken erleichtert das finden solcher Fehler.
Ciao
-
Das Problem ist, dass ich eigentlich nur wollte, dass etwas anderes passiert, wenn der Button schon gedrückt wurde, als wenn er das erste mal gedrückt wird.
Deshalb wollte ich in der if-anweisung die Funktion nochmal neu machen.
Und dann eben etwas anderes ausführen lassen.
Kenn man das auch anders machen?
-
Fakt ist, dass der Code IN die Funktion muss.
Da es offenbar um einen Connect geht:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
static bool connection=falseif (connection == false)
{
connection=true;
// mache was zum wenn Connection aufgebaut wird
}
else if (connection == true)
{
connection=false;
// mache was zum wenn Connection abgebaut wird
}}
-
Hy
Probiers mal so!
void __fastcall TForm1::Button1Click(TObject *Sender) { if(Label1->Caption=="Disconnected") { Button1->Caption="Disconnect"; Label1->Caption="Connected"; } else { Button1->Caption="Connect"; Label1->Caption="Disconnected"; } }
-
Hallo
so etwas sollte nicht an die sprachabhängigen Werte eines Ausgabecontrols hängen.
Wenns eine Checkbox wäre dann okay.bis bald
akari
-
Veilleicht sollte man bei einem Anfänger "klein" und "einfach" rangehen. Man kann je nach Bedarf
- Das in die TAG Eigenschaft des Buttons schreiben
- eine globale Variable verwenden
- eine Klassenvariable verwenden
- dass in Abhänigigkeit von anderen Klassenfunktionen machen
-......usw.
Denke es sollte einfach und verständlich sein