Autor Beitrag
sunnyandy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: Di 06.11.07 09:52 
Hallo!

Ich habe ein Fenster mit einigen Textfelder und Comboboxen und möchte darüber benachrichtigt werden, wenn der Benutzer eine Eingabe macht oder etwas ändert. Um beim Schließen z.B. zu fragen, ob er Änderungen speichern möchte. Ich schätze mal, dass es überflüssig ist, jedes OnChange-Ereignis zu bearbeiten ;-)
Hilft mir da die Action-Komponente weiter? Habe damit nämlich nocht nichts gemacht...

Für Tipps oder Links wäre ich dankbar!
Gruß, Andy
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 06.11.07 10:08 
Wo liegt das Problem bei OnChange? Du kannst doch die ganzen Eingabefelder in der IDE markieren und allen den selben OnChange-Handler zuweisen. Und die eine Prozedur zu schreiben, ist ja wohl kein Problem.

Jedenfalls gibt es da noch die Eigenschaft Modified, diese gibt an, ob der Text geändert wurde, seit die Eigenschaft das letzte Mal auf False gesetzt wurde. Heißt: Du setzt die Eigenschaft auf False nach jedem Speichern und kannst dann später prüfen, ob sich seitdem was verändert hat. Bei Edits und Memos gibts die Eigenschaft, bei Comboboxen wirst du das AFAIK selber machen müssen.
sunnyandy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: Di 06.11.07 12:37 
Hallo,

achso ich dachte, dass man so etwas auf eine andere Art löst. OK dann werde ich das erstmal ausprobieren, melde mich nochmal, danke!
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Di 06.11.07 15:28 
Du könntest dir aber auch beim Starten des Programmes bzw. beim Laden des Textes diesen merken und beim Schließen vergleichen.
Text gleich? -> Nicht fragen. Text verändert? -> Speicherdialog!
Oder spricht etwas dagegen? :)

Edit: Nun habe ich jaenickes Antwort korrekt gelesen. Ist natürlich kein Vergleich zu meiner Lösung. :P

grüße,
Marc