Ausgabe Label
-
void __fastcall TENDE::Button1Click(TObject *Sender) { zahl1 = StrToFloat (Edit1->Text); zahl2 = StrToFloat (Edit2->Text); //if ((zahl1 == 0) && (zahl2 == 0)) Close(); while (zahl1 <= zahl2) { // Edit3->Text = zahl1 ; Label1->Caption = String(zahl1) + " + "; zahl3 = zahl1 + zahl3; zahl1++; } }
1.) wieso kann ich nicht bei der division einfach das program schlißen ?? "if"
abfrage!! und was kann ich dann machen um nicht das programm zu killen ??2.) meine zahl1 soll im Label ausgegeben werden und dies dann mit einem "+"
anzeigen werden !!aber er zeigt nur auf dem bildschirm an :
z.B.:int zahl1 = 5, zahl2 = 10, zahl3 =0;
"10 + "
warum ???
2.) wie wäre frage 2.) mit Edit ??mfg
Hubert S.
-
Huberts schrieb:
1.) wieso kann ich nicht bei der division einfach das program schlißen ?? "if"
abfrage!! und was kann ich dann machen um nicht das programm zu killen ??Weil die Anweisung in einem Kommentar steht.
2.) meine zahl1 soll im Label ausgegeben werden und dies dann mit einem "+"
anzeigen werden !!Dazu musst du Application->ProcessMessages() aufrufen. Aber das ganze läuft so schnell ab dass du es garnicht bemerkst.
2.) wie wäre frage 2.) mit Edit ??
Genauso, nur statt Objekt->Caption musst du Objekt->Text nehmen.
-
Hallo
zu 2.
du schreibst:
mach solange zahl1 "5" <= zahl2 "10"
gebe aus zahl1 (5) und "+"
zahl1++bei deinem letzten Durchgang hat zahl1 nunmal den Wert 10
und das ist deine AusgabeMfG
Klaus
-
Noch eine kleine Anmerkung zum Abprüfen auf den Wert 0. Beim Fließ-
kommazahlen kann das zu unvorhersehbaren Problemen führen wegen der
eingeschränkten, prinzipbedingten und daher nicht zu vermeidenden
Ungenauigkeiten von Fließkommatypen.
Besser ist hier einen Ganzzahltyp (z.B. int) zu verwenden.
Eine Möglichkeit wäre z.B.:if (StrToInt(Edit1->Text) == 0 && (StrToInt(Edit2->Text) == 0)) Close();
Gut wäre natürlich auch noch eine Fehlerbehandlung, falls jemand auf
die Idee kommen sollte, andere Zeichen als Zahlen einzugeben. Oder
Du verhinderst bereits die Eingabe solcher Zeichen.Gruß,
Alexander
-
Hi,
erstmal danke für eure antworten ....
hat mir viel geholfen !!
In meiner Rechnung die ich habe zähle ich zahl1 hoch .. und will das dann ausgeben ... aber weil die rechnung so schnell geht wird das ergebni von zahl1 auf Label1 ausgegeben ...
while (zahl1 <= zahl2) { // Edit3->Text = zahl1 ; Label1->Caption = String(zahl1) + " + "; zahl3 = zahl1 + zahl3; zahl1++; }
wie kann ich das nach der reihe ausgeben so wie hier ...
void main () { int zahl1 =5, zahl2 =10, zahl3 =0; cout << "Zahl1 : " ; cin >> zahl1; cout << "Zahl2 : " ; cin >> zahl2; while (zahl1 <= zahl2) { cout << zahl1 << " + "; zahl3 = zahl1 + zahl3; zahl1++; } cout << endl << zahl3 ; getch(); }
mfg
Hubert S.
-
Huberts schrieb:
wie kann ich das nach der reihe ausgeben so wie hier ...
Vielleicht mit einem TMemo?
Gruß,
Alexander
-
Leider nicht aber danke
Memo1->Text = String(zahl1) + " + ";
ich will ausgegeben bekommen folgendes :
anfang ist zahl1 mit 5
und ende soll zahl2 mit 10 seinausgabe : 5 + 6 + 7 + 8 + 9 + 10 = 45
und am ende die ausgabe folgender rechnung
while (zahl1 <= zahl2) { // Edit3->Text = zahl1 ; // Application->ProcessMessages(); Label1->Caption = String(zahl1) + " + "; // Memo1->Text = String(zahl1) + " + "; zahl3 = zahl1 + zahl3; zahl1++; } Label1->Caption = String(zahl3); <- soll 45 ausgeben
5 + 6 = 11 ... 11 + 7 = 18 ... 18 + 8 = 26 .. 26 + 9 = 35 ... 35 + 10 = 45
-
Huberts schrieb:
Leider nicht aber danke
Memo1->Text = String(zahl1) + " + ";
Ich glaube Dir, daß es so nicht funktioniert. Zwar habe ich
ehrlich gesagt immer noch nicht genau verstanden, was exakt
Du beabsichtigst zu tun, aber es scheint mir, als ob Du
die ganzen Zwischenergebnisse der Berechnung anzeigen willst.
Mit der Zuweisung von "Text" wirst Du das so nicht erreichen.
Es gibt aber auch die Möglichkeit über die Methode Add()
einer TMemo-Komponente einzelne Zeilen hinzuzufügen.
Vielleicht wäre das eine Möglichkeit (an die ich auch
eigentlich gedacht hatte).Gruß,
Alexander
-
Alexander Kempf schrieb:
Es gibt aber auch die Möglichkeit über die Methode Add()
einer TMemo-Komponente einzelne Zeilen hinzuzufügen.Die Methode ist vom Objekt TStrings das eine Eigenschaft mit dem Namen Lines des TMemo ist.
Also: Memo1->Lines->Add( IntToStr(zahl) + "+" );
-
bIce schrieb:
Die Methode ist vom Objekt TStrings das eine Eigenschaft mit dem Namen Lines des TMemo ist.
Also: Memo1->Lines->Add( IntToStr(zahl) + "+" );Ja, stimmt. Ich hatte gestern keinen BCB zur Hand...
Gruß,
Alexander
-
vielen dank für eure tips ...
habe eine neuee idee ...
wie mache ich eine zeilen umbruch im builder auf einem
memo ... edit ... label ... feld ???
mfg
Hubert S.
P.S.: :xmas2:
-
Hi,
im Edit wird's schwierig!Sonst mit '\n' (EscapeSequenz) !
MfG
Alexander Sulfrian
PS: :xmas1: :xmas2:
-
Huberts schrieb:
wie mache ich eine zeilen umbruch im builder auf einem
memo ... edit ... label ... feld ?
Suchfunktion benutzen!
http://www.c-plusplus.net/forum/viewtopic.php?t=9982&highlight=zeilenumbruchUnd in Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
Danke!