![]() |
TEdit nicht richtig ausgelesen, String bleibt leer
Hallo zusammen,
bin gerade ratlos und meine Suche bringt mich auch nicht weiter. Ich möchte ganz einfach aus verschiedenen TEdit Feldern die Werte auslesen.
Code:
Der String, der aus Edit_Int gelesen werden soll, ist aber jedes mal leer,
procedure TForm1.GetEditValues;
var aDoubleValue1, aDoubleValue2: Double; aIntValue: Integer; begin // Stuff passiert hier... aDoubleValue1 := StrToFloat(Edit_Double_y.Text); // kein Problem aDoubleValue2 := StrToFloat(Edit_Double_x.Text); // kein Problem aIntValue := StrToInt(Edit_Int.Text); // Problem // Stuff passiert hier... end; weshalb bei der Umwandlung in einen Integer natürlich ein Fehler auftritt. Darum frage ich mich, warum der String denn leer sein sollte? Alle TEdits sind gefüllt. Ich komm einfach nicht darauf. Hat jemand eine Idee? Danke für eure Hilfe! |
AW: TEdit nicht richtig ausgelesen, String bleibt leer
Ist das, was im Edit steht denn auch wirklich ein String der einem Integer entspricht?
|
AW: TEdit nicht richtig ausgelesen, String bleibt leer
Generell ist es keine gute Idee, StrToInt oder StrToFloat ohne vorherige Prüfung des Inhaltes durchzuführen. Da kann man dann auch immer den aktuellen Inhalt des Text-Feldes ausgeben. Damit kann man dann auch z.B. Buchstaben eintragen, um zu sehen, ob man im richtigen Feld ist, die Prüfung also die Buchstaben ausgibt.
Selbst wenn man daran denkt, dass man bei KeyDown nur Zahlen und das Dezimalzeichen durchlässt, kann dann jemand per Copy&Paste wieder einen ungültigen Inhalt in das Feld schreiben (was man natürlich auch abfangen kann, aber eben nur als Beispiel, an was man ohne Prüfung alles denken muss). |
AW: TEdit nicht richtig ausgelesen, String bleibt leer
Da der abgebildete Code, abgesehen von der schon angesprochenen Absicherung, generell in Ordnung ist, kann der Fehler nur im Rest Deines Programmes liegen.
Zeig doch mal den gesamten Code. |
AW: TEdit nicht richtig ausgelesen, String bleibt leer
Zitat:
|
AW: TEdit nicht richtig ausgelesen, String bleibt leer
[Info] Es reicht bestimmt, wenn man das Problem zentral nur einem Thread lösen würde?
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 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