GUI Embarcadero C++
Hej.
Är det någon här inne som skulle kunna hjälpa mig?
Jag gör en miniräknare i embarcadero C++ men lyckas inte få subtraktion, multiplikation och division att funka.
Har lyckats att få så att knapparna visar så det ska vara men när man gör uträkningen blir allt i addition.
Funderar på om det är en if-sats man ska använda, men vet inte hur den ska va utformad eller vart den ska va. Efter ett evigt googlande söker jag mig nu hit och hoppas att någon kan hjälpa mig. Klistrar in koden jag har här under.
.cpp-filen:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ShowMessage("Välkommen till kalkylatorn!");
sum = 0;
newNr = "";
}
//---------------------------------------------------------------------------
void TForm1::AddDigit(UnicodeString digit)
{
Edit1->Text = Edit1->Text + digit;
newNr += digit;
}
//-----------------------------------------------------
void TForm1::SubDigit(UnicodeString digit)
{
Edit1->Text = Edit1->Text - digit;
newNr += digit;
}
//-----------------------------------------------------
void TForm1::MulDigit(UnicodeString digit)
{
Edit1->Text = Edit1->Text * digit;
newNr += digit;
}
//-----------------------------------------------------
void TForm1::DivDigit(UnicodeString digit)
{
Edit1->Text = Edit1->Text / digit;
newNr += digit;
}
//-----------------------------------------------------
void TForm1::Summarize()
{
if(newNr != "")
{
sum = sum + StrToInt(newNr); // R�kna ut summa av alla tal
newNr = ""; // �terst�ll s� anv�ndaren kan skriva ett nytt tal
}
}
//--------------------------------------------------------------------------
void TForm1::Clear()
{
sum = 0;
newNr = "";
Edit1->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AddDigit("1");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AddDigit("2");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
AddDigit("3");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
AddDigit("4");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
AddDigit("5");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
AddDigit("6");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
AddDigit("7");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
AddDigit("8");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
AddDigit("9");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button0Click(TObject *Sender)
{
AddDigit("0");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
Summarize();
Edit1->Text = IntToStr(sum) + "+"; // S�tt textboxen r�tt
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonSubClick(TObject *Sender)
{
Summarize();
Edit1->Text = IntToStr(sum) + "-";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonMulClick(TObject *Sender)
{
Summarize();
Edit1->Text = IntToStr(sum) + "*";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonDivClick(TObject *Sender)
{
Summarize();
Edit1->Text = IntToStr(sum) + "/";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonSummarizeClick(TObject *Sender)
{
Summarize();
Edit1->Text = IntToStr(sum);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonClearClick(TObject *Sender)
{
sum = 0;
newNr = "";
Edit1->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Avsluta1Click(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Om1Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
.h-filen:
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Menus.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TButton *Button2;
TButton *Button3;
TButton *Button4;
TButton *Button5;
TButton *Button6;
TButton *Button7;
TButton *Button8;
TButton *Button9;
TButton *Button0;
TButton *ButtonAdd;
TButton *ButtonSub;
TButton *ButtonMul;
TButton *ButtonDiv;
TButton *ButtonClear;
TButton *ButtonSummarize;
TEdit *Edit1;
TMainMenu *MainMenu1;
TMenuItem *Arkiv;
TMenuItem *Hjälp;
TMenuItem *Avsluta1;
TMenuItem *Om1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Button5Click(TObject *Sender);
void __fastcall Button6Click(TObject *Sender);
void __fastcall Button7Click(TObject *Sender);
void __fastcall Button8Click(TObject *Sender);
void __fastcall Button9Click(TObject *Sender);
void __fastcall Button0Click(TObject *Sender);
void __fastcall ButtonAddClick(TObject *Sender);
void __fastcall ButtonSubClick(TObject *Sender);
void __fastcall ButtonMulClick(TObject *Sender);
void __fastcall ButtonDivClick(TObject *Sender);
void __fastcall ButtonSummarizeClick(TObject *Sender);
void __fastcall ButtonClearClick(TObject *Sender);
void __fastcall Avsluta1Click(TObject *Sender);
void __fastcall Om1Click(TObject *Sender);
private: // User declarations
int sum;
UnicodeString newNr;
void AddDigit(UnicodeString digit);
void SubDigit(UnicodeString digit);
void MulDigit(UnicodeString digit);
void DivDigit(UnicodeString digit);
void Summarize();
void Clear();
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif