Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Inhalt von Edit (https://www.delphipraxis.net/4018-inhalt-von-edit.html)

~Freeze~ 11. Apr 2003 10:20


Inhalt von Edit
 
HiHo

Ich hab mehrere Editfelder in denen Zahlen eingetragen werden. Wie kann ich jetzt am einfachsten überprüfen ob in jedem Feld was drinsteht?

Thx!

Darty 11. Apr 2003 10:30

Mit
Delphi-Quellcode:
If edit1.text <> '' then
  begin
  ...
  end
Kannst Du eine Anweisung ausführen lassen wenn im edit Feld etwas steht.

Falls Du aber gemeint hast alle auf einmal zu checken, kannst es ja in einer Schleife durchlaufen lassen.

X-Dragon 11. Apr 2003 10:43

und so könnte das mit einer Schleife aussehen:

Delphi-Quellcode:
var
  i : Integer;
begin
  for i := 1 to AnzahlDeinerEditFelder do
    if TEdit('Edit'+IntToStr(i)).Text = '' then
    begin
      TEdit('Edit'+IntToStr(i)).SetFocus;
      ShowMessage('Hier ist nix eingetragen!');
      break;
    end;
end;

Luckie 11. Apr 2003 10:46

Crash!!!

X-Dragon 11. Apr 2003 10:54

Zitat:

Zitat von Luckie
Crash!!!

:wiejetzt:

Die Edit-Felder müssen natürlich entsprechend bezeichnet sein und die Anzahl sollte man auch richtig einstellen können.

Luckie 11. Apr 2003 10:55

So geht's:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
begin
  for i := 1 to 3 {Anzahl Edits} do
  begin
    with TEdit(FindComponent('Edit'+IntToStr(i))) do
    begin
      if Text = '' then ShowMessage('Edit'+IntToStr(i)+' ist leer');
    end;
  end;
end;
Vorrausgesetz die Edits heißen Edit1, Edit2, Edit3.

Luckie 11. Apr 2003 10:58

Zitat:

Zitat von X-Dragon
Die Edit-Felder müssen natürlich entsprechend bezeichnet sein und die Anzahl sollte man auch richtig einstellen können.

Glaub mir, ich habe deinen Code mit drei Editfelder 1 bis 3 ausprobiert und natürlich die Anzahl angepaßt.
Hier
Delphi-Quellcode:
if TEdit('Edit'+IntToStr(i)).Text = '' then
kommt der Crash. Überpüfe es selber wenn du willst. Kompilieren geht aber ausführen nicht.

X-Dragon 11. Apr 2003 11:23

Zitat:

Zitat von Luckie
Zitat:

Zitat von X-Dragon
Die Edit-Felder müssen natürlich entsprechend bezeichnet sein und die Anzahl sollte man auch richtig einstellen können.

Glaub mir, ich habe deinen Code mit drei Editfelder 1 bis 3 ausprobiert und natürlich die Anzahl angepaßt.
Hier
Delphi-Quellcode:
if TEdit('Edit'+IntToStr(i)).Text = '' then
kommt der Crash. Überpüfe es selber wenn du willst. Kompilieren geht aber ausführen nicht.

Ups :) Ich dachte wirklich das würde gehen, seltsam ... . In meinen Programmen, da hab ich gerade extra nochmal nachgeschaut, war es bisher immer sinnvoller die Edit-Felder anders abzufragen, deshalb hab ich es bisher so noch nicht genutzt ...

Also entweder hab ich die Abfrage über FindComponent gemacht bzw z.B. so:

Delphi-Quellcode:
  for i := 0 to ComponentCount -1 do
    if Components[i] is TEdit then
      if TEdit(Components[i]).Tag > 100 then
        ed.Text := '0';


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