![]() |
Wert für alle Objekte gleichen Typs ändern?
Hallo,
ich habe auf einem Formular über 200 SpinEdits, die vom Benutzer gefüllt werden können (Mengeneingaben beim Bestellvorgang). Wenn das Formular bei einem neuen Bestellvorgang geöffnet wird, sind die Werte noch in den SpinEdits. Ich möchte, daß die Werte beim Öffnen des Formulars automatisch auf 0 zurückgesetzt werden. Theoretisch ginge das jeweils mit SpinEdit1.value:=0, was aber bei über 200 Feldern etwas mühsam wäre. Meine Frage: Gibt es einen Befehl, der mir beim Öffnen eines Formulars alle Objekte eines bestimmten Typs (in meinem Fall SpinEdit) zurücksetzt? Hier mein Denkansatz:
Delphi-Quellcode:
Gruß
with
TSpinEdit(FormBestellung.FindComponent(*alle SpinEdits*)) do begin value:=0; end; Gregor |
Re: Wert für alle Objekte gleichen Typs ändern?
moin,
folgendes sollte funktionieren:
Delphi-Quellcode:
For i:=0 to Form1.ComponentCount-1 do
If Form1.Components[i] is TSpinEdit then TSpinedit(Form1.Components[i]).value := 0; |
Re: Wert für alle Objekte gleichen Typs ändern?
entweder:
findcomponent component-eigenschaft der form mit is durchgehen per copy-paste eine reset routine schreiben |
Re: Wert für alle Objekte gleichen Typs ändern?
Hi !
Ich würde in einer Schleife alle Componenten durchlaufen und feststellen ob sie vom gewünschten Typ sind:
Code:
Anmerkung an alle Erbsenzähler : Code nicht getestet und soll nur ein Lösungsansatz sein
for i := 0 to Self.ComponentCount-1 do
begin if Self.Components[i] is TSpinEdit then begin with Self.Components[i] as TSpinEdit do begin Value := 0; end; end; end; |
Re: Wert für alle Objekte gleichen Typs ändern?
Delphi-Quellcode:
Greetz
for i := 1 to ComponentIndex do
begin if Components[i-1] is TSpinEdit then TSpinEdit(Components[i-1]).Value := 0; end; alcaeus [add]Mann war ich lahm[/add] |
Re: Wert für alle Objekte gleichen Typs ändern?
Hi !
Ich würde in einer Schleife alle Componenten durchlaufen und feststellen ob sie vom gewünschten Typ sind:
Code:
Anmerkung an alle Erbsenzähler : Code nicht getestet und soll nur ein Lösungsansatz sein
for i := 0 to Self.ComponentCount-1 do
begin if Self.Components[i] is TSpinEdit then begin with Self.Components[i] as TSpinEdit do begin Value := 0; end; end; end; |
Re: Wert für alle Objekte gleichen Typs ändern?
Auch wenn es nicht ins Themas passt: Ist das ein Bug im Forum, daß wenn man
die "Zurück"-Funktion des Browsers nach dem Schreiben einer Antwort nutzt, die Nachricht ein weiteres mal gespeichert wird ? |
Re: Wert für alle Objekte gleichen Typs ändern?
hallo tuxracer78,
alternativ könntest Du auch das Formular beim Beenden freigeben (Action := caFree im OnClose oder selber FreeAndNil nach dem ShowModal) und vor dem nächsten Anzeigen neu erzeugen. Dann sind die SpinEdit-Felder auch wieder auf Default (=0). Gruß Roderich |
Re: Wert für alle Objekte gleichen Typs ändern?
Zitat:
aber eigentlich sollte das posten des gleichen beitrags (warum auch immer) von dp geblockt werden |
Re: Wert für alle Objekte gleichen Typs ändern?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 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