Delphi-PRAXiS
Seite 1 von 2  1 2   

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

WhatATime 23. Jul 2020 17:17

TEdit nicht richtig ausgelesen, String bleibt leer
 
Hallo zusammen,
woran könnte es denn liegen, dass der ausgelesene String eines TEdit Feldes leer bleibt, obwohl das Feld gefüllt ist?
Code:
var
  aIntValue: Integer;
begin
  aIntValue := StrToInt(Edit_IntValue.Text);
end;
Ich komm einfach nicht darauf, das ist doch die alltäglichste Abfrage eines TEdit Feldes, sonst funktioniert es ja auch.

Vielen Dank für eure Hilfe!

himitsu 23. Jul 2020 17:39

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Genau so.
Oder auf Neudelphianisch
Delphi-Quellcode:
aIntValue := Edit_IntValue.Text.ToInteger;
, aber das ist egal.

Bist du sicher dass die Ausgabe leer ist?
Wo steht der Code?
Richtiges Edit, richtige Form, richtige Variablen?
Wirklich ein TEdit? (oder sowas wie von DevExpress)
VCL oder FMX?
...

Delphi.Narium 23. Jul 2020 18:07

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Wenn man einen Leerstring per StrToInt in eine Zahl verwandelt, sollte das scheitern. Sprich: Man bekommt eine Exception aber bestimmt keinen leeren Integer.

Da stimmt irgend was anderes nicht.

hoika 23. Jul 2020 18:27

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Hallo,
Was genau enthält denn Edit_IntValue.Text?

Medium 23. Jul 2020 22:59

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Gibt es eventuell einfach nur ein anderes Edit, das fast genau gleich heißt, und du hast einfach nur das falsche im Code benutzt?

WhatATime 24. Jul 2020 08:36

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Hallo, danke für eure Antworten!

Zitat:

Zitat von Medium (Beitrag 1470247)
Gibt es eventuell einfach nur ein anderes Edit, das fast genau gleich heißt, und du hast einfach nur das falsche im Code benutzt?

Es gibt viele andere TEdits, aber ich bin mit der Namensgebung relativ eindeutig, gibt kein anderes Edit das ähnlich heißt.

Zitat:

Zitat von hoika (Beitrag 1470228)
Hallo,
Was genau enthält denn Edit_IntValue.Text?

Edit_IntValue.Text enthält den String "1900". Wenn ich die Anwendung starte, wird in diesem Edit "1900" brav angezeigt.

Zitat:

Zitat von Delphi.Narium (Beitrag 1470225)
Wenn man einen Leerstring per StrToInt in eine Zahl verwandelt, sollte das scheitern. Sprich: Man bekommt eine Exception aber bestimmt keinen leeren Integer.

Da stimmt irgend was anderes nicht.

Das stimmt, und es scheitert auch jedes mal wenn ich die Funktion aufrufe. Darum bin ich auch erst in den Debugger und habe das Problem gefunden.

Zitat:

Zitat von himitsu (Beitrag 1470221)
Genau so.
Oder auf Neudelphianisch
Delphi-Quellcode:
aIntValue := Edit_IntValue.Text.ToInteger;
, aber das ist egal.

Bist du sicher dass die Ausgabe leer ist?
Wo steht der Code?
Richtiges Edit, richtige Form, richtige Variablen?
Wirklich ein TEdit? (oder sowas wie von DevExpress)
VCL oder FMX?
...

Der Debugger sagt mir die Ausgabe ist leer, sprich der String ist "". Richtiges Edit ja (zig mal überprüft da ich dachte das wäre die offensichtlichste Fehlerquelle), Edit und Code sind direkt in meinem Hauptformular. Ist auch wirklich ein TEdit, hab gerade nochmal nachgeschaut. Benutze FMX. Alle anderen TEdits funktionieren, gleiches Formular, gleicher Code.

Bleibe ratlos :shock:

Ich werde das Edit Feld einfach mal löschen und ein neues Einfügen und schau dann ob es funktioniert.

himitsu 24. Jul 2020 09:03

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Nja, bei uns im Programm war ein Label mal doppelt. (ich hab auch erstmal doof geguckt, als ich dem einen anderen Text zuweisen wollte)
Es war ausversehn verrutscht, außerhalb des Sichtbereichs, das bemerkte zwar jemand (das es fehlt) und macht ein Neues. (er wunderte sich auch nicht, dass er eigentliche Name schon belegt war)

Oder, hier im Forum hatte wer das Formular dynamisch erzeugt,
ausversehn doppelt, wobei die erste Instanz automatisch sichtbar wurde aber die Zweite nicht, welche aber natürlich dennoch in der bösen globalen Variable verlinkt wurde.
Da konnte er natürlich nach Herzenzlust via Code Werte auslesen und ändern, aber sehen tat man das nicht. :lol:

Moombas 24. Jul 2020 09:04

AW: TEdit nicht richtig ausgelesen, String bleibt leer
 
Warum 2 Themen zum gleichen Thema!?

Bitte prüfe mal den Inhalt des Edit-Feldes. Dafür gibt es mehrere Wege.
Quick and Dirty:
Delphi-Quellcode:
var
  aIntValue: Integer;
begin
  showmessage(Edit_IntValue.Text); //Wenn das funktioniert, liegt es am Inhalt und nicht am Auslesen an sich
  try
    aIntValue := strtoint(Edit_IntValue.Text);
  except
    on Exception : EConvertError do
      ShowMessage(Exception.Message); //Fehlermeldung zeigen.
  end;
end;

mmw 24. Jul 2020 16:25

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

vielleicht funktioniert es so -

Delphi-Quellcode:
var
  aIntValue:integer;

begin

  // aIntValue := strtoint(Edit_IntValue.Text); // << -- tritt Fehler auf(bei mir)

  aIntValue:= system.sysutils.strtoint(Edit_IntValue.Text); // << -- so funktionierts

 end;
Gruß

himitsu 24. Jul 2020 17:24

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

Zitat von mmw (Beitrag 1470315)
tritt Fehler auf(bei mir)

Dann solltest du dir mal bissl Sorgen machen und nachsehn, von wo das strtoint wirklich kommt. (scheint ja ein Anderes zu sein, als das aus der SysUtils)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf