Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
|
(Sender as TLMDEdit) wie variabel gestalten
2. Feb 2007, 20:55
Hallo,
ich nutze folgende zusammen gestrickte Funtkion in meinen kleinen Tools. Nun habe ich manchmal aber
verschiedene Komponenten auf der Form welche alle aber . Text (mir fällt da grad nicht der richtige Fachausdruck ein) haben. Mein Ziel ist es die Funtkion für mehrere Komponententypen zu verwenden. Nur wie? Bzw. geht das überhaupt?
Delphi-Quellcode:
procedure TForm1.OnlyNumberKeyPresswK(Sender: TObject; var Key: Char);
var
Puffer1, Puffer2: String;
Komma: Boolean;
Senderle: ...........?
begin
Fehlermeldung := False;
Komma := False;
Puffer1 := Key;
Puffer2 := (Sender as TLMDEdit).Text; //geht das z.B. so: (Sender as Senderle).Text
if not (Puffer1[1] in [#8, '0'..'9', '.', ',']) then
begin
Puffer1 := #0;
Key := #0;
end;
if Puffer1 = '.' then
begin
Puffer1 := ',';
Key := ',';
end;
//Auf Komma prüfen
if Pos(',', Puffer2) > 0 then Komma := True;
//Punkteingabeposition prüfen
if Komma = True then
begin
if Puffer1 = ',' then Puffer1 := #0;
if (Sender as TLMDEdit).SelLength > 0 then
begin
if (Sender as TLMDEdit).SelStart > Pos(',', Puffer2) then
begin
Puffer1 := Key;
if Key = ',' then Puffer1 := #0;
end;
if (Sender as TLMDEdit).SelStart <= Pos(',', Puffer2) then
begin
Puffer1 := Key;
if (Sender as TLMDEdit).SelStart + (Sender as TLMDEdit).SelLength <= Pos(',', Puffer2) then
begin
if Key = ',' then Puffer1 := #0;
end;
end;
end;
if (Sender as TLMDEdit).SelLength = Length((Sender as TLMDEdit).Text) then Puffer1 := Key;
end;
Key := Puffer1[1];
end;
|
|
Zitat
|