AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte EditKomponenten für die Praxis
Thema durchsuchen
Ansicht
Themen-Optionen

EditKomponenten für die Praxis

Ein Thema von Ferber · begonnen am 22. Feb 2006 · letzter Beitrag vom 3. Apr 2006
Antwort Antwort
Ferber
Registriert seit: 9. Mär 2005
@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)
 
Helmutf

 
Delphi 6 Enterprise
 
#2
  Alt 8. Mär 2006, 21:41
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
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

 
Delphi 2007 Professional
 
#3
  Alt 8. Mär 2006, 21:43
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.
Tom Peiffer
  Mit Zitat antworten Zitat
Helmutf

 
Delphi 6 Enterprise
 
#4
  Alt 8. Mär 2006, 22:06
Geht leider nicht
Delphi 5 meldet TLabeledEdit unbekannt
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

 
Delphi 2007 Professional
 
#5
  Alt 8. Mär 2006, 22:21
Das ist blöd, denn das ist die Basisklasse. Die scheint dann wohl in Delphi 5 noch nicht drin zu sein.
Tom Peiffer
  Mit Zitat antworten Zitat
webcss

 
Delphi XE2 Professional
 
#6
  Alt 8. Mär 2006, 22:29
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!

Angehängte Dateien
Dateityp: zip alignedit_132.zip (5,8 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Helmutf

 
Delphi 6 Enterprise
 
#7
  Alt 10. Mär 2006, 14:52
Danke für alle Bemühungen.

Version für Delphi 7 läuft auch unter Delphi 6.
  Mit Zitat antworten Zitat
Echtet

 
Delphi XE3 Professional
 
#8
  Alt 3. Apr 2006, 09:48
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
Thimo Echtermann
  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 00:46 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