![]() |
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:
Doch Funktionierts nicht. :pale:
Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text.text)));
Danke MFG Äfan |
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: |
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.
|
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. |
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?
|
Re: Quersumme einer Zahl in einer Edit
Hast vielelicht eine Kommazahl, und nicht den richtigen . oder , ?
Gruss Hans |
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. |
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
|
Re: Quersumme einer Zahl in einer Edit
Delphi-Quellcode:
procedure TForm1.SqrtClick(Sender: TObject);
begin Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text))); end; |
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:
Jetzt muss dort nur noch deine CodeZeile rein und das ganze sieht dan so aus:
procedure TForm1.Button1Click(Sender: TObject);
begin end;
Delphi-Quellcode:
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.
procedure TForm1.Button1Click(Sender: TObject);
begin Anzeige.text := floattostr(sqrt(strtofloat(Anzeige.text))); end; |
Re: Quersumme einer Zahl in einer Edit
Ersetz mal das sqrt durch system.sqrt oder benenn deine Komponente "sqrt" in was anderes um
|
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... |
Re: Quersumme einer Zahl in einer Edit
Mhhhh da gehts komischerweiße :gruebel:
|
Re: Quersumme einer Zahl in einer Edit
Zitat:
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. |
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 :!: |
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: |
Re: Quersumme einer Zahl in einer Edit
[ot]
komischerweiße := komischerweise ;) [/ot] |
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 20:17 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