![]() |
Edit1.Text Inhalt sperren ?
Hallo,
bis jetzt verwende ich den Inspector die Option Enabled. Aber mit dieser Option kann man den Inhalt nicht kopieren und der Feld wird deaktiviert. So möchte ich nicht sondern der Inhalt soll gesperrt werden d.h. kopieren ja, ändern nein so möchte ich den Feld von Edit1.Text haben. Wie kann ich sowas machen? Gruß |
Re: Edit1.Text Inhalt sperren ?
Einfach jede Änderung des Benutzers rückgängig machen.
|
Re: Edit1.Text Inhalt sperren ?
Delphi-Quellcode:
ReadOnly := True;
|
Re: Edit1.Text Inhalt sperren ?
Knapper gehts nimmer. :mrgreen: Ich habe eine Form da ist das so ähnlich. Diese Form hat eine private Variable AltFeldWert. Im Edit.OnEnter wird der gesetzt. Bei mir gehts drum zu sehen, ob überhaupt was geändert wurde. Falls ja : Aktion durchführen (im Edit.OnExit). Bei dir müsste man lediglich den im OnEnter gespeicherten Wert im OnExit zurücksetzen.
Delphi-Quellcode:
Es reicht ein gemeinsames OnEnter für die gewünschten Edits. Jedes einzelne müsste allerdings sein eigenes OnExit besitzen. Alternative (aber nicht nötig) : jedes Edit erhält eine eigene Variable um den alten Wert zu speichern.
Edit.Text := AltFeldWert;
|
Re: Edit1.Text Inhalt sperren ?
Zitat:
Danke! Mit ReadOnly:=true ist die beste Lösung :thumb: Gruß |
Re: Edit1.Text Inhalt sperren ?
Zitat:
warum braucht jedes Edit sein eigenes OnExit?
Delphi-Quellcode:
procedure OnExit(Sender: TObject);
begin (Sender as TEdit).Text := AltFeldWert; end; |
Re: Edit1.Text Inhalt sperren ?
Zitat:
|
Re: Edit1.Text Inhalt sperren ?
Hi
OnChange funktioniert besser aber am besten ReadOnly:= True :wink: Gruß |
Re: Edit1.Text Inhalt sperren ?
OnChance ? :shock: Wieso ist das besser ? Als was ? Das gilt jedenfalls mal nicht für ein DB-Programmm welches Änderungen durchführt. Bei ReadOnly sollte das OnChange sowieso nicht gehen. :mrgreen: Es wäre ein Unding die Datenbank mit jedem einzelnen geänderten Zeichen zu belästigen, obwohl das Feld letztendlich zum Schlusss nicht mal geändert wurde. Benutze du lieber die OnEnter/Onexit Methode, um das Edit-Feld notfalls einfach zurückzusetzen. Ich hingegen muss eben hingehen und nachgucken, ob eine Änderung an den Daten gemacht werden musss oder nicht. Deshalb wird der geänderte Wert auch benötigt, um eine Änderung durchzuführen. Also nicht irgendwas einfach rückgängig machen, sondern auch, um eine Änderung an der richtigen Stelle zu machen. Und genau deshalb reicht zwar ein OnEnter, aber nicht nur ein OnExit.
|
Re: Edit1.Text Inhalt sperren ?
Zitat:
der Feld wird automatisch bei Form1.OnCreate ausgefüllt werden (Windows Version) Vielleicht deswegen hat es bei mir nicht geklappt. Ich habe die Option ReadOnly:=true verwendet Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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 by Thomas Breitkreuz