Einzelnen Beitrag anzeigen

Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#1

EditKomponenten für die Praxis

  Alt 22. Feb 2006, 12:53
@Alle Freunde der DB !

Dieser Thread komplexe Berechnungen von abhängigen Datenbankfeldern
hat mich dazu motiviert diesen Satz von Editkomponenten als Open Source zur Verfügung zu stellen.

@Jelly: Credits fürs Testen und die sachdienlichen Hinweise.

Wichtigste Eigenschaft von

TEditString, TEditInteger, TEditFloat, TEditCurr, TEditProz und TEditDate ist die property Value, die dem Datentyp entspricht.

Damit können die Komponenten quasi als Variable verwendet werden.

Das extrem mühsame und unübersichtliche herumschaufeln der Werte,
(aus Variablen in die Editfelder samt Umwandlung und Formatierung, wieder zurück in die Variablen samt Umwandlung)
entfällt, das erledigen die Komponenten.

Was die Editfelder können, zeigt die Kurzanleitung:

Delphi-Quellcode:
{ Unit MyEditPrim erweitert das etwas dümmliche TLabeledEdit um Eigenschaften und Ereignisse,
  die in der Praxis des Programmierens IMHO notwendig sind.

  TEditPrim ist Vorfahre für weitere, spezialisiertere EditKomponenten (siehe Unit MyEdit)

  Erweiterungen:

  property Alignment    Ausrichtung des Textes taLeftJustify, taCenter, taRightJustify

  property RedValues    Negative Werte werden automatisch rot dargestellt

  property ReturnIsTab  Eingabetaste ist wie Tabtaste

  property OnChange    Änderung des Verhaltens. Wird nur durch Enter, Tab oder Verlassen des
                        Edits ausgelöst, nicht mehr bei jeder Zeichneingabe,
                        und auch dann nur, falls der Wert geändert wurde.
                        Validierung der Eingabe ist hier möglich.

  property OnIniData    Wird aufgerufen um Variablen mit Value belegen zu können.

  property OnDrwData    Wird vor dem Zeichnen aufgerufen und erlaubt Änderungen von Farbe und Font

  Taste ESC            stellt den ursprünglichen Wert des Feldes wieder her.
}


{ Unit MyEdit leitet vom erweiterten TEditPrim, die spezialisierten Editfelder

  TEditString, TEditInteger, TEditFloat, TEditCurr, TEditProz und TEditDate ab.

  Basisverhalten siehe: Unit MyEditPrim.

  Jedes diese Editfelder hat die zusätzliche Eigenschaft 'Value',
  die dem DatenTyp entspricht.

  Nachkommastellen bei den entsprechend Datentypen sind einstellbar.
  Vorgabe bei Float und Currency: 2, bei Prozent: 0

  Zuweisungen zur Eigenschaft Value lösen das Ereignis OnChange NICHT aus.
  Zuweisungen zur Eigenschaft Text  lösen das Ereignis OnChange nach wie vor aus.

  Zusätzliche Eigenschaft NullValues - wie Excel Nullwerte anzeigen, Vorgabe false.

  Zusätzliches Ereignis OnInitData ermöglicht das initialisieren von Variablen.

  Validierung kann im Ereignis OnChange durchgeführt werden.

  TEditPrim wurde in separate Unit extrahiert, um die Übersichtlichkeit zu erhöhen.

  Die Erweiterung um weitere Datentypen ist in Unit MyEdit sehr einfach.
}
Die Komponenten sind mit BDS2006 und D7 getestet, das Package ist mit D7 kompiliert.

Für weitere Anregungen und evtl. Fehlermeldungen bitte eine PN schicken.

Freundlich Grüsse vom 'Ferber'

Edit: LabelPosition korrigiert. Drüberkopieren und Package neu kompilieren.
Angehängte Dateien
Dateityp: rar mycomponents_169.rar (65,3 KB, 76x aufgerufen)
Dateityp: pas myeditprim_605.pas (8,3 KB, 28x aufgerufen)
Otto
  Mit Zitat antworten Zitat