AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Delphiproblem - Taschenrechner brauche hilfe !
Thema durchsuchen
Ansicht
Themen-Optionen

Delphiproblem - Taschenrechner brauche hilfe !

Ein Thema von -Ptype- · begonnen am 11. Mai 2010 · letzter Beitrag vom 28. Jul 2011
Antwort Antwort
Seite 1 von 3  1 23      
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#1

Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 11:58
Hallo Delphi-Community,
bin jetzt erst seit kurzem am Delphi proggen.
Wie viele andere fange ich auch mit einem Taschenrechner an
In der Suche habe ich leider nichts zu meinem Problem gefunden und google spuckt auch nur Müll aus.

Zu meinem Problem:

Also ich habe ein Edit-Feld in dieses werden Zahlen durch Button Klicks eingefügt.
Rechenarten habe ich schon einige jedoch fehlt mir noch eine die ich gerne einbauen würde bei der ihr mir eventuell auch helfen könntet (wobei dies eigentlich nicht mein richtiges problem ist. Dazu später mehr). So ich habe auch einen Komma Button der auch einwandfrei funktioniert, allerdings kommt jetzt mein Problem: Ich habe eine Del button der die letzte ziffer löscht, allerdings hab ich meinem komma button zugewiesen, dass er nach einmaligem drücken auf Enabled := False ist, damit man nicht in eine zahl 2 Kommas einbauen kann. Nun will ich es aber so haben das wenn ich z.B. die zahl 17,5 habe und dann 2 mal auf den DEL button drücke, sodass das komma weg ist der Komma button wieder auf enabled := True springt.

Zur rechenart die ich noch gerne haben würde, wäre die n-te wurzel aus x zu berechnen ohne die function oder wie das auch genannt wir "Power" aus der Unit math zu verwenden.

Ich hoffe ihr versteht mein/e Problem/e und könnt mir so schnell wie möglich helfen.

Schon mal ein Dickes Danke an alle die mir helfen

Mfg Alex
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:23
Zitat:
Zur rechenart die ich noch gerne haben würde, wäre die n-te wurzel aus x zu berechnen ohne die function oder wie das auch genannt wir "Power" aus der Unit math zu verwenden.
Wenn die Funktion power nicht erwünscht ist, machst du das mit Hilfe der
Logarithmengesetze, am einfachsten mit dem natürlichen Logarithmus und
einer e-Funktion.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#3

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:29
Zitat:
Wenn die Funktion power nicht erwünscht ist, machst du das mit Hilfe der
Logarithmengesetze, am einfachsten mit dem natürlichen Logarithmus und
einer e-Funktion.
Danke für die schnelle Antwort , aber wie schon oben geschrieben hab ich erst vor kurzem angefangen und weiß deshalb jetzt nicht genau was du damit meinst.
Es wäre nett wenn du mir ein Beispiel geben könntest oder es genauer erklären könntest.

Hoffe es findet sich noch jemand der mir bei meinem erstem Problem helfen kann
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:35
Delphi-Quellcode:
// nte Wurzel aus x
procedure TForm1.Button1Click(Sender: TObject);
var x,n,Ergebnis:double;
begin
  x:=StrToFloat(Edit1.Text);
  n:=3;
  Ergebnis:=exp((1/n)*ln(x));
  Edit2.Text:=FloatToStr(Ergebnis);
end;
[Edit] Das Ganze funktioniert auch ohne unit math. [/Edit]

Google einmal nach Logarithmen, Potenzen und Wurzeln oder schaue
in deine Mathe-Formelsammlung.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#5

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:42
Zitat:
Das Ganze funktioniert auch ohne unit math.

Google einmal nach Logarithmen, Potenzen und Wurzeln oder schaue
in deine Mathe-Formelsammlung.
Und wieder kann ich nur meinen Dank aussprechen
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:44
Gerne wieder

PS: 2 Fragen --> 2 Threads !
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 12:48
Erstmal wissen wir garnicht wie dein Taschenrechner arbeitet, da ist es schwer zu sagen, wie du was lösen kannst.

Dann kann ich garnicht verstehen, wie du nichts finden konntest, denn immerhin gibt es alleine mehrere Taschenrechner und Mathe-Bibliotheken hier in der DP, da sollte sich langsam mal für alles eine Lösung finden lassen.

Zitat von -Ptype-:
Zur rechenart die ich noch gerne haben würde, wäre die n-te wurzel aus x zu berechnen ohne die function oder wie das auch genannt wir "Power" aus der Unit math zu verwenden.
Tja, das sagt abernichts darüber aus, was du alles zum Lösen nutzen kannst.

PS: Es läßt sich eigentlich fast jede mathematische Operation auf die grundlegenste Operation reduzueiren.
> Die Addition
Das ginge selbst mit sowas, wie den Wurzeln.

PSS: Wenn ich mal so in meine letze Mathe-Lib reinschaue, dann wurde wird da grundsätzlich alles manuell errechnet und diese Lib ist hier in der DP zu finden.
In diese Lib ist zwar keine Funktion für die n-te Wurzel zu finden, aber wenn man sich das "einfache" Prinzip der "Quadratwurzel" ansieht, dann ist es ein Leichtes dieses für eine mehrfache Wurzelfunktion zu verwenden.




Zu dem Komma ... wenn dein Löschbutton das Komma löscht (du kannst ja vor dem Löschen prüfen was gelöscht wird), dann stellst du einfach das Button.Enable wird auf True und fertig.
Ist das denn so schwer?

PS: Hier mal eine etwas ältere und einfache Power-Funktio aus Delphi.
(in neueren Versionen ist ja eine optimiertere Variante verbaut)
Delphi-Quellcode:
{ Power: Raise base to any power.
  For fractional exponents, or |exponents| > MaxInt, base must be > 0. }

function Power(const Base, Exponent: Extended): Extended;
begin
  if Exponent = 0.0 then
    Result := 1.0 { n**0 = 1 }
  else if (Base = 0.0) and (Exponent > 0.0) then
    Result := 0.0 { 0**n = 0, n > 0 }
  else if (Frac(Exponent) = 0.0) and (Abs(Exponent) <= MaxInt) then
    Result := IntPower(Base, Integer(Trunc(Exponent)))
  else
    Result := Exp(Exponent * Ln(Base))
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#8

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 13:02
Zitat:
Erstmal wissen wir garnicht wie dein Taschenrechner arbeitet, da ist es schwer zu sagen, wie du was lösen kannst.

Dann kann ich garnicht verstehen, wie du nichts finden konntest, denn immerhin gibt es alleine mehrere Taschenrechner und Mathe-Bibliotheken hier in der DP, da sollte sich langsam mal für alles eine Lösung finden lassen.
Dazu kann ich falls du mir dadurch helfen kannst meinen Quellcode posten und nur das dus weißt das ist bei mir für die schule und wir haben mit dem thema erst grade angefangen:

Zitat:
-Ptype- hat folgendes geschrieben:
Zur rechenart die ich noch gerne haben würde, wäre die n-te wurzel aus x zu berechnen ohne die function oder wie das auch genannt wir "Power" aus der Unit math zu verwenden.

Tja, das sagt abernichts darüber aus, was du alles zum Lösen nutzen kannst.

PS: Es läßt sich eigentlich fast jede mathematische Operation auf die grundlegenste Operation reduzueiren.
> Die Addition
Das ginge selbst mit sowas, wie den Wurzeln.

PSS: Wenn ich mal so in meine letze Mathe-Lib reinschaue, dann wurde wird da grundsätzlich alles manuell errechnet und diese Lib ist hier in der DP zu finden.
In diese Lib ist zwar keine Funktion für die n-te Wurzel zu finden, aber wenn man sich das "einfache" Prinzip der "Quadratwurzel" ansieht, dann ist es ein Leichtes dieses für eine mehrfache Wurzelfunktion zu verwenden.
Falls du es noch nicht gelesen hast hab ich darauf bereits eine antwort bekommen und der Antwortgeber hat mir es so gegeben das es bei mir funktioniert.

Zitat:
Zu dem Komma ... wenn dein Löschbutton das Komma löscht (du kannst ja vor dem Löschen prüfen was gelöscht wird), dann stellst du einfach das Button.Enable wird auf True und fertig.
Ist das denn so schwer?
wie zum ersten zitat geschrieben hab ich vor kurzem angefangen und das programmieren interessiert mich. Ich kann auch nichts dafür wenn ich nicht genau das finde was ich brauche und wenn google nicht das ausspuckt was ich gerade brauche. Zufälligerweise weiß ich leider nicht wie ich das prüfen kann und da denke ich mir wäre es besser von jemandem hilfe zu bekommen, anstatt das ich hier von einer Community die sich eigentlich gegenseitig helfen soll, angemotzt werde weil ich etwas nicht kann!
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#9

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 13:06
Zitat:
Gerne wieder

PS: 2 Fragen --> 2 Threads !
Dankeschön, werde ich beim nächsten Mal beachten ^^
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 13:11
Pack die Abfrage doch in das Edit Feld:

Button1 = Komma

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Ansipos(DecimalSeparator, Edit1.Text) > 0
   then Button1.Enabled := False
    else Button1.Enabled := True;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 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