PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wurzel ziehen per Delphi 8.Net


Dj-Atzy
2004-07-08, 12:38:28
Hi ich schreibe grad ein Rechenprogramm und will auch wurzelberchenung drinn haben. Da ich erst in der 8. Klasse Gymnamsium bin hab ich davon keine Ahnung.

mrdigital
2004-07-08, 12:41:11
in welcher Sprache?
Die meisten höheren Programmiersprachen kennen ein sqrt() Befehl (square root - Quadratwurzel zu deutsch).

Dj-Atzy
2004-07-08, 12:52:10
In Delphi ( 8 .NET). Das mit dem sqrt hab ich rausgefunden aber wie muss ich es einsetzen?

mrdigital
2004-07-08, 13:02:04
a := sqrt(b)

damit ziehst du die Wurzel aus b und speicherst es in a.

Dj-Atzy
2004-07-08, 14:30:16
Hi

Wenn ich es so:

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text:= sqrt(edit1.text);
end;

eingebe, dann kommt:

[Warnung] Project1.dpr(16): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Windows' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Messages' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Graphics' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Controls' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] Unit1.pas(7): Unit 'Borland.Vcl.Dialogs' ist plattformspezifisch
[Warnung] Unit1.pas(7): Unit 'Borland.Vcl.StdCtrls' ist plattformspezifisch
[Fehler] Unit1.pas(30): Es gibt keine überladene Version von 'Sqrt', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Project1.dpr(16): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

noid
2004-07-08, 14:34:12
Original geschrieben von Dj-Atzy
Hi

Wenn ich es so:

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text:= sqrt(edit1.text);
end;

eingebe, dann kommt:

[Warnung] Project1.dpr(16): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Windows' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Messages' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Graphics' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Controls' ist plattformspezifisch
[Warnung] Unit1.pas(6): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] Unit1.pas(7): Unit 'Borland.Vcl.Dialogs' ist plattformspezifisch
[Warnung] Unit1.pas(7): Unit 'Borland.Vcl.StdCtrls' ist plattformspezifisch
[Fehler] Unit1.pas(30): Es gibt keine überladene Version von 'Sqrt', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Project1.dpr(16): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

du sollltest die textfelder auch erstmal konvertieren. oder ist delphi anders als c,c++ und java?

LordDeath
2004-07-08, 14:58:50
Original geschrieben von noid
du sollltest die textfelder auch erstmal konvertieren. oder ist delphi anders als c,c++ und java?

ne ist nicht anders! ich glaub da muss er dieses float to string anwenden!

Dj-Atzy
2004-07-08, 15:01:00
Aber wie genau?

edit2.text:= strtoint(???);
edit1.text:= strtoint(???);
edit2.text:= sqrt inttostr(edit1.text);



Was bei (???) reinkommt weiß ich nicht(mehr)!
Aber so grob müsste das doch stimmen?

Gast
2004-07-08, 15:08:49
so oder so ähnlich:
edit2.text := floattostr(sqrt(strtofloat(edit1.text)));

Dj-Atzy
2004-07-08, 15:14:56
Vielen, vielen Dank Gast. Das funzt!!!:O ´

THX