AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String zu Real-Zahlen?!

Ein Thema von compl.exe · begonnen am 1. Jun 2009 · letzter Beitrag vom 2. Jun 2009
Antwort Antwort
compl.exe

Registriert seit: 1. Jun 2009
3 Beiträge
 
#1

String zu Real-Zahlen?!

  Alt 1. Jun 2009, 00:31
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?!

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!
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#2

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

  Alt 1. Jun 2009, 00:39
Falls die Eingabe lediglich aus Integerwerten besteht, dann verwende StrToInt. Sind es Gleitkommazahlen, dann StrToFloat bzw. StrToFloatF.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

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

  Alt 1. Jun 2009, 00:44
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)
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#4

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

  Alt 1. Jun 2009, 00:48
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.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

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

  Alt 1. Jun 2009, 06:51
Hai compl.exe,

erst einmal: Herzlich Willkommen in der Delphi-PRAXiS

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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 1. Jun 2009, 10:05
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
$2B or not $2B
  Mit Zitat antworten Zitat
compl.exe

Registriert seit: 1. Jun 2009
3 Beiträge
 
#7

Re: String zu Real-Zahlen?!

  Alt 1. Jun 2009, 12:47
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...
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: String zu Real-Zahlen?!

  Alt 1. Jun 2009, 13:30
stimmt ... 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
$2B or not $2B
  Mit Zitat antworten Zitat
compl.exe

Registriert seit: 1. Jun 2009
3 Beiträge
 
#9

Re: String zu Real-Zahlen?!

  Alt 1. Jun 2009, 13:49
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?
  Mit Zitat antworten Zitat
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#10

Re: String zu Real-Zahlen?!

  Alt 2. Jun 2009, 12:59
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
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:04 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