AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Text-Property von abgeleiteter Komponente überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Text-Property von abgeleiteter Komponente überschreiben

Ein Thema von Helmi · begonnen am 24. Nov 2019 · letzter Beitrag vom 26. Nov 2019
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#1

Text-Property von abgeleiteter Komponente überschreiben

  Alt 24. Nov 2019, 20:01
Delphi-Version: XE2
Hallo,

ich hab eine von TCustomMaskEdit abgeleitete Komponente.

Nun möchte ich in der Komponente die Property Text überschreiben.

Wenn EditMask z. B. #,99 ist und ich nur eine 1 eingebe, dann lautet die Property Text "1," und die Property EditText "1,__".

Ich würde gerne die Text-Property modifizieren, so dass das Komma verschwindet.
Die Logik dazu hab ich schon.
Aber egal wie ich Text beschreibe, nach "aussen" hin wird immer das "Standardtext" verwendet.

Wie kann ich die Text-Property nach meinen Wünschen überschreiben
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Text-Property von abgeleiteter Komponente überschreiben

  Alt 24. Nov 2019, 21:34
Was willst du mit der EditMask "#,99" denn eigentlich erreichen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Text-Property von abgeleiteter Komponente überschreiben

  Alt 25. Nov 2019, 04:38
Was willst du mit der EditMask "#,99" denn eigentlich erreichen?
Die Eingabe Zahl, optional mit Nachkomma
(kann auch sein, dass die Angabe hier im Editor von EditMask jetzt falsch ist, habs aus dem Gedächtnis geschrieben)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Geronimo

Registriert seit: 19. Dez 2006
Ort: Hamburg
38 Beiträge
 
#4

AW: Text-Property von abgeleiteter Komponente überschreiben

  Alt 25. Nov 2019, 22:29
...
ich verstehe Helmi so, dass eine ganzzahlige Eingabe hinterher auch ohne Komma dastehen soll.
Das sollte m.E. mit getEditText und setEditText gehen.
Die Maske an sich ist ja eigentlich dafür da, ein bestimmtes Format der Eingabe zu erzwingen,
auch wenn es während der Eingabe mitunter unschön aussieht.

Gruß
Geronimo.
Die Welt ist rechteckig, linear und Gauss-verteilt!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Text-Property von abgeleiteter Komponente überschreiben

  Alt 26. Nov 2019, 13:41
Hallo,

das Problem ist nicht wie Logik selbst - die steht.

Nur möchte ich die Text-Property überschreiben.

Wenn ich eine z. B. 2 Vorkommastellen hab, aber keine Nachkommestellen, so gibt Text die Vorkommastellen + Komma aus.
EditText Vorkommmastellen + Komma + Unterstrich.

Ich möchte nun die Text-Property überschreiben.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
650 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Text-Property von abgeleiteter Komponente überschreiben

  Alt 26. Nov 2019, 14:25
Soweit ich das sehe kannst du das nicht überschreiben, da weder SetText noch GetText virtual sind.

Du könntest aber versuchen deine eigenen SetText und GetText in deiner Ableitung zu erstellen. Damit "versteckst" du die in der Basisklasse, aber Code wie TCustomMaksEdit(MeinEdit).Text würde nicht deine Version aufrufen sondern die der Basisklasse. MeinEdit.Text hingegen würde deine Version aufrufen.

Delphi-Quellcode:
TMeinEdit = class(TCustomMaskEdit)
private
  function GetText: TMaskedText;
  procedure SetText(const Value: TMaskedText);
public
  property Text: TMaskedText read GetText write SetText;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz