Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi p-g Formel rechner (https://www.delphipraxis.net/53343-p-g-formel-rechner.html)

BrunoT 14. Sep 2005 15:18

Re: p-g Formel rechner
 
Hi DaHui,

Willkommen

Ich denke Du wolltest es so haben: :mrgreen:

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var
  p, q, x: double;
begin

  if (edit1.text = '') or (edit2.text = '') then
    Application.MessageBox('Kein Wert angegeben', 'Fehler', MB_OK + MB_ICONERROR)
  else
  begin
    p := strtofloatdef(edit1.Text, 0);
    q := strtofloatdef(edit2.Text, 0);
    x := -1 * (1 / 2 * p) - sqrt(sqr(p / 2) - q);
    Label1.caption := Floattostr(x);
    x := -1 * (1 / 2 * p) + sqrt(sqr(p / 2) - q);
    Label2.caption := Floattostr(x);

  end;
end;
mfg

BrunoT

DaHui 14. Sep 2005 15:20

Re: p-g Formel rechner
 
ok danke für die SUPER schnelle Hilfe hier bleib ich =)!!!


@ Bruno klar so is geil nur das ich ka hab wie dus gemaht hast hab das Prog seit montag und Info ind er schuel seit einer woche ;) trotzdem thx ich meine wenn du lsut und Zeit ahst darfst es mir gerne erklären !!!

hanselmansel 14. Sep 2005 15:26

Re: p-g Formel rechner
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  p, q, x: double; //Variablen, die Kommazahlen aufnehmen können
begin

  if (edit1.text = '') or (edit2.text = '') then
    Application.MessageBox('Kein Wert angegeben', 'Fehler', MB_OK + MB_ICONERROR)
  else
  begin
    p := strtofloatdef(edit1.Text, 0); //P und Q werden zugewiesen StrToFloatDef ist einfach die E-Klasse
    q := strtofloatdef(edit2.Text, 0); //wenn StrToFloat ein Polo ist.
    x := -1 * (1 / 2 * p) - sqrt(sqr(p / 2) - q); //X1 wird berechnet
    Label1.caption := Floattostr(x); //X1 wird ausgegeben
    x := -1 * (1 / 2 * p) + sqrt(sqr(p / 2) - q); //Die Variable, die X1 enthielt, kann weiterverwendet werden, und nimmt X2 auf
    Label2.caption := Floattostr(x);  //Hier wird X2 ausgegeben.

  end;
end;
Für deinen Lehrer anschaulicher (weil wir ja wissen, wie umständlich Lehrer sind) kannst du das Programm gestalten, indem du anstelle von "x" die variablen x1 und x2 verwendest.

DaHui 14. Sep 2005 15:30

Re: p-g Formel rechner
 
hey wow danke!!!!!!

sollte jezz klappen bis zum nächsten Problem ;)

hanselmansel 14. Sep 2005 15:32

Re: p-g Formel rechner
 
Zitat:

Zitat von DaHui
bis zum nächsten Problem ;)

Kein Problem. Meine erfahrung zeigt, dass die PRAXIS quasi around the clock besetzt ist.
[OT]
Gibt es eigentlich statistische Daten, auf denen zu sehen ist, zu welcher Uhrzeit sich durchschnittlich wieviele User in der DP tummeln?
[/OT]

ichbins 14. Sep 2005 16:07

Re: p-g Formel rechner
 
es gibt so ne Power-Funktion für ^.
Delphi-Quellcode:
uses
  math {oben hinzufügen}

[...]

x:=power(10,2); {x=10^2}
für Variablen, die Kommazahlen aufnehmen können (float-Variablen) würde ich IMMER den Typ extended nehmen (der ist 10 Byte genau (im gegensatz zu double, der nur 4 hat))

ibp 14. Sep 2005 16:28

Re: p-g Formel rechner
 
.. so würde ich das machen (ohne ausgabenformatierung)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  p,q,a,b: real;
begin
  if trystrtofloat(edit12.Text,p) and trystrtofloat(edit12.Text,q) then
  begin
    a:=-p/2;
    b:=sqrt(sqr(a)-q);
    label1.Caption:=floattostr(a+b);
    label2.Caption:=floattostr(a-b);
  end
  else
    Application.MessageBox('Kein Werte angegeben', 'Fehler', MB_OK + MB_ICONERROR)
end;

DaHui 14. Sep 2005 16:29

Re: p-g Formel rechner
 
jo thx sehs mir nachher mal an mach jezz aba erstmal ne Pause!

dizzy 14. Sep 2005 16:30

Re: p-g Formel rechner
 
Zitat:

Zitat von ichbins
für Variablen, die Kommazahlen aufnehmen können (float-Variablen) würde ich IMMER den Typ extended nehmen (der ist 10 Byte genau (im gegensatz zu double, der nur 4 hat))

Ich nicht. Ich würde Extended dort nehmen wo ich es so genau brauche. Extended ist erheblich langsamer als die anderen Float-Typen, und somit ist es wie so oft Abwägungssache welcher Typ geeignet ist. Ein kanonisches "immer" ist - sorry - Quatsch.

\\edit: Drüberhinaus solltest du deine Aussagen vor dem Absenden überprüfen. Double ist 64Bit (=8 Byte) lang. Single 32Bit (4 byte).
\\edit2: Ergänzender Link


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.
Seite 2 von 2     12   

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