Hallo Leute,
wieder einmal stehe ich vor einem Problem, und zwar ist es diesmal die Erstellung neuer Komponenten.
Um in diesem Bereich ein wenig zu üben, wollte ich ein Editfeld erstellen, das nur Zahlen als Eingabe annimmt. Also habe ich mich an
dieses Tutorial gehalten und mein Glück versucht.
Folgender Code steht nun in der .pas-Datei:
Delphi-Quellcode:
unit Zahlenedit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TZahlenedit =
class(TEdit)
private
{ Private-Deklarationen }
procedure KeyPress(Sender: TObject;
var Key: Char);
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Beispiele', [TZahlenedit]);
end;
procedure TZahlenedit.KeyPress(Sender: TObject;
var Key: Char);
begin
if not (key
in [#8, #9, #44, #48 .. #57])
then key:=#0;
end;
end.
Im Register "Beispiele" ist die Komponente drin, aber annehmen tut sie nach wie vor alle Zeichen. Was mach ich denn nun falsch?
MfG
davar