Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   String zu Real-Zahlen?! (https://www.delphipraxis.net/134895-string-zu-real-zahlen.html)

compl.exe 31. Mai 2009 23:31


String zu Real-Zahlen?!
 
Hallo!

Ich benötige dringend Hilfe, da ich für die Schule bis Dienstag ein Programm fertig haben muss. =(
Die Programme sollten wir uns selber ausdenken. Ich habe jetzt bei meinem folgendes Problem:

Ich habe ein Editfeld und möchte dessen Inhalt in Zahlen umwandeln (a=1, b=2, c=3, etc. ...) um später die Quersumme der Buchstaben ausrechnen zu können.
Ich habe schon ein bisschen was versucht, bin aber nicht sonderbar weit gekommen. Irgendwie müsste ich das wohl mit 'nem Array gelöst bekommen, oder?! Aber WIE?! :wall:

Eventuell habe ich dann noch eine andere Frage: Jeder Inhalt, den der User ins Editfeld schreibt ist ja unterschiedlich lang. Wie bekomme ich das dann gescheit mit dem Quersummenrechnen hin?!

Ich wäre sehr dankbar, wenn mir jemand auf die Schnelle helfen könnte!

quendolineDD 31. Mai 2009 23:39

Re: Schnelle Hilfe benötigt: String zu Real-Zahlen?!
 
Falls die Eingabe lediglich aus Integerwerten besteht, dann verwende StrToInt. Sind es Gleitkommazahlen, dann StrToFloat bzw. StrToFloatF.

brechi 31. Mai 2009 23:44

Re: Schnelle Hilfe benötigt: String zu Real-Zahlen?!
 
Also du musst den Inhalt des Edits auslesen (Edit1.Text) und dann mit einer For-Schleife durchgehen (for i 1..Length(text)) und dann jeden Buchstaben (text[i]) in eine Zahl (StrToInt) umwandeln und auf eine Integer-Variable aufaddieren, die du vorher mit 0 initialisieren musst.
Diese kannst du im Anschluss mit IntToStr wieder ausgeben.

Buchstaben in Zahlen ist ein wenig komplexer: ich würds in kleinbuchstaben umwandeln (lowercase) und dann in zahlen (Ord(text[i])-ord('a')+1)

quendolineDD 31. Mai 2009 23:48

Re: Schnelle Hilfe benötigt: String zu Real-Zahlen?!
 
Wenn er in EIN Edit-Fenster alles eingibt und dann in einer Schleife jeden einzelnen Char in ein Integer umwandeln will brauch es nicht lange bis es knallt.
Dafür sollte er TryStrToInt nehmen.
Da wir hier aber keine Hausaufgaben machen, sondern nur Hilfestellung geben liegt es am TE seine Frage zu präzisieren.

Sharky 1. Jun 2009 05:51

Re: Schnelle Hilfe benötigt: String zu Real-Zahlen?!
 
Hai compl.exe,

erst einmal: Herzlich Willkommen in der Delphi-PRAXiS :hello:

Als erstes bitte ich Dich das "Schnelle Hilfe benötigt" aus dem Titel deines eingangs Postings zu nehmen. So ziemlich jeder möchte gerne eine schnelle hilfe ;-) Dafür klickst du einfach in deinem ersten Posting in diesem Thread auf den EDIT-Button (oben rechts) und änderst das.

Zu Deinem Problem:

Wenn die Zahlen zum Beispiel so in dem TEdit stehen:

3 25 7 5 89

musst Du die einzelnen zeichen die eine zusammenhängene Zahl ergeben aus dem String "extrahieren". Eine zusammenhängende Zahl besteht ja immer aus so vielen Zeichen bis ein Trennzeichen kommt. Also:

3Trennzeichen25Trennzeichen7Trennzeichen5Trennzeichen89

Jetzt kannst Du ja mal im Forum danach suchen wie Du einen String mit Trennzeichen in seine Einzelteile zerlegen kannst. Wie die dadurch enstandenen Zeichenfolgen in eine Zahl konvertiert werden wurde ja schon erwähnt.

himitsu 1. Jun 2009 09:05

Re: Schnelle Hilfe benötigt: String zu Real-Zahlen?!
 
Zitat:

Zitat von Sharky
Jetzt kannst Du ja mal im Forum danach suchen wie Du einen String mit Trennzeichen in seine Einzelteile zerlegen kannst. Wie die dadurch enstandenen Zeichenfolgen in eine Zahl konvertiert werden wurde ja schon erwähnt.

Tipp: such mal nach den fetten Wörtern in der CodeLib :angel2:

compl.exe 1. Jun 2009 11:47

Re: String zu Real-Zahlen?!
 
In der CodeLib findet er nichts unter "String zerlegen" ... =(

Danke auf jeden Fall schonmal für alle eure Antworten!
Aber leider verstehe ich bei einigem nur Bahnhof... Schmipft mich ruhig einen Volldeppen, aber unser Lehrer hat uns das alles nie gescheit erklärt, deswegen komm ich auch absolut nicht weiter... :pale: :oops:
Es wäre toll, wenn sich jemand dazu bereit erklären könnte/würde mit mir ein bisschen privat zu schreiben (per icq oder msn).

Ansonsten muss ich halt irgendeine andere Möglichkeit finden, dem ein Programm vorzulegen.

himitsu 1. Jun 2009 12:30

Re: String zu Real-Zahlen?!
 
stimmt :shock: ... sehr eigenartig ... vorhin fand er es noch (hatte es extra getestet)

dafür findet er noch ExplodeExplode und falls doch nicht
http://www.delphipraxis.net/internal...ect.php?t=3816

compl.exe 1. Jun 2009 12:49

Re: String zu Real-Zahlen?!
 
Vielen Dank nochmal an alle, die sich um mich hier gekümmert haben, aber ich habe mich jetzt aus Zeitmangel für eine Alternative entschieden.

Soll ich den Thread einfach löschen oder lassen, für andere, denen er vielleicht später mal weiterhilft?

oldmax 2. Jun 2009 11:59

Re: String zu Real-Zahlen?!
 
Hi
Auch wenn du schon eine andere Lösung hast, möchte ich meinen Vorschlag abgeben. Eingabefelder sollten "nur" die Zeichen zulasen, die auch benötigt werden, bzw. die gültig sind. Bei einer Realzahl sind dies die Ziffern und ein Komma oder Punkt. Mit der Ereignisroutine OnKeyDown läßt sich das eingegebene Zeichen prüfenund evtl. verwerfen. Dann ist auch die Umwandlung zur Zahl kein Problem. Na ja, es sei denn, es wird kopiert, aber da gibt es die Ereignisbehandlung onChange...
Gruß oldmax


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