String "herunterzählen" (war: Anfänger braucht hilfe)
-
1. einen Aussagekräftige Überschrift wählen
2. die Caption ist ein String, den kannst du nicht einfach so runterzählen
3. Vergleiche werden mit einem doppel = durchgeführtvoid __fastcall TForm1::Timer1Timer(TObject *Sender) { int wert = StrToInt(Label3->Caption) - 1; Label3->Caption = IntToStr(wert); if (wert==0) Timer1->Enabled = false; }
-
void __fastcall TForm1::Timer1Timer(TObject *Sender) { Zaehler -= 1; Label1->Caption = IntToStr(Zaehler): if (Zaehler == 0); Timer1->Enabled=false; }
setz den Zaehler im konstrucktor auf 25 und starte dann den timer
-
habe ich gerade probiert aber er zählt immer nur bis zur vier
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Label3->Caption=Label3->Caption -1;
{
if (Label3==0);
Timer1->Enabled=false;
}
}was stimmt hier nicht
-
Sisco schrieb:
Wie mache ich es richtig?
Indem du dir erst mal die C(++) Grundlagen zu Gemüte führst.
-junix
-
Sisco schrieb:
was stimmt hier nicht
1. Hast du wieder keine Code-Tags verwendet (gugg dir mal den C/C++-Button unter dem Eingabefeld an)
2. Vergleiche deine Lösung mit den Lösungen die oben gepostet wurden
3. Siehe obigen Post von mir.-junix
-
Ich bedanke mich
-
Sisco schrieb:
void __fastcall TForm1::Timer1Timer(TObject *Sender) { Label3->Caption=Label3->Caption -1; { if (Label3==0); Timer1->Enabled=false; } }
Entgegen VB wird in C++ normalerweise nicht automatisch eine Typkonvertierung
durchgeführt.
Die Code-ZeileLabel3->Caption=Label3->Caption -1;
funktioniert deshalb nicht. Du mußt erst das was in Caption steht in einen
Zahlenwert umwandeln, z.B. mit StrToInt(), und anschließend diesen Zahlen-
wert (nach Umwandlung in einen String, z.B. mit IntToStr()) wieder der
Caption zuweisen.Gruß,
Alexander
-
Alexander Kempf schrieb:
Entgegen VB wird in C++ normalerweise nicht automatisch eine Typkonvertierung durchgeführt.
Vorausgesetzt du überlädst den Operator - von AnsiString, ist das durchaus möglich. Allerdings bin ich mir grad nicht sicher ob das Built-In verfügbar ist.
-junix
-
junix schrieb:
Vorausgesetzt du überlädst den Operator - von AnsiString, ist das durchaus möglich.
Wobei der Tip für einen erklärten Anfänger vermutlich wenig hilfreich sein
dürfte.Gruß,
Alexander
-
erstaunlicherweise funzt die zeile bei mir
Label1->Caption=Label1->Caption - 1;
würde trotzdem zu einer Typkonvertierung raten