Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner!!?? (https://www.delphipraxis.net/87872-taschenrechner.html)

Crank09 6. Mär 2007 16:15


Taschenrechner!!??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen ich soll den im Anhang programmierten Taschenrechner nachbauen! Ich habe aber absolut keinen Peil wo und wie ich Anfangen soll.Könntet ihr mir bitte helfen

Danke schonmal im voraus

Gruß


Crank09

Real_Thunder 6. Mär 2007 16:22

Re: Taschenrechner!!??
 
Gegenfrage,
wieviel ahnung hast du von delphi ?

NormanNG 6. Mär 2007 16:23

Re: Taschenrechner!!??
 
Hi,

was hast du denn schon? wo ist das Problem?

Crank09 6. Mär 2007 16:43

Re: Taschenrechner!!??
 
Ich bin Schüler in der 9ten Klasse habe mit Delphi vor ca 1ner Woche angefangen mit anderen Worten ich habe GAR KEINE Ahnung(aber ich hätte gern welche) nur dabei brauch ich hilfe

Das Problem ist konkret gesagt das Programm an sich unser Lehrer meinte wir sollen mal versuchen das so zu schreiben :wall: aber ich weiß nicht wo ich anfangen soll und wie ich das schreiben soll

Crank09 6. Mär 2007 16:51

Re: Taschenrechner!!??
 
Achja ich arbeite mit Delphi 3 Professional und habe bis jetzt nur die Oberfläche

Axxus 6. Mär 2007 17:03

Re: Taschenrechner!!??
 
OK also ich würd erst ma eine VCL Formularanwendung für Win 32 starten.
Dann setzt du erst mal die Buttons (Knöpfe) so wie sie da stehen und setzt oben ein Label hin.
So der Taschenrechner kann ja nur eine rechnung ausführen und mur mit einer Zahl.
Also brauchst du nur 4 Varriablen
Zahl1, Zahl2 die müssen vom typ integer sein (Ganzzahlen)
Operator ( der ist für das *-+/) vom Typ char ( char steht für charakter und bedeutet, dass die Varriable nur eine Stelle haben kann)
Und zu guter Letzt brauchst du noch das Ergebnis vom Typ real ( das ist der Typ mit dem du mit Kommazahlen arbeiten kannst)
So jetzt musst du deinem Programm nur noch sagen, das es am anfang, wenn du auf ne Zahl klickst, die Varriable den wert der Zahl, auf die du geklickt hast, annehmen soll. Danach musst du deinem Programm sagen, dass du, wenn du auf einen Operator klickst er diesen Operator in die Varriable Operator speichert. und dann brauchst du noch Zahl 2 (hier darfst du nicht vergessen, dass der Computer erst die Zahl 2 annehmen darf wenn schon ein Operator ausgewählt wurde (Am besten mit einer IF Zweig) Dann musst du nur noch den Gleichbutton Programieren. Der sieht dann so aus, dass wenn du den operator + ausgewählt hast dann soll er Zahl1 + Zahl2 rechnen und wenn er den operator - ausgewählt hat dann soll der Zahl1 - Zahl2 machen ...
Und das Ergebnis soll er dann in das Label reinschreiben

Soweit zur vorgehensweise

Ich joffe du hast verstanden was ich meine
Den Code für sowas hab ich jetzt aus lernzwecken hier nicht gepostet (würde dir ja den Spass verderben)

Wenn du noch Fragen hast einfach posten

Gruß

Axxus

Crank09 6. Mär 2007 17:11

Re: Taschenrechner!!??
 
Danke hast du dir den Rechner mal angeschaut?
So einen Rechner hab ich auch schon programmiert (sogar mit Prozent und wurzeln)
Ich meine so einen Rechner wie ein taschenrechner aufgebaut also das du eine Zahl eingibtst und das wird dann in einem Label angegeben und die Operator werden dann durch Bottons angegeben und da weiß ich beim besten willen nicht, wie ich das einstellen soll das alle botoms das oben angeben dann auch noch mit Operator und so ???!!!

Aber herzlichen Dank für deine Mühe


Gruß

Crank09

NormanNG 6. Mär 2007 18:18

Re: Taschenrechner!!??
 
Hi,

um es einfach zu halten:
du brauchst eine Variable für den Operanten, eine Variable für das Ergebnis und eine Variable für die aktuelle Funktion.
(1) Mit jeder Funktionstaste wird dann das Ergebnis (i.d. Zahl in der Anzeige) nach ZAHL übernommen und die Funktion gemerkt.
(2) Mit der nächsten Funktionstaste muss dann zuerst das Ergebnis berechnet ( ERG = f(ZAHL, ERG) ) und angezeigt werden. Dann wird bei (1) weitergemacht.

Axxus 6. Mär 2007 20:42

Re: Taschenrechner!!??
 
Ehm irgenwie widersprichst du dir :gruebel:

erst sagst du

Zitat:

Zitat von Crank09
Danke hast du dir den Rechner mal angeschaut?
So einen Rechner hab ich auch schon programmiert (sogar mit Prozent und wurzeln)

und dann



Zitat:

Zitat von Crank09
Ich meine so einen Rechner wie ein taschenrechner aufgebaut also das du eine Zahl eingibtst und das wird dann in einem Label angegeben und die Operator werden dann durch Bottons angegeben und da weiß ich beim besten willen nicht, wie ich das einstellen soll das alle botoms das oben angeben dann auch noch mit Operator und so ???!!!
Crank09

Ich hoffe ich hab dich jetzt nicht falsch verstanden aber ich hab doch eine Lösung vorgeschlagen

Als Code würde ich dir nun folgendes vorschlagen (Is vll besser wenn du en anschauliches beispiel hast)

Delphi-Quellcode:
unit Taschenrechner;

interface

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

type
  TForm1 = class(TForm)
    Button_1: TButton;
    procedure Button_1Click(Sender: TObject);
    procedure Button_plusClick(Sender: TObject);
    procedure Button_gleichClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Zahl1, Zahl2, Zahlnr : integer;
  Operator1: Char;
  Ergebnis: real;
  KOntrolle_1, KOntrolle_2, KOntrolle_O: Boolean;

implementation

{$R *.dfm}

procedure TForm1.Button_1Click(Sender: TObject);
begin
  If Zahlnr = 1 Then
  begin
    Zahl1 := '1';
    Kontrolle_1 := true;
    Label1.Caption := (inttostr(Zahl1));
  end
  else
  begin
  Zahl2 := '1';
  KOntrolle_2 := true;
  Label1.Caption := (inttostr(Zahl2));
  end;
end;

procedure TForm1.Button_plusClick(Sender: TObject);
begin
  Operator1 := '+';
  Zahlnr := 2;
  Kontrolle_O := true;
end;

procedure TForm1.Button_gleichClick(Sender: TObject);
begin
  If (Kontrolle_1 = true) and (Kontrolle_2 = true) and (Kontrolle_O = true) Then
  begin
    If Operator1 = + Then
    begin
      Ergebnis := Zahl1 + Zahl2;
    end
    .
    .
    .
  Zahl1 := '';
  Zahl2 := '';
  Operator1 := '';
  Label1.Caption := (Floattostr (Ergebnis));
  end;
end;

end.
Erklärungen kommen morgen bin jetzt zu müde dazu

Sollte ich ein paar Syntaxfehler gemacht haben bitte korrigieren bin mom ziemlich müde und hab den code nicht getestet.


@ Crank09
Wenn du dich für Informatik und für Delphi interessiert und mehr lernen möchtest als im Schulunterricht würde ich als Nachtrlektüre
1. Turbo Pascal & Delphi für kids von Hans-Georg Schumann (Verlag mitp) (isbn 3-8266-0642-6)
2. Delphi für kids von Hans-Georg Schumann (Verlag mitp) (isbn 3-8266-0643-4)

empfehlen

Die Bücher sind echt gut und erschwinglich und haben mir sehr geholfen als ich angefangen hab

Hoffe es hilft die und morgen kommt noch ne erklärung zu dem code

Axxus

Crank09 7. Mär 2007 09:03

Re: Taschenrechner!!??
 
ICH MEINTE SO EINEN rECHNER WIE DU IHN MIR ZUERST BESCHRIEBEN HAST.

Danke das du dir die mühe gemacht hast


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz