AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verweisen in

Ein Thema von Mb123 · begonnen am 15. Jun 2006 · letzter Beitrag vom 15. Jun 2006
Antwort Antwort
Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#1

Verweisen in

  Alt 15. Jun 2006, 21:00
hallo ich habe folgendes Problem, ich hab angefangen einen Taschenrechner zu programmieren, nun habe ich mir aber überlegt diesen erst erscheinen zu lassen wenn man im menü auf Taschenrechner klickt.

Delphi-Quellcode:
procedure TForm1.aschenrechner1Click(Sender: TObject);
begin

end;
Weil ich mich noch nich besonders lange mit Delpi befasse, weiß ich nun nicht ob ich den code vom Taschenrechner jetzt in die procedur oben schreiben muss ? Hier der restliche Code:

Delphi-Quellcode:
unit rechner;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math, Menus;

type
  TForm1 = class(TForm)
    Taste1: TButton;
    Taste2: TButton;
    Taste4: TButton;
    Taste5: TButton;
    Taste6: TButton;
    Taste8: TButton;
    Taste9: TButton;
    Taste0: TButton;
    Taste7: TButton;
    clr: TButton;
    Taste3: TButton;
    Ausgabe: TEdit;
    plus: TButton;
    minus: TButton;
    mal: TButton;
    geteilt: TButton;
    Komma: TButton;
    ergebnis: TButton;
    potenzieren: TButton;
    wurzel: TButton;
    Vorzeichen: TButton;
    sinus: TButton;
    Cosinus: TButton;
    Tangens: TButton;
    MainMenu1: TMainMenu;
    ProgrammWhlen1: TMenuItem;
    aschenrechner1: TMenuItem;
    procedure Taste1Click(Sender: TObject);
    procedure plusClick(Sender: TObject);
    procedure Taste2Click(Sender: TObject);
    procedure Taste3Click(Sender: TObject);
    procedure Taste4Click(Sender: TObject);
    procedure Taste5Click(Sender: TObject);
    procedure Taste6Click(Sender: TObject);
    procedure Taste7Click(Sender: TObject);
    procedure Taste8Click(Sender: TObject);
    procedure Taste9Click(Sender: TObject);
    procedure Taste0Click(Sender: TObject);
    procedure KommaClick(Sender: TObject);
    procedure ergebnisClick(Sender: TObject);
    procedure minusClick(Sender: TObject);
    procedure malClick(Sender: TObject);
    procedure geteiltClick(Sender: TObject);
    procedure potenzierenClick(Sender: TObject);
    procedure clrClick(Sender: TObject);
    procedure wurzelClick(Sender: TObject);
    procedure VorzeichenClick(Sender: TObject);
    procedure sinusClick(Sender: TObject);
    procedure CosinusClick(Sender: TObject);
    procedure TangensClick(Sender: TObject);
    procedure aschenrechner1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

  a,b,c :double;
  bplus,bminus,bmal,bgeteilt,bpotenzieren,bwurzel,bsinus,bcosinus,btangens :boolean;

implementation

{$R *.dfm}

procedure TForm1.Taste1Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'1';
end;

procedure TForm1.plusClick(Sender: TObject);
begin
  bplus := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.Taste2Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'2';
end;

procedure TForm1.Taste3Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'3';
end;

procedure TForm1.Taste4Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'4';
end;

procedure TForm1.Taste5Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'5';
end;

procedure TForm1.Taste6Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'6';
end;

procedure TForm1.Taste7Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'7';
end;

procedure TForm1.Taste8Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'8';
end;

procedure TForm1.Taste9Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'9';
end;

procedure TForm1.Taste0Click(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+'0';
end;

procedure TForm1.KommaClick(Sender: TObject);
begin
  Ausgabe.Text := Ausgabe.text+',';
end;


procedure TForm1.ergebnisClick(Sender: TObject);
var
  ergebnis: extended;
begin
  b := StrToFloat(Ausgabe.Text);
  if bplus = true then
    c := a + b;
  if bminus = true then
    c := a - b;
  if bmal = true then
    c := a * b;
  if bgeteilt = true then
    c := a / b;
  if bpotenzieren = true then begin
   ergebnis := Power(a, b);
   c := ergebnis;
  if bsinus = true then
  c := sin(Pi*a/180);

  end;
  if bwurzel = true then begin
   ergebnis := Power(a, 1/b);
   c := ergebnis;
  end;
  if bsinus = true then begin
  c := sin(Pi*a/180);
  end;
  if bcosinus = true then begin
  c := cos(Pi*a/180);
  end;
  if btangens = true then begin
  c := tan(Pi*a/180);
  end;


  Ausgabe.text := floattostr(c);
  bplus := false;
  bminus := false;
  bmal := false;
  bgeteilt := false;
  bpotenzieren := false;
  bwurzel := false;
  bsinus := false;
end;

procedure TForm1.minusClick(Sender: TObject);
begin
  bminus := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.malClick(Sender: TObject);
begin
  bmal := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.geteiltClick(Sender: TObject);
begin
  bgeteilt := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.potenzierenClick(Sender: TObject);
begin
  bpotenzieren := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.clrClick(Sender: TObject);
begin
  a := 0;
  b := 0;
  c := 0;
  ausgabe.Text := '';
end;

procedure TForm1.wurzelClick(Sender: TObject);
begin
  bwurzel := true;
  a := StrToFloat(Ausgabe.Text);
  ausgabe.Text := '';
end;

procedure TForm1.VorzeichenClick(Sender: TObject);
begin

  ausgabe.Text := floattostr(-1 * strtofloat(ausgabe.text));

end;

procedure TForm1.sinusClick(Sender: TObject);
begin
  bsinus := true;
  a := StrToFloat(Ausgabe.Text);
end;

procedure TForm1.CosinusClick(Sender: TObject);
begin
  bcosinus := true;
  a := StrToFloat(Ausgabe.Text);
end;

procedure TForm1.TangensClick(Sender: TObject);
begin
  btangens := true;
  a := StrToFloat(Ausgabe.Text);
end;


procedure TForm1.aschenrechner1Click(Sender: TObject);
begin

end;

end.
Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Verweisen in

  Alt 15. Jun 2006, 21:03
Ich würde das Hauptprogramm mit dem Menü in eine eigene Unit legen und dann die taschenrechnerform zur Laufzeit dynamisch erzeugen.
Markus Kinzler
  Mit Zitat antworten Zitat
Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#3

Re: Verweisen in

  Alt 15. Jun 2006, 21:03
Könntest du mir das noch etwas näher erläutern ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Verweisen in

  Alt 15. Jun 2006, 21:07
Ich würde das Formular mit dem Taschenrechner in CalcForm o.ä. umbennenen und dort nur noch das zum rechner gehörige belassen. Dann ein Weiteres Formular erzeugen )z.B. HauptForm), dem das Menu hinzufügen. Für die form des Rechners würde ich die automatische Erzeugung abschalten.
Im Aufruf des Menupunktes würde ich dann folgendes einfügen:

Delphi-Quellcode:
   CalcForm := TCalcForm.Create( self);
   CalcForm.Show; bzw ShowModal;
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz