![]() |
EditKomponenten für die Praxis
Liste der Anhänge anzeigen (Anzahl: 2)
@Alle Freunde der DB !
Dieser Thread ![]() 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
Delphi-Quellcode:
ist die property Value, die dem Datentyp entspricht.
TEditString, TEditInteger, TEditFloat, TEditCurr, TEditProz und TEditDate
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:
Die Komponenten sind mit BDS2006 und D7 getestet, das Package ist mit D7 kompiliert.
{ 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. } Für weitere Anregungen und evtl. Fehlermeldungen bitte eine PN schicken. Freundlich Grüsse vom 'Ferber' :coder: Edit: LabelPosition korrigiert. Drüberkopieren und Package neu kompilieren. |
Re: EditKomponenten für die Praxis
Hallo,
ich habe mit Freude die Editkomponenten gesehen, da ich so was ähnliches vor Jahren selbst erstellen wollte, aber nicht dazu kam. Leider ist meine Freude nicht 100%ig, ich arbeite derzeit noch mit Delphi 5 Enterprise, dort läuft das Package naturgemäß nicht. Ich kenne nicht die Unterschiede zu Delphi 7 im Detail. Kann mir wer helfen ? Am schönsten wäre eine funktionsfertige Unit für Delphi 5. Vielen Dank Helmut |
Re: EditKomponenten für die Praxis
Erstell Dir doch unter Delphi 5 dein eigenes Package und knall alle .pas Dateien aus dem Archiv rein. Das sollte eigentlich nicht zu Problemen führen.
|
Re: EditKomponenten für die Praxis
Geht leider nicht
Delphi 5 meldet TLabeledEdit unbekannt |
Re: EditKomponenten für die Praxis
Das ist blöd, denn das ist die Basisklasse. Die scheint dann wohl in Delphi 5 noch nicht drin zu sein.
|
Re: EditKomponenten für die Praxis
Liste der Anhänge anzeigen (Anzahl: 1)
Habe sowas unter D5Pro gemacht für Integer, Float und Datum. Ist vielleicht nicht perfekt, aber für mich bisher immer sehr nützlich gewesen. Siehe Anhang.
Features alle: - FocusedColor - Alignment - EnterAsTab - RestoreOnEscape IntegerEdit: - Min Max -Führende Nullen Float: - Min Max - Frei wählbare Dimension, Nachkommastellen - Eingebauter Rechner für einfache aufgaben ( +, -, *, : ) beherrscht Punkt vor Strichrechnung Datum: - DateFormat - NullString - automatische Datumsergänzung (akt. Monat/Jahr) - Tage/wochenweise Blättern - VerboseMode: z.B. 'M' für Morgen bzw. Montag, 'G'=Gestern, usw. Kann sein das noch ein paar Fehler drinstecken. Wenn ich welche finde, mach ich sie platt! :-D |
Re: EditKomponenten für die Praxis
Danke für alle Bemühungen.
Version für Delphi 7 läuft auch unter Delphi 6. |
Re: EditKomponenten für die Praxis
Hallo,
zuerst einmal vielen Dank an Ferber für die Zurverfügungstellung der Komponenten. Nun ist bei mir allerdings folgendes Problem aufgetreten: Wenn ich die Eigenschaften LabelPosition von TEditCurr auf "Above" setze oder die Caption (der Unterklasse EditLabel) lösche, so wird dies im Entwurfsmodus einwandfrei übernommen, sobald mein Programm aber ausgeführt wird, wird die LabelPosition wieder auf den ursprünglichen Wert "Left" und die Caption auf den urspr. Namen zurückgesetzt. Hat jemand evtl ähnliche Probleme festgestellt oder mache ich etwas falsch? Ich habe z.Zt.die Version vom 22.2.06. Vielen Dank schon einmal und Gruß, Thimo Echtermann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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