Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Quersumme einer Zahl in einer Edit (https://www.delphipraxis.net/28353-quersumme-einer-zahl-einer-edit.html)

Äfan 23. Aug 2004 16:38


Quersumme einer Zahl in einer Edit
 
Wie kann man die Quersumme einer Zahl in einer Edit berechnen ?

Ich habe schon in der Delphi Hilfe geschaut nur das verwirte mich noh mehr. Meine Edit heißt Anzeige.Ich habe es so probiert :

Delphi-Quellcode:
Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text.text)));
Doch Funktionierts nicht. :pale:

Danke

MFG

Äfan

dizzy 23. Aug 2004 16:40

Re: Quersumme einer Zahl in einer Edit
 
sqrt() berechnet die Quadratwurzel, und was sollte Anzeige.text.text sein?

Eine Quersumme ist doch die Summe aller Ziffern der Zahl, oder? :gruebel:

Äfan 23. Aug 2004 16:43

Re: Quersumme einer Zahl in einer Edit
 
Oh, ich mein natürlich die Wurzel und das mit Text.Text war hier ein Tipfehler. in meiner Source steht natürlich nur einmal text.

Sharky 23. Aug 2004 16:45

Re: Quersumme einer Zahl in einer Edit
 
Hai Äfan,

was soll denn nicht gehen? Wenn ich deine Code benutze und im Edit z.B. die Zahl 9 eingebe habe ich nach einem ButtonClick dort eine 3 stehen. So wie es sein soll.

dizzy 23. Aug 2004 16:47

Re: Quersumme einer Zahl in einer Edit
 
Dann sollte das klappen. Aber "geht nicht" ist immer so eine tolle Fehlerbeschreibung :roll: ;) Was geht nicht, und gibts Fehlermeldungen? Wenn ja: Was steht'n da drin?

Gruber_Hans_12345 23. Aug 2004 16:48

Re: Quersumme einer Zahl in einer Edit
 
Hast vielelicht eine Kommazahl, und nicht den richtigen . oder , ?

Gruss
Hans

Äfan 23. Aug 2004 16:53

Re: Quersumme einer Zahl in einer Edit
 
Ich kann die Anwendung garnicht starten:

[Fehler] MainCalc.pas(335): Operator oder Semikolon fehlt
[Fehler] MainCalc.pas(335): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Rechner.dpr(5): Verwendete Unit 'MainCalc.pas' kann nicht compiliert werden

Ich bin vollanfänger in Delphi und mache jetzt mein erstes Prog, einen TR.

Snoop007 23. Aug 2004 16:55

Re: Quersumme einer Zahl in einer Edit
 
am besten du postet mal den code der ausgeführt wird, wenn du deinen brerechnen button oder was auch immer drückst

Äfan 23. Aug 2004 16:58

Re: Quersumme einer Zahl in einer Edit
 
Delphi-Quellcode:
procedure TForm1.SqrtClick(Sender: TObject);
begin
  Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text)));
end;

Sharky 23. Aug 2004 17:00

Re: Quersumme einer Zahl in einer Edit
 
Hai Äfan,

mache mal ein neues Projekt auf. Auf der Form platzierst Du ein Edit und einen Button. Das Edit nennst Du "anzeige".
Jetzt machst Du einen doppelclick auf den Button. Daraufhin bekommst Du diesen Code im Editor:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
Jetzt muss dort nur noch deine CodeZeile rein und das ganze sieht dan so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text)));
end;
Wenn Du jetzt in dem Edit eine Zahl eingibst und auf den Button klickst sollte anschließend in dem Edit die Wurzel der Zahl stehen.

FAlter 23. Aug 2004 17:02

Re: Quersumme einer Zahl in einer Edit
 
Ersetz mal das sqrt durch system.sqrt oder benenn deine Komponente "sqrt" in was anderes um

dizzy 23. Aug 2004 17:02

Re: Quersumme einer Zahl in einer Edit
 
Aaaahhhh.... hab's Problem... nimm anstelle von sqrt man System.sqrt ;)

Dein Button heisst ja schon Sqrt, und Delphi denkt dieser Button sei mit diesem Bezeichner gemeint, da es in dieser Unit die Funktion aus System überdeckt.
Noch besser: Benenn deinen Button um. Ungarische Notation finde ich für Komps immer noch gut: btnSqrt wäre mein Vorschlag.


\\edit: zu spät...

Äfan 23. Aug 2004 17:03

Re: Quersumme einer Zahl in einer Edit
 
Mhhhh da gehts komischerweiße :gruebel:

Sharky 23. Aug 2004 17:09

Re: Quersumme einer Zahl in einer Edit
 
Zitat:

Zitat von Äfan
Mhhhh da gehts komischerweiße ...

Das ist nicht komisch sonder richtig so.
Du hast eine Komponente mit dem Namen sqrt und Delphi hat eine Funktion mit dem selben Namen.
Wenn Du jetzt in deinem Quellcode sqrt stehen hast weiss der Compiler ja nicht ob Du die Delphi-Funktion oder auf deine Komponente zugreifen möchtest.

Darum gilt: Niemals einer Variablen, Konstanten, Komponente den Namen einer vorhandenen Funktion zuweisen.

dizzy 23. Aug 2004 17:12

Re: Quersumme einer Zahl in einer Edit
 
Doch, Delphi weiss es. Immer die zu letzt deklarierte Version (von der aktuellen Unit aus durch die gesamte Uses-List von hinten nach vorne, und in den Unter-Units auch weiter bis zum Schluss durch) :zwinker:

Naja, nur wenn du nicht diese zu letzt deklarierte Version meinst, dann muss man das explizit angeben. In diesem Fall System.sqrt (Unit System.pas, Funktion sqrt). Aber deutlich sauberer ist eine andere Namensgebung :!:

Äfan 23. Aug 2004 17:13

Re: Quersumme einer Zahl in einer Edit
 
OK, jetzt gehts, danke, ihr seit die besten.

PS: Der beitrag: Mhhhh da gehts komischerweiße, sollte 2 Beiträge weiter oben sein. :zwinker:

dizzy 23. Aug 2004 17:17

Re: Quersumme einer Zahl in einer Edit
 
[ot]
komischerweiße := komischerweise ;)
[/ot]

Äfan 23. Aug 2004 17:25

Re: Quersumme einer Zahl in einer Edit
 
Oh ja die Rechtsschreibung :lol: naja, Hauptsache der Quelltext stimmt :coder: :coder2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 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