Autor Beitrag
Raffy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 27.07.04 10:18 
Hallo Leute

Ich bin dabei meinen Taschenrechner zu programieren.
Allerdings verzweifel ich gerade an der Prozent- und
Wurzel rechnung. Vielleicht könnt ihr mir ja helfen.
Die nrmalen Zeichen wie z.B. +, -, *, und /
habe ich auch alle schön hinbekommen aber jetzt
hakt es ziemlich.
Bitte helft mir.

MFG
Raffy
bocholito
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 27.07.04 10:23 
Schau mal in die Unit System:

function Sqrt(X: Extended): Extended; // Quadratwurzel
function Sqr(X: Extended): Extended; // Quadrat
function Sqr(X: Integer): Integer;
Raffy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 27.07.04 10:37 
tut mir ja leid aber irgendwie bringt mich das nicht weiter :roll:
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 27.07.04 10:40 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Procedure ButtonWurzelClick(Sender: TObject); // der Button mit der Wurzel wird gedrückt
Begin
// aus dem Wert im Berechnungsfeld wird die Quadratwurzel gezogen und dasErgebnis wieder reingeschrieben
edit1.text := floattostr(sqrt(strtofloat(edit1.text)));
end;
Raffy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 27.07.04 11:00 
vielen dank

damit wäre mein problem mir dem wurzel ziehen.
aber wie macht man das mit dem prozentrechnen?
ich habe dafür folgenden quellcode verwendet.

[delphi]
procedure Tll.btm_prozentClick(Sender: TObject);
var
a, er: Extended;
begin
a := strtofloat (Edit_eingabe.text);
er := a / 100;
lbl_wert.caption := floattostr (er);

end;

soweit so gut. allerdings tut er mit diesem
code nur 1% von der zahl aurechnen die ich eingegeben
habe. ( z.B. eingegeben : 333 Ergebnis bekommen: 3,33)
Ich glaube, dass ich noch was vergessen haben aber ich bin mir nicht sicher.
Bitte sagt mir was falsch ist.
Dr. Phil
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 66

Win XP
Delphi 7 Prof.
BeitragVerfasst: Di 27.07.04 11:42 
Natürlich kommt da nur 1% raus wenn du durch 100 dividierst :roll:
Angenommen du willst dir 3 Prozent von a ausrechnen:
ausblenden Delphi-Quelltext
1:
Ergebnis := 3 * (a/100)					


Das wars schon :wink:

_________________
self-improvement is masturbation;
self-destruction is the answer - Tyler Durden
TheNeon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 408

Windows
VS2010 C#
BeitragVerfasst: Di 27.07.04 11:58 
Raffy hat folgendes geschrieben:
soweit so gut. allerdings tut er mit diesem
code nur 1% von der zahl aurechnen die ich eingegeben
habe. ( z.B. eingegeben : 333 Ergebnis bekommen: 3,33)
Ich glaube, dass ich noch was vergessen haben aber ich bin mir nicht sicher.
Bitte sagt mir was falsch ist.


also wenn du einen Taschenrechner programmieren willst, solltest du doch schon ein wenig Ahnung haben von der Materie .... und da spreche ich nicht von Delphi! :o

Klar kommt immer 1% raus wenn du 100% durch 100 teilst, denn
100/100 = 1 :o :wink:
Raffy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 27.07.04 12:02 
ok habe ich alles verstanden und gemacht.
aber jetz taucht auch schon das nächste problem auf.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure Tll.btm_prozentClick(Sender: TObject);
  var
    a, er: Extended;
  begin
    a := strtofloat (lbl_wert.caption);
    er := edit_eingabe.text * (a/100);
    edit_eingabe2.text := floattostr (er);

  end;


Darunter zeigt er mir jetzt den Fehler: Inkompatible Typen: 'String' und 'Real'

woran kann das liegen. Bitte helft mir noch einmal.
Hätte selber nie gedacht, dass es so schwer sein kann, einen Taschenrechner
mit Delphi zu programmieren. Aber jetzt lasse ich nicht mehr locker.

MFG
Raphael
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 27.07.04 12:08 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure Tll.btm_prozentClick(Sender: TObject);
  var
    a, er: Extended;
  begin
    a := strtofloat (lbl_wert.caption);
    er := strtofloat(edit_eingabe.text) * (a/100); // <--- Hier Typumwandlung
    edit_eingabe2.text := floattostr (er);

  end;
Dr. Phil
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 66

Win XP
Delphi 7 Prof.
BeitragVerfasst: Di 27.07.04 12:24 
Vielleicht solltest du dir mal, bevor du irgendwas programmierst, zuerst die Grundlagen von Delphi durchlesen :roll:
Weil das mit den Umwandlungen von Integer -> String, String -> Float usw. wirst du bei einem Taschenrechner noch häufiger brauchen.

Ist nur ein gut gemeinter Rat :wink:

_________________
self-improvement is masturbation;
self-destruction is the answer - Tyler Durden