Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi variable für textboxen ? (https://www.delphipraxis.net/84099-variable-fuer-textboxen.html)

agm65 11. Jan 2007 10:42


variable für textboxen ?
 
guten morgen dpler, habe mal ne frage..
ich suche nach einer möglichkeit textboxen auf inhalt = '' zu prüfen...
das sind aber sehr viele und ich möchte jetzt die textbox als variable darstellen.


jetzt hab ich eine stringliste mit den textbox namen angelegt aber wenn ich jetzt die strings prüfe sind das ja nicht die textboxen sondern die strings in der liste.

Delphi-Quellcode:
for I := 0 to sltextbox.Count  - 1 do
begin
if sltextbox.Strings[i] = '' then showmessage('test');
end;
kann man das irgendwie machen ?

Antigo 11. Jan 2007 10:45

Re: variable für textboxen ?
 
FindComponent ist das Stichwort. Die Suche sollte dich da weiterbingen.

Generell könntest du aber auch überlegen, die Textboxen dynamisch zu erstellen und in einem array zu speichern. Dann kannst du bequem über textbox[i] darauf zugreifen.

agm65 11. Jan 2007 10:55

Re: variable für textboxen ?
 
kannst du mir sagen wie ich ein solches array anlege ? ich drücke mich immer um arrays rum ...aber jetzt muss ich da druch ;)

uwewo 11. Jan 2007 10:59

Re: variable für textboxen ?
 
Du musst kein Array erstellen scuhe mal nach FindComponent wie Antigo gescrieben hat.

Uwe

agm65 11. Jan 2007 11:05

Re: variable für textboxen ?
 
alles klar....eine frage dazu:

Delphi-Quellcode:
for I := 0 to sltextbox.Count - 1 do
begin
if FindComponent(sltextbox.Strings[i]) = '' then showmessage('test');
end;
mein string sieht dann zB so aus: 'txttext.text'

aber ich bekomme ein string -> tcomponent fehler ?

freak4fun 11. Jan 2007 11:21

Re: variable für textboxen ?
 
Delphi-Quellcode:
for I := 0 to sltextbox.Count - 1 do
begin
if (FindComponent(sltextbox.Strings[i]) as TTextBox).Text = '' then
  showmessage('test');
end;
MfG
freak

agm65 11. Jan 2007 11:28

Re: variable für textboxen ?
 
vielen dank, das läuft ja 1a !! DANKE EUCH ! wieder was dazu gelernt

Antigo 11. Jan 2007 11:28

Re: variable für textboxen ?
 
.
jo genauso wirds gemacht. FindComponent(sltextbox.Strings[i]) findet dir wie der Name sagt, die Komponente mit dem angegebenen Namen. Mit der alleine kannst du aber noch nicht viel anfangem. das (FindComponent(sltextbox.Strings[i]) as TTextBox) legt fest wie die Komponente behandelt werden soll, eben a(l)s TTextBox, und die hat eine Eigenschaft text, auf die du dann zugreifen kannst.

(nur zum verständnis ;) )

agm65 11. Jan 2007 11:30

Re: variable für textboxen ?
 
ich hab das als tedit

freak4fun 11. Jan 2007 11:40

Re: variable für textboxen ?
 
Zitat:

Zitat von agm65
ich hab das als tedit

Wusste den Typ nicht genau. ;)

Das Verfahren nennt sich übrigens TypeCast. Dabei musst du beachten, dass wenn du die Komponente änderst, zB durch ein TMemo ersetzt und diese hat die Eigenschaft Text nicht, dann funktioniert das nicht. Von daher sollte man vorher immer erst den Typ überprüfen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Sender is TButton) then
    ShowMessage((Sender as TButton).Caption);
end;
MfG
freak

agm65 11. Jan 2007 12:09

Re: variable für textboxen ?
 
danke dir


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