Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TEdit nicht richtig ausgelesen, String bleibt leer (https://www.delphipraxis.net/205015-tedit-nicht-richtig-ausgelesen-string-bleibt-leer.html)

WhatATime 23. Jul 2020 17:07

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:
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;
Der String, der aus Edit_Int gelesen werden soll, ist aber jedes mal leer,
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!

Moombas 24. Jul 2020 07:09

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Ist das, was im Edit steht denn auch wirklich ein String der einem Integer entspricht?

philipp.hofmann 24. Jul 2020 08:07

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).

stifflersmom 24. Jul 2020 08:23

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.

Moombas 24. Jul 2020 08:59

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Zitat:

Zitat von stifflersmom (Beitrag 1470257)
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.

Ich vermute eher falschen Inhalt.

himitsu 24. Jul 2020 09:05

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
[Info] Es reicht bestimmt, wenn man das Problem zentral nur einem Thread lösen würde?

https://www.delphipraxis.net/205016-...eibt-leer.html


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