Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Frage zur korrekten einordnung im Menu (https://www.delphipraxis.net/149539-frage-zur-korrekten-einordnung-im-menu.html)

crisbinfranke 23. Mär 2010 20:57


Frage zur korrekten einordnung im Menu
 
Guten Abend die Herren und Damen.
Da Delphi für mich Neuland ist, finde ich mich noch nicht so ganz zurecht.
Ich möchte einen Rechner basteln, der Verschiedene Funktionen hat. Mir wurde gerade dies mittels eines Menue zu machen.
Nun habe ich ebend zwei eingabe Felder für Variable Zahlen und 3 Ergebnis Felder.
Ahand dieses Codes baute ich meine Rechenlösungen nach:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:double;
begin
   a:=StrToFloat(Edit1.Text);
   b:=StrToFloat(Edit2.Text);
   c:=a+b;
   Edit3.Text:=FloatToStr(c);
end;
Nun rechnet mein "Programm" wenn ich den ersten Button drücke auch schön alles auch, nur für die anderen unterpunkte des Menus wird die selbe Rechnung benutzt, welche dann aber nicht mehr stimmt ( Ich möchte Verschiedene Formen berechnen [Quadrat usw.]).
Nun weiß ich nicht genau, wo ich die Rechnungen hinschreiben soll und wie mir das Ergebnis angezeigt werden kann.

Mag mir jemand einen Tipp geben?

MfG,
Christian

[edit=SirThornberry]Code-Tags durch Delphi-Tags ersetzt - Mfg, SirThornberry[/edit]

Wolfgang Mix 23. Mär 2010 21:04

Re: Frage zur korrekten einordnung im Menu
 
Starte deine Berechnungen doch einfach vom Menü aus,
und nicht vom Button1

crisbinfranke 23. Mär 2010 21:11

Re: Frage zur korrekten einordnung im Menu
 
Das sieht dann jetzt so aus:
Delphi-Quellcode:
 
procedure TForm1.Rechnung1Click(Sender: TObject);
var a,c:double;
begin
a:=StrToFloat(Edit1.Text);
c:=a*a;
Edit3.Text:=FloatToStr(c);
end;
Und was muss ich dann in den Button schreiben, damit er das richtige ausrechnet ?
Wenn ich "Edit3.Text:=FloatToStr(c);" eintrage, dann kommt eine Merkwürdige Zahl raus.

MfG,
Christian

[edit=SirThornberry]Code-Tags durch Delphi-Tags ersetzt - Mfg, SirThornberry[/edit]

Wolfgang Mix 24. Mär 2010 08:24

Re: Frage zur korrekten einordnung im Menu
 
Wie wäre es denn so?

Delphi-Quellcode:
procedure TForm1.Rechnung1Click(Sender: TObject);
var a,c:double;
begin
a:=StrToFloat(Edit1.Text);
c:=a*a;
if isbutton1clicked then // global deklariert
begin
  Edit3.Text:=FloatToStr(c);
  isbutton1clicked := false;
end;

end;
Für Button1 im Objektinspektor das Ereignis OnClick aktivieren.
und Button1 mit folgendem Code versorgen:

Delphi-Quellcode:
isbutton1clicked :=true;

crisbinfranke 24. Mär 2010 15:25

Re: Frage zur korrekten einordnung im Menu
 
Bei
Code:
isbutton1clicked
bekomme ich eine Fehlermeldung.
[Fataler Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden.
Und bei "OnClick" kann ich nur Button1click oder Rechnung1click auswählen.
Ich denke mal, dass Button1blick gemeint war.

MfG,
Christian

Wolfgang Mix 24. Mär 2010 15:43

Re: Frage zur korrekten einordnung im Menu
 
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  IsButton1Clicked:Boolean; // <-- hier deklariert?

implementation

{$R *.dfm}
Gruß

Wolfgang

sx2008 24. Mär 2010 20:52

Re: Frage zur korrekten einordnung im Menu
 
Ist dir eigentlich klar, dass zwischen dem Klicken eines Buttons und dem Anwählen eines Menüpunktes keinerlei Unterschied besteht?
(Nur mal rein logisch gesehen; für den Benutzer und Windows macht es schon einen Unterschied)
In beiden Fällen wird ein Notify-Event ausgelöst.
Diese Events werden mit einem sog. Event-Handler aufgefangen. (das ist dein Programmcode)
Zitat:

Wenn ich "Edit3.Text:=FloatToStr(c);" eintrage, dann kommt eine Merkwürdige Zahl raus.
Es gibt keine merkwürdigen Zahlen; in Beitrag #3 wird einfach der Wert in Edit1 quadriert und in Edit3 angezeigt.
Die Berechnung und dein Code ist richtig.
Könnte nur sein, dass du dich an der wissenschaftlichen Darstellung störst.

crisbinfranke 28. Mär 2010 19:16

Re: Frage zur korrekten einordnung im Menu
 
Es tut mir leid, dass ich so lange nicht geantwortet habe, aber ich hatte zu viel zu tun mit anderen Klausuren.
Das berechnen funktioniert schonmal, doch nur es ist etwas sehr komisch.
Ich gebe nun also einen Wert ein bei a, drücke dann auf den Button 1 und erst wenn ich dann auf Rechnung klicke wird das Ergebnis ausgerechnet.
Wie bekomme ich das nun umgestellt, dass ich zuerst die Rechenart im Menu auswähle, dann den Wert eingebe und dann bei dem klicken des Buttons1 die Ergebnisse ausgespuckt bekomme?

Vielen dank im Vorraus.

MfG,
Christian


p.s. ich hoffe, dass ich mich hier nicht ganz zur Lachnummer mache, mit meinem ganzen gefrage.

MrSpock 29. Mär 2010 20:49

Re: Frage zur korrekten einordnung im Menu
 
Auf Wunsch des Erstellers geschlossen.

*** C L O S E D ***


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 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