![]() |
p-g Formel rechner
ka ob das hier rein passt gab hier schonmal so was ähnliches desshalb habs ich ma hier rein gemacht!
mein Problem: möchte einen p-q Formel rechner machen klappt aba mit dem code so wie ich ihn hab schon ganz am Anfang nich =) Bin noch absoluter Anfänger also nich so hart sein und nich in totalem Fach chinesisch antworten plz =)( hoffe Prog sprach erichtig angegeben wenn nich dürfts ruhig sagen xD) der Code:
Delphi-Quellcode:
soll so sein das nachher in 2 labels jeweils ein X wert angegeben werden in 2 edit fenster können die p und q Werte eingesetzt werden......
procedure TForm1.Button1Click(Sender: TObject);
begin if (edit1.text='') or (edit2.text='') then Application.MessageBox('Kein Wert angegeben', 'Fehler', MB_OK+MB_ICONERROR) else Label2.caption:=Floattostr(strtofloat(-1*(1/2*edit1.text))+strtofloat((edit1.text/2)^1/2)-strtofloat((edit2.text)*-1)); end; thx im Vorraus :) |
Re: p-g Formel rechner
schau dir mal genau das an ...
Delphi-Quellcode:
du rechnest mit einem text! du solltest erst den text in eine zahl umwandeln und dann rechnen!
...strtofloat(-1*(1/2*edit1.text))...
...und herzlich willkommen bei dp! :dp: |
Re: p-g Formel rechner
HiHo,
Wenn dein teures Leben nicht davon abhängt, dann würde ich dir mal stark raten, SpinEdit-Felder (TSpinEdit) zu benutzen. Deren Eigenschaft Value ist praktischerweise schon ein Integer (Ganzzahl). Des weiteren gibt es den Exponenten-Operator ^ meines wissens unter Delphi nicht. greez hanselmansel |
Re: p-g Formel rechner
@hanselmansel: wer sagt denn dass man mit der pq-formel nur mit ganze zahlen rechnen kann?
|
Re: p-g Formel rechner
klar bin ich blöd hätte man auch alleine drauf kommen können....
danke!!!! |
Re: p-g Formel rechner
Zitat:
|
Re: p-g Formel rechner
hehe is auch kagge pq...^^ mach ich gar nich gerne ;)
so nun siehts so aus
Delphi-Quellcode:
jezz meldet er bei den ^0.5
Label2.caption:=Floattostr(-1*strtofloat(edit1.text)/2+(strtofloat(edit1.text)^2)^0.5-strtofloat(edit2.text)*-1);
[Error] Unit1.pas(37): Pointer type required ka was die Fehler meldung heissen soll also was isn Pointer type??? und was muss ich amchen damits geht =) |
Re: p-g Formel rechner
Das ^ ist unter Delphi keine Rechenoperation. Benutze für Quadratwurzeln die funktion Sqrt().
|
Re: p-g Formel rechner
also sprich
sqrt(strtofloat(edit1.text)....) jezz hab ich die wurzel wie quadrier ich jezz edit1?? |
Re: p-g Formel rechner
Mit dem englischen Square:
Sqr() |
Re: p-g Formel rechner
Hi DaHui,
Willkommen Ich denke Du wolltest es so haben: :mrgreen:
Delphi-Quellcode:
mfgprocedure 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; BrunoT |
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 !!! |
Re: p-g Formel rechner
Delphi-Quellcode:
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.
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; |
Re: p-g Formel rechner
hey wow danke!!!!!!
sollte jezz klappen bis zum nächsten Problem ;) |
Re: p-g Formel rechner
Zitat:
[OT] Gibt es eigentlich statistische Daten, auf denen zu sehen ist, zu welcher Uhrzeit sich durchschnittlich wieviele User in der DP tummeln? [/OT] |
Re: p-g Formel rechner
es gibt so ne Power-Funktion für ^.
Delphi-Quellcode:
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))
uses
math {oben hinzufügen} [...] x:=power(10,2); {x=10^2} |
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; |
Re: p-g Formel rechner
jo thx sehs mir nachher mal an mach jezz aba erstmal ne Pause!
|
Re: p-g Formel rechner
Zitat:
\\edit: Drüberhinaus solltest du deine Aussagen vor dem Absenden überprüfen. Double ist 64Bit (=8 Byte) lang. Single 32Bit (4 byte). \\edit2: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr. |
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