Einzelnen Beitrag anzeigen

Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

(Sender as TLMDEdit) wie variabel gestalten

  Alt 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;
  Mit Zitat antworten Zitat