![]() |
Moin Hansa,
irgenwie hab' ich den Eindruck, dass die hier meist schnellen Antworten auf Fragen/Beiträge verwöhnen :mrgreen: Zu Deinen Fragen:
Wenn die Meldung: Zitat:
Deshalb sollte man auch seinen Komponenten immer einen Prefix verpassen um die Wahrscheinlichkeit von Kollisionen zu verringern. Dazu gab's bei Borland sogar mal die Möglichkeit "seinen" Prefix registrieren zu lassen. (Beispiel RxLib: Hier fangen die Kompos immer mit Trx an) Zitat:
Eine Komponente zu schreiben und zu testen kann teurer sein, als eine entsprechende fertige zu kaufen. Vielleicht ändert sich ja durch Diesen und ähnliche Threads etwas, und es fangen doch ein paar mehr mit der Eigenentwicklung an, nachdem die Hemmschwelle erst einmal überwunden ist. ;-) |
Hi, Christian, willkommen im Club. :mrgreen:
Zitat:
Zitat:
Zitat:
Und nun noch zu meinen 99%: vielleicht ist das zu viel, aber ich mache mal folgende Rechnung auf : 1. fast 1200 registrierte Benutzer 2. Zahl der Gäste wesentlich höher (gerade im Moment das 10-fache) 3. Insgesamt 125 Aufrufe des Themas. 4. Antworten von 2 Benutzern. Das sind dann 1.6 Promille. Also das wären 99.84 %, die das alles nicht nutzen. Gehen wir mal von den Lesezugriffen aus : Falls jeder User das ganze nutzt und sich EINMAL durchliest, haben immer noch 90% kein Interesse. Rechnet man die Gäste hinzu landen wir wieder bei 99%. Traurig, traurig, aber mir egal. Das Thema ist wichtig, das weiß ich. |
Moin Hansa,
Zitat:
Füg' einen hinzu und initialisiere dort die Ausrichtung. Dafür ist der constructor auch da. |
wo soll ich denn den am besten einbauen ? Soll ich da Parameter benutzen ?
|
Moin Hansa,
ich hoffe mal Dich jetzt richtig verstanden zu haben: I.d.R. wird ein constructor unter public angelegt, und mit dem Namen Create versehen. So in der Art:
Delphi-Quellcode:
//...
published constructor Create(AOwner : TComponent); override; //... implementation constructor TDBRealEdit.Create(AOwner: TComponent); begin inherited; FAlignment := taRightJustify; end; //... |
sieht aus, als wärs das gewesen. Und nun das nächste:
Code:
Man beachte die Zeile :
procedure TRealEdit.KeyPress(var Key:Char);
var ZulZeichen : SET OF char; begin inherited KeyPress(Key); if OnlyReals then begin ZulZeichen := ['0'..'9',#8]; if pos (DecimalSeparator,text) = 0 THEN // kein . im RealEdit.text . zulassen ZulZeichen := ZulZeichen + [DecimalSeparator] else ZulZeichen := ZulZeichen - [DecimalSeparator]; // zweiten . verhindern if not (Key in ZulZeichen) then Key := #0 else begin if length (text) = 3 then text := text + '.'; end; end; end;
Code:
Testweise soll bei dem 3. Zeichen ein Tausenderpunkt kommen. So sollte es aussehen: 123.456 und das kommt dabei heraus : 456123. Der Punkt ist zwar gesetzt, aber die Eingabe beginnt danach vor der 1. Zuerst also 4123. dann 45123. usw. Sieht da jemand mehr als ich ?
text := text + '.'
|
@Christian Seehase
Warum muss schreibst du den Konstruktor in den Published Teil der Klasse? Wie du auch erwähnt hast schreibt man ihn immer in den Public Teil der Klasse, was ich auch immer mache. Worin besteht jetzt darin der Unterschied? |
Moin Hawk,
da hab' ich nicht aufgepasst. Der constructor sollte natürlich in den public Teil :oops: published ist ja auch eine Borland Spezialität für den OI. |
die Spezialität ist: protected. ähmmm
|
Ich habs bis jetzt noch nicht gebraucht, aber jetzt ist der Moment gekommen. Und es ist sehr gut. Wenn jetzt noch jemand ein SpinEdit so umbastelt, dass es damit arbeitet, dann ist demjenigen mein Dank sicher!!!
:firejump: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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