![]() |
editbox
Hallo liebe Community,
ich habe noch ein kleines Problem zu umschiffen. Ich habe 20 editFelder, nun kann man darin Zahlen von 1-15 eingeben. Delphi soll eine Meldung ausgeben, wenn in 7 dieser Boxen ein Wert kleiner als 5 steht. Wie geht sowas? |
Re: editbox
Mit FindComponent
|
Re: editbox
spontan würd ich das so lösen
Delphi-Quellcode:
var editfelder: array [1..20] of TEdit = (edit1, edit2, ...);
procedure deinevent; var i,zaehler:integer; begin zaehler:= 0; for i:=1 to 20 do begin if ( strtoint(editfelder[i].text) < 5 ) then zaehler:= zaehler +1; end; if zaehler >=7 then showmessage('bla'); end; |
Re: editbox
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt saubere und unsaubere Varianten. ;-)
Du könntest bei Änderungen einen Zähler aktualisieren, der das schon vorher mitzählt, du kannst aber auch einfach jedesmal in einer Schleife alle Edits durchgehen und zählen. Vielleicht gibt dir das angehängte Projekt einen Hinweis dazu, dort wird beim An- oder Abwählen von CheckBoxen geschaut, dass nur maximal 5 ausgewählt werden können. In deinem Fall müsstest du den Inhalt des Edits in OnChange prüfen, aber das prinzipielle Vorgehen ist gleich. |
Re: editbox
Ja damit habe ich schon mal gearbeitet.
Ich weiß aber net wirklich wie ich die Schleife aufbauen soll, so wie das craash vorschlägt wirds problematisch! |
Re: editbox
wieso denn? :| :stupid:
|
Re: editbox
Naja sowas geht ja garnicht:
Delphi-Quellcode:
Sollte ich mich irren sag es mir, aber so nimmt er es nicht an!
var editfelder: array [1..20] of TEdit = (edit1, edit2, ...);
|
Re: editbox
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer; begin for i:= 1 to 20 do if StrToInt(TEdit(FindComponent('Edit'+IntToStr(i))).Text) < 5 then inc(j); if j = 7 then ShowMessage('In '+IntToStr(j)+' Edits ist der Wert kleiner als vier'); end; |
Re: editbox
Dass es nicht läuft, wenn du das genau so in den Code hineinkopierst ist doch klar...
Sollte ja nur das Prinzip darlegen, dass du (bei diesem Lösungsweg) die Editfelder zuerst in ein Array zusammenfassen musst. |
Re: editbox
Ja aber wie funktioniert das? Denn bei mir ergebne sich auch nach dem Anpassen Probleme!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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