AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TEdit Text "überschreiben"

Ein Thema von LoL · begonnen am 21. Jun 2005 · letzter Beitrag vom 22. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
Robert_G
(Gast)

n/a Beiträge
 
#11

Re: TEdit Text "überschreiben"

  Alt 21. Jun 2005, 20:47
wie ich bereits schrieb: Du bräuchtest nur Change überschreiben.

Ein abstrakter Bleistift würde so aussehen:
Delphi-Quellcode:
uses
   StdCtrls;

type
   TCelsiusEdit = class(TEdit)
   protected
      procedure Change; override;
   end;

implementation

uses
   StrUtils,
   SysUtils;

{ TCelsiusEdit }

procedure TCelsiusEdit.Change;
var
   TrimmedText :string;
   Dummy :double;
   IsNumeric, EndsWithCelcius :Boolean;
begin
   TrimmedText := Trim(Text);
   IsNumeric := TryStrToFloat(TrimmedText,Dummy);
   EndsWithCelcius := (RightStr(TrimmedText, 2) = '°C');

   if IsNumeric and not EndsWithCelcius then
      inherited Text := TrimmedText + ' °C'
   else
     inherited;

end;
Der Code ist /nicht/ gedacht um direkt übernommen zu werden! Nur um dir das Prinzip zu zeigen.
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#12

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 09:15
Ich will doch aber nicht den Text verändern den der Benutzer eingegeben hat. Ich will lediglich den text verändern den man von dem Edit mit "Text" liest. Ist das überhaupt möglich?

Besipiel:
Im Edit steht "32" (°Fahrenheit). Nun will ich wenn ich den Text davon lese nicht "32" lesen sondern "0" ((32-32)/1.8). Im Edit soll aber weiterhin 32 drin stehen.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#13

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 09:31
Achso...
Dann füge doch einfach eine Property á la FormattedText o.ä. hinzu.
Change könntest du immer noch überschreiben, um zum Beispiel eine Exception auszulösen wenn etwas nicht numerisches drinsteht...
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#14

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 09:38
Genau das ist ja das was ich vermeiden wollte. Ich will weiterhin von der Eigenschaft Text lesen! Das zwar, wie im Beispiel, eine zahl drin steht aber beim lesen der Zahl eine andere zurückgegeben wird. Deshalb wollte ich das Read-Dingens von der TExt Property überschreiben. Hat aber irgendwie nicht so ganz geklappt. s.o.^^

Also wäre halt mein Vorschlag gewesen bei der Text-Property zwar Read zu überschreiben, aber Write so zu belassen. Hat aber wie gesagt nicht ganz so mit dem inherited funktioniert wie ich wollte .
Weis jemand dazu Rat?
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#15

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 10:00
Hi LoL

einfach folgendermassen:

Delphi-Quellcode:
Var
  GradCelsius:Integer;

...

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  Try
    GradCelsius:=StrToInt(Edit1.Text)-32;
  except
    GradCelsius:=0;
  end;
end;
Der Edit1.Text bleibt so wie er ist.

mfg

BrunoT
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#16

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 10:05
SCH*** kann mich mal jemand schlagen ?
ich hab ja nicht daran gedacht das Text->Inhalt in der Komponente in der nicht Richtung verbunden sind, sondern nur Inhalt->Text.
Sow einfach kanns sein

Vielen Vielen dank
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#17

Re: TEdit Text "überschreiben"

  Alt 22. Jun 2005, 10:24
Zitat von LoL:
Genau das ist ja das was ich vermeiden wollte. Ich will weiterhin von der Eigenschaft Text lesen!
Wie ich oben bereits schrieb. Das kannst du nicht!
Weder Setter noch Setter sind virtual, virtual properties hat Delphi nicht und selbst wenn es das hätte hätten die Borländer es einfach "vergessen" so zu deklararieren.
Die Eigenschaft Text ist für dich in keinster Weise veränderbar, da keiner ihrer accessor virtuell ist.
Es geht halt nur indem du in einer Read property auf Text zugreifst und hinten was anhängst...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:15 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