HELP: Edit Feld in Borland C++ Builder 6

sub

Grünschnabel
Grüße Leute,

ich verzweifel schon an den leichtesten Sachen... Undzwar will ich mal aus purer langeweile nen Taschenrechner coden der halt 10 Buttons 0-9 hat und noch nen paar Operatoren (+, -, *).

So nun aber meine Frage:

Wie sag ich dem in Borland c++ Builder 6 das wenn ich zb auf die 1 klick im Editfeld eine 1 steht und wenn ich auf die 2 noch klick dann 12 im editfeld steht? wenn ich nun noch lustig bin dann klick ich noch die 8 an und dann sollte 128 im editfeld stehen...

bekomm das leider ned hin! Kann mir jemand bei dem (warscheinlich) leichten prob helfen?

BTW: Wo bekommt man mal im netz tuts zu dem Borland c++ Builder her? Wäre sehr dankbar!

grüße
sub
 
Hi,

geht, in dem du Strings zusammenfaßt:

Edit1->Text += IntToStr( Zahl )

oder Edit1->Text += String

BadMourning
 
Würde mir auf jeden Fall erstmal ne Variable anlegen, in der du dir das aktuelle Ergebnis merkst und ne Variable für die Zahl (beides float oder double). Wenn du dann auf einen von den Zahlenbuttons drückst, ist die Rechenoperation mit der du die aktuelle Zahl änderst folgende.

Code:
zahl = zahl * 10 + gedrZiffer;

Nach jeder Eingabe wird dann die aktuelle Zahl noch ausgegeben, bspw.:

Code:
Edit1->Text = FloatToStr(Zahl);

So wird dann aus der 1 wenn du noch ne 2 drückst ne 1*10+2 also ne 12. Dann musst du dir noch die Rechenoperation merken, die du gewählt wurde (am besten eine byte-Variable oder so, der du verschiedene Werte für verschiedene Operationen festlegst) und beim drücken eines Rechenzeichens wird dann die alte Operation ausgeführt und die Ergebnisvariable entsprechend geändert, also:

Code:
//operation ist unser byte mit dem wir uns die Rechenoperationen merken

//keine Operation bisher, nur zahl in ergebnis übertragen, immer am Anfang und nach drücken von = 
if (operation == 0) 
{
  ergebnis = zahl;
}
if (operation == 1) //Addieren
{
  ergebnis += zahl;
}
...
//und so weiter

Jetzt wieder das Ergebnis ausgeben und operation für den nächste Schritt neusetzen (also entweder auf 0, wenn das Ergebnis mit = angezeigt wurde, oder auf den Wert der entsprechenden Rechenoperation).

Hoffe, es hilft ein bissel weiter.
 
Sorry, hab vergessen. Text ist eine Property, da geht += nicht.

Muß heißen

Edit1->Text = Edit1->Text + IntToStr( Zahl );

oder eben FloatToStr, aber ich denke das brauchst
du nur, um das Editfeld auszulesen, dann StrToFloat.

Greets
 
Taschenrechner, weitere Funktionen?

Moinsen Leutz,
da habe ich gleich mal eine neue Frage: ;)

Wie kann ich weitere Funktionen in den Taschenrechner aufnehmen? Wie würde ihr z.B. Prozentrechnung und/oder Sinus abfragen/berechnen?

Vielen Dank im voraus...

Daystalker
 
Benutz einfach Funktionen wie
Code:
#include <math.h>
double sin(double x);
etc.

gibt einfach in der Borland Hilfe mal "sin" oder "cos" oder was auch immer du suchst ein...

Bei Prozentrechnung bin ich mir nicht sicher, ob's bereits Funktionen gibt. Aber wenn du in der Schule gut aufgepasst hast, bekommst du's bestimmt schnell hin ;)

mfg
 
Hallo
Ich hab dazu noch mal ne andere Frage.
Was hab ich hier falsch gemacht er rechnet Zahl1 und Zahl2 einfach nicht zusammen.
Ich hoffe ihr könnt mit dem Quelltext was anfangen hab uch beschrieben was was sein soll
Wäre echt klasse wenn ihr mir helfen könntet ich sitz da schon ne ewigkeit dran.

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int Zahl1,
//Zahl1 ist die Variable von Label1!
Zahl2,
//Zahl2 ist die Variable von Label3!
Zahl3,
//Zahl3 ist die Variable von Label7!
Ergebnis,
//Ergebnis ist die Variable von Label5!
Rechenzeichen;
//Rechenzeichen ist die Variabele von Label2!
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(1);
//Bildschirm ist der name des Edit Feldes!
/*Das ganze soll heißen, dass die Zahl, die im Edit Feld stand
weiterhin bleibt und die 1 hinzugefügt wird!*/
//Button 1 Ist die 1 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(2);
//Button 2 Ist die 2 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(3);
//Button 3 Ist die 3 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(4);
//Button 4 Ist die 4 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(5);
//Button 5 Ist die 5 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(6);
//Button 6 Ist die 6 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(7);
//Button 7 Ist die 7 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(8);
//Button 8 Ist die 8 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(9);
//Button 9 Ist die 9 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button10Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(0);
//Button 10 Ist die 0 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button15Click(TObject *Sender)
{
Bildschirm->Text = "";
//Button15 ist die Löschen Taste auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label1->Caption = (Zahl1);
Label6->Caption =(Zahl3);
Zahl3 = 1;
Label2->Caption = (Rechenzeichen);
Label3->Caption = (Zahl2);
Label5->Caption = FloatToStrF(Ergebnis,ffNumber,8,6);
//Zahl3 hat den Wert 1!
//Hier werden die Variablen den Elementen zugeordnet!
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
if (Zahl3 == 1) Label1->Caption = Bildschirm->Text;
/*Wenn Zahl3 den Wert 1 hat soll in Zahl1 (Label1) die Zahl stehen
die im Bildschirm eingetippt wurde*/
if (Zahl3 == 2) Label3->Caption = Bildschirm->Text;
/*Sobald ein Rechenzeichen angeklickt wurde springt der Wert von Zahl3
auf 2. Wenn der Wert von Zahl3 2 ist, soll die Zahl die im
Bildschirm neu eingetippt wurde im Label3 stehen also in Zahl2!*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
Label2->Caption = "+";
Zahl3++;
//Button11 ist die Plustaste auf dem Taschenrechner!
//Label2 bekommt den Name +!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button12Click(TObject *Sender)
{
Label2->Caption = "-";
Zahl3++;
//Button12 ist die Minustaste auf dem Taschenrechner!
//Label2 bekommt den Name -!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button13Click(TObject *Sender)
{
Label2->Caption = "*";
Zahl3++;
//Button13 ist die Maltaste auf dem Taschenrechner!
//Label2 bekommt den Name *!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button14Click(TObject *Sender)
{
Label2->Caption = "/";
Zahl3++;
//Button14 ist die Geteilttaste auf dem Taschenrechner!
//Label2 bekommt den Name /!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button17Click(TObject *Sender)
{
Label4->Caption = "=";
if (Label2 == "+") Ergebnis = Zahl1 + Zahl2;
}
//---------------------------------------------------------------------------
 
PHP:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int Zahl1,
//Zahl1 ist die Variable von Label1!
Zahl2,
//Zahl2 ist die Variable von Label3!
Zahl3,
//Zahl3 ist die Variable von Label7!
Ergebnis,
//Ergebnis ist die Variable von Label5!
Rechenzeichen;
//Rechenzeichen ist die Variabele von Label2!
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(1);
//Bildschirm ist der name des Edit Feldes!
/*Das ganze soll heißen, dass die Zahl, die im Edit Feld stand
weiterhin bleibt und die 1 hinzugefügt wird!*/
//Button 1 Ist die 1 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(2);
//Button 2 Ist die 2 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(3);
//Button 3 Ist die 3 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(4);
//Button 4 Ist die 4 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(5);
//Button 5 Ist die 5 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(6);
//Button 6 Ist die 6 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(7);
//Button 7 Ist die 7 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(8);
//Button 8 Ist die 8 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(9);
//Button 9 Ist die 9 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button10Click(TObject *Sender)
{
Bildschirm->Text = Bildschirm->Text + IntToStr(0);
//Button 10 Ist die 0 auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button15Click(TObject *Sender)
{
Bildschirm->Text = "";
//Button15 ist die Löschen Taste auf dem Taschenrechner!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label1->Caption = (Zahl1);
Label6->Caption =(Zahl3);
Zahl3 = 1;
Label2->Caption = (Rechenzeichen);
Label3->Caption = (Zahl2);
Label5->Caption = FloatToStrF(Ergebnis,ffNumber,8,6);
//Zahl3 hat den Wert 1!
//Hier werden die Variablen den Elementen zugeordnet!
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
if (Zahl3 == 1) Label1->Caption = Bildschirm->Text;
/*Wenn Zahl3 den Wert 1 hat soll in Zahl1 (Label1) die Zahl stehen
die im Bildschirm eingetippt wurde*/
if (Zahl3 == 2) Label3->Caption = Bildschirm->Text;
/*Sobald ein Rechenzeichen angeklickt wurde springt der Wert von Zahl3
auf 2. Wenn der Wert von Zahl3 2 ist, soll die Zahl die im
Bildschirm neu eingetippt wurde im Label3 stehen also in Zahl2!*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
Label2->Caption = "+";
Zahl3++;
//Button11 ist die Plustaste auf dem Taschenrechner!
//Label2 bekommt den Name +!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button12Click(TObject *Sender)
{
Label2->Caption = "-";
Zahl3++;
//Button12 ist die Minustaste auf dem Taschenrechner!
//Label2 bekommt den Name -!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button13Click(TObject *Sender)
{
Label2->Caption = "*";
Zahl3++;
//Button13 ist die Maltaste auf dem Taschenrechner!
//Label2 bekommt den Name *!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button14Click(TObject *Sender)
{
Label2->Caption = "/";
Zahl3++;
//Button14 ist die Geteilttaste auf dem Taschenrechner!
//Label2 bekommt den Name /!
//Zahl3 bekommt den Wert 2!
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button17Click(TObject *Sender)
{
Label4->Caption = "=";
if (Label2 == "+") Ergebnis = Zahl1 + Zahl2;
}
//---------------------------------------------------------------------------


So ist es vielleicht besser! Wist ihr ob man hier auch Bilder vom Formular einfügen kann?
 
Zuletzt bearbeitet:
PHP:
object Label1: TLabel
  Left = 120
  Top = 16
  Width = 105
  Height = 17
  AutoSize = False
end
object Label2: TLabel
  Left = 120
  Top = 40
  Width = 32
  Height = 13
  Caption = 'Label2'
end
object Label3: TLabel
  Left = 120
  Top = 64
  Width = 32
  Height = 13
  Caption = 'Label3'
end
object Label4: TLabel
  Left = 120
  Top = 88
  Width = 6
  Height = 13
  Caption = '0'
end
object Label5: TLabel
  Left = 120
  Top = 112
  Width = 32
  Height = 13
  Caption = 'Label5'
end
object Button1: TButton
  Left = 16
  Top = 40
  Width = 25
  Height = 25
  Caption = '1'
  TabOrder = 0
  OnClick = Button1Click
end
object Button2: TButton
  Left = 40
  Top = 40
  Width = 25
  Height = 25
  Caption = '2'
  TabOrder = 1
  OnClick = Button2Click
end
object Button3: TButton
  Left = 64
  Top = 40
  Width = 25
  Height = 25
  Caption = '3'
  TabOrder = 2
  OnClick = Button3Click
end
object Button4: TButton
  Left = 16
  Top = 64
  Width = 25
  Height = 25
  Caption = '4'
  TabOrder = 3
  OnClick = Button4Click
end
object Button5: TButton
  Left = 40
  Top = 64
  Width = 25
  Height = 25
  Caption = '5'
  TabOrder = 4
  OnClick = Button5Click
end
object Button6: TButton
  Left = 64
  Top = 64
  Width = 25
  Height = 25
  Caption = '6'
  TabOrder = 5
  OnClick = Button6Click
end
object Button7: TButton
  Left = 16
  Top = 88
  Width = 25
  Height = 25
  Caption = '7'
  TabOrder = 6
  OnClick = Button7Click
end
object Button8: TButton
  Left = 40
  Top = 88
  Width = 25
  Height = 25
  Caption = '8'
  TabOrder = 7
  OnClick = Button8Click
end
object Button9: TButton
  Left = 64
  Top = 88
  Width = 25
  Height = 25
  Caption = '9'
  TabOrder = 8
  OnClick = Button9Click
end
object Button10: TButton
  Left = 16
  Top = 112
  Width = 25
  Height = 25
  Caption = '0'
  TabOrder = 9
  OnClick = Button10Click
end
object Button11: TButton
  Left = 88
  Top = 40
  Width = 25
  Height = 25
  Caption = '+'
  TabOrder = 10
  OnClick = Button11Click
end
object Button12: TButton
  Left = 88
  Top = 64
  Width = 25
  Height = 25
  Caption = '-'
  TabOrder = 11
  OnClick = Button12Click
end
object Button13: TButton
  Left = 88
  Top = 88
  Width = 25
  Height = 25
  Caption = '*'
  TabOrder = 12
  OnClick = Button13Click
end
object Button14: TButton
  Left = 88
  Top = 112
  Width = 25
  Height = 25
  Caption = '/'
  TabOrder = 13
  OnClick = Button14Click
end
object Button15: TButton
  Left = 40
  Top = 112
  Width = 49
  Height = 25
  Caption = 'L'#246'schen'
  TabOrder = 14
  OnClick = Button15Click
end
object Bildschirm: TEdit
  Left = 16
  Top = 16
  Width = 97
  Height = 21
  TabOrder = 15
end
object Button16: TButton
  Left = 16
  Top = 136
  Width = 49
  Height = 25
  Caption = 'Eingabe'
  TabOrder = 16
  OnClick = Button16Click
end
object Button17: TButton
  Left = 64
  Top = 136
  Width = 49
  Height = 25
  Caption = '='
  TabOrder = 17
  OnClick = Button17Click
end
 
Zurück