AGB  ·  Datenschutz  ·  Impressum  







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

TEdit: "Text ergänzen"

Ein Thema von Mattze · begonnen am 6. Nov 2009 · letzter Beitrag vom 7. Nov 2009
Antwort Antwort
Seite 1 von 2  1 2      
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 17:43
Hi,

ist ein komischer Titel, aber ich weiß nicht, wie ich das Problem kurz machen soll.

Ich leite mir eine Komponente von TSpinedit ab, die ja wieder von TCustomEdit kommt.
Wenn ich den Text nun direkt im Programm setze, muss ich noch eine boolsche Variable setzen,
die mir sagt, was da drin steht.
Wie komme ich an das "Textsetzen" ran. Es wir (in TWinControl?) mit Settextbuf gemacht. Da steht "nur"
sendmessage drin.
Muss ich das nun überschreiben - und funktioniert das?
Oder muss ich weiterhin darauf achten, dass ich eben beim Textsetzen gleich zwei Sachen mache, den Text und die Variable?
Was ist günstiger?

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 18:51
Dein Beitrag liefert viele Infos drumrum, aber das Problem hast du nicht genannt.
Was genau soll deine neue Komponente tun?
Marvin
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 18:54
Zitat:
Wenn ich den Text nun direkt im Programm setze, muss ich noch eine boolsche Variable setzen,
die mir sagt, was da drin steht.
Allein dieser Satz übersteigt bereits meinen Intellekt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#4

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 19:01
Hi,

ich glaube zwar nicht, dass das wesentlich ist, aber wenn Du's wissen willst:
Das ist (funktioniert schon) eine Spinedit-Ableger, der auch Hexen annimmt.
Man kann also den Text '12345' oder eben '$abcdef' eingeben und entsprechend der Eingabe wird der Text behandelt.
(Als Value wird allerdings "nur" die Dezimalform geliefert.)
Um das ordentlich behandeln zu können, muss ich der Komponente sagen, was da im Text steht.
Wenn ich dem Text nun etwas im Programm zuweise, muss ich ihm das auch sagen.
Dieses Sagen ist das Setzen einer boolschen Variable FHex. Und das würde ich gerne automatisch beim Setzen des Textes machen. Zurzeit muss ich das neben dem Text auch noch explizit setzen machen!

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 19:03
Wie willst Du das denn unterscheiden? Wenn ich 32 eingebe, kann das sowohl 32 als auch 50 bedeuten.

[edit] Das "auch" vergessen [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#6

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 19:42
Hi,

hast Du Dir mal die "möglichen Texteingaben" angesehen?
Wie unterscheided Delphi, ob es ein Text oder eine Hexazahl ist.
Jaaa, mit dem vorangestellten $.
Damit dürfte es dann eindeutig sein, ob da 32 oder $32 (= 50) gemeint ist.

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 19:44
Dann brauchst Du doch auch keine Bool'sche Variable, da Du beim Parsen unterscheiden kannst, wie die Eingabe zu interpretieren ist
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#8

Re: TEdit: "Text ergänzen"

  Alt 6. Nov 2009, 20:03
Hi,

ganz so einfach ist das leider nicht.
Bsp: in Downclick (und Upclick) wird Value decrementiert (incrementiert).
Durch die Zuweisung zu Value wird aber der Text bereits verändert (SetValue) und zwar als Dezimalzahl (inttostr).
Ich muss also VORHER wissen, wie ich Text zu gestalten habe.

Dein Hinweis ist aber trotzdem gut. Vielleicht reicht es tatsächlich aus, dass in SetValue vorher abzufragen.
Mal schauen...

Gruß
Mattze

Jetzt bin ich etwas durcheinander gekommen. Wäre ja das gleiche in grün! Setvalue ist ja im Vorfahr TSpindit definiert.
Kann man so eine "Eigenschaftsprozedur" eigentlich überschreiben?
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#9

Re: TEdit: "Text ergänzen"

  Alt 7. Nov 2009, 10:07
Wenn sie virtuell oder dynamisch ist ja, sonst nein.
Marvin
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#10

Re: TEdit: "Text ergänzen"

  Alt 7. Nov 2009, 13:27
Hallo,

vielen Dank für Eure Tipps. Wirklich!
Dadurch bin ich auf den Gedanken gekommen, "einfach" die Eigenschaft Value aus TSpinedit neu zu definieren mit den "Eigenschaftsprozeduren", wie ich sie brauche. Scheint zu funktionieren!!!
(Dadurch spare ich mir die Abfragen nach dem Typ ('$' an erster Stelle von Text oder nicht?) in den Prozeduren. Das macht SetValue gleich richtig.)

Mal sehen, ob das wirklich OK ist. Ich mag's kaum glauben, weil das so einfach aussieht!

Gruß
Mattze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:39 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