Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

taschenrechner :(

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Delphi/Kylix
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
jackiie



Anmeldungsdatum: 11.01.2006
Beiträge: 2

BeitragVerfasst am: 11. Jan 2006 20:19    Titel: taschenrechner :( Antworten mit Zitat

ich hab es ausversehn oben in pascal geschrieben (wobei es auch nich falsch is^^)


hi!
also wir sollen von der schule aus einen taschenrechner programmieren. der soll dem taschenrechner von windows ähneln, nur nicht mit so vielen funktionen. er soll nur die grundrechenarten beinhalten. jetzt die frage, wie bekomme ich es hin, dass wenn ich auf einen button klicke (sagen wir mal auf 1) der das auch auf dem "display" anzeigt (quasi genau wie beim windows-taschenrechner)
anders gesagt: wenn ich auf knöpfe drücke soll das so aussehen=>
3+3 und wenn man dann auf "=" drückt soll nur das ergebnis da stehen...ich bin äußerst weit smile mein bisheriger quellcode sieht so aus weil ich im moment ein brett vorm kopf hab und nich weiss wie ich das machen soll...unser lehrer meinte das das schwer is aber zu machen is mit meinen grundlagen...

Code:

unit rechner;

interface

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

type
  TForm1 = class(TForm)
    display: TEdit;
    beins: TButton;
    bzwei: TButton;
    bdrei: TButton;
    bvier: TButton;
    bfuenf: TButton;
    bsechs: TButton;
    bsieben: TButton;
    bacht: TButton;
    bneun: TButton;
    bnull: TButton;
    bplus: TButton;
    bminus: TButton;
    bmal: TButton;
    bgeteilt: TButton;
    bgleich: TButton;
    procedure bgleichClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.bgleichClick(Sender: TObject);
var eins, zwei, drei, vier, fuenf, sechs, sieben, acht, neun, null, x, y, erg: REAL;
begin

eins := strtofloat (beins.caption);
zwei := strtofloat (bzwei.Caption);
drei := strtofloat (bdrei.Caption);
vier := strtofloat (bvier.Caption);
fuenf := strtofloat (bfuenf.Caption);
sechs := strtofloat (bsechs.Caption);
sieben := strtofloat (bsieben.Caption);
acht := strtofloat (bacht.Caption);
neun := strtofloat (bneun.Caption);
null := strtofloat (bnull.caption);


end;

END.


achja und ich verwende das programm delphi


thx im voraus!

_________________
mfG jackie!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gast






BeitragVerfasst am: 01. Jun 2006 17:16    Titel: Antworten mit Zitat

ich hab nen ganz funzenden denn könnt ich hier reinpacken (ich hoffe ma das gilt jetzt nich als spam )


unit Rechner;

interface

uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Label1: TLabel;
Label2: TLabel;
Button19: TButton;
Button20: TButton;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
(************************************************)
(*Taschenrechner für Delphi *)
(* *)
(* Rechnen.DPR *)
(* *)
(*von Timm Hacheney 13.01.06 Delphi V. 2.0 *)
(************************************************)

var x , y , erg : Integer;
flageingabe : integer;
flagrechenart : integer;
neurech : integer;


(************************************************)
(*eigene Prozeduren *)
(************************************************)

procedure programmstart;
begin
flageingabe := 1;
flagrechenart := 0;
neurech :=0;
end;


procedure stop_klick ;
begin
form1.close;
end;

procedure plus_klick;
begin
if flageingabe= 1 then flageingabe := 2;
flagrechenart :=1;
end;

procedure plus;
begin
form1.label3.caption := '+';
form1.edit2.visible := true;
x := strtoint (form1.edit1.text);
y := strtoint (form1.edit2.text);
erg := x + y;
form1.edit3.text := inttostr (erg);
end;

procedure mal_klick;
begin
if flageingabe= 1 then flageingabe := 2;
flagrechenart :=2;
end;


procedure mal;
begin
form1.label3.caption := ' - ';
form1.edit2.visible := true;
x := strtoint (form1.edit1.text);
y := strtoint (form1.edit2.text);
erg := x - y;
form1.edit3.text := inttostr (erg);
end;

procedure minus_klick;
begin
if flageingabe= 1 then flageingabe := 2;
flagrechenart :=3;
end;


procedure minus;
begin
form1.label3.caption := 'x';
form1.edit2.visible := true;
x := strtoint (form1.edit1.text);
y := strtoint (form1.edit2.text);
erg := x * y;
form1.edit3.text := inttostr (erg);
end;

procedure div_klick;
begin
if flageingabe= 1 then flageingabe := 2;
flagrechenart :=4;
end;


procedure durch;
begin
form1.label3.caption := ':';
form1.edit2.visible := true;
x := strtoint (form1.edit1.text);
y := strtoint (form1.edit2.text);
erg := x div y;
form1.edit3.text := inttostr (erg);
end;

procedure hoch_klick;
begin
if flageingabe= 1 then flageingabe := 2;
flagrechenart :=5;
end;


procedure hoch;
begin
form1.label3.caption := '^';
form1.edit2.visible := true;
if flageingabe= 1 then flagrechenart := 5;
x := strtoint (form1.edit1.text);
y := strtoint (form1.edit2.text);
erg := 1;

repeat
erg := erg * x;
y := y - 1;
until y = 0;
form1.edit3.text := inttostr (erg);
end;



procedure fakultaet_klick;
begin
flageingabe := 1;
flagrechenart :=6;
end;

procedure fakultaet;
var i : integer;
begin
form1.label3.caption := '!';
form1.edit2.visible := false;
erg := 1;
x := strtoint(form1.edit1.text);
i := 0;
repeat
if x > 0 then
begin
inc(i);
erg := erg * i;
end;
until i = x;
form1.edit3.text := inttostr(erg);

end;




procedure teiler_klick;
begin
flageingabe := 1;
flagrechenart :=7;
end;



procedure teiler;
var t : integer;
tm : string;
begin
form1.label3.caption := 'Teilmenge';
form1.edit2.visible := false;
x := strtoint(form1.edit1.text);
t := 1;
tm := '';
repeat
if x mod t = 0 then
begin
tm := tm + inttostr (t) + ';';
end;
inc(t);
until t > x div 2;
form1.edit3.text := '{' + tm + inttostr(x) + '}' ;
end;

procedure loeschen_klick;
begin
form1.edit1.text := ' ' ;
form1.edit2.text := ' ' ;
form1.edit3.text := ' ' ;
if flageingabe= 2 then flageingabe := 1;
neurech :=0;
form1.edit2.visible := true;
form1.label3.caption := ' ';

end;

procedure eins_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'1'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'1';

end;

procedure zwei_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'2'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'2';

end;

procedure drei_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'3'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'3';

end;

procedure vier_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'4'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'4';

end;

procedure fuenf_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'5'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'5';

end;

procedure sechs_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'6'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'6';

end;

procedure sieben_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'7'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'7';

end;

procedure acht_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'8'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'8';

end;
procedure neun_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'9'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'9';

end;
procedure null_klick;
begin;
if neurech = 0 then
begin
form1.edit1.clear;
form1.edit2.clear;
form1.edit3.clear;
neurech :=1;
end;
if flageingabe = 1 then form1.edit1.text := form1.edit1.text +'0'
else if flageingabe = 2 then form1.edit2.text := form1.edit2.text +'0';

end;

procedure gleich_klick;
begin

case flagrechenart of
1 : plus;
2 : minus;
3 : mal;
4 : durch;
5 : hoch;
6 : fakultaet;
7 : teiler ;


end;
form1.edit1.setfocus;
flageingabe := 1;
neurech := 0;

end;


procedure cheat_klick;
begin
form1.label1.caption := 'du hast einen cheat entdeckt';
form1.color := clgreen;
form1.label1.color := clred;
end;


(************************************************)
( *Delphi Prozeduren *)
(************************************************)

procedure TForm1.Button1Click(Sender: TObject);
begin
stop_klick;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
plus_klick;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
minus_klick;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
mal_klick;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
div_klick;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
loeschen_Klick;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
eins_klick;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
zwei_klick;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
drei_klick;
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
vier_klick;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
fuenf_klick;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
sechs_klick;
end;


procedure TForm1.Button13Click(Sender: TObject);
begin
sieben_klick;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
acht_klick;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
neun_klick;
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
null_klick;
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
gleich_klick
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
programmstart
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
hoch_klick
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
cheat_klick;
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
fakultaet_klick;
end;

procedure TForm1.Button20Click(Sender: TObject);
begin
teiler_klick;
end;

end.




(PS es sind einige unwichtige sachen bei , abba das sollte nich wirklich auffallen)
Nach oben
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Delphi/Kylix Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen