Thema: Delphi Eingabe beschränken

Einzelnen Beitrag anzeigen

Benutzerbild von Armageddon
Armageddon

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

Ich hab mir auch mal was dazu gebastelt.

  Alt 8. Mai 2003, 17:39
Hallo bin blutiger Anfänger aber das mit den Kommas hat mich echt tierisch genervt. Wollte einfach das ich noch angeben kann wieviel Stellen ich noch nach dem Komma eingeben kann. Naja bin dann nach langem rumprobieren auf das hier gekommen:

Geht sicher auch noch einfacher aber wie gesagt blutiger Anfänger.
Delphi-Quellcode:
procedure TForm1.InnendurchmesserKeyPress(Sender: TObject; var Key: Char);
var
  Komma: Boolean;
  Position: Integer;
  Stellenpuffer: String;
  Zeichenpuffer: String;
  Stellenanzahl: Integer;
begin
  Komma := False;
  Zeichenpuffer := Innendurchmesser.Text;
  if Pos('.', Zeichenpuffer) > 0 then Komma := True;
  if (Komma = True) and (Key = #44) then Key := #0;
  if (Komma = True) and (Key = #46) then Key := #0;
  if (Komma = False) and (Key = #44) then Key := '.';
  if Pos('.', Zeichenpuffer) > 0 then
  begin
    Stellenanzahl := Length(Zeichenpuffer);
    Position := Pos('.', Zeichenpuffer);
    Stellenpuffer := Copy(Zeichenpuffer, Position+1, Stellenanzahl-Position);
    Stellenanzahl := Length(Stellenpuffer);
    if Stellenanzahl = 3 then
    begin
      if (Key in [#44, #46, #48..#57]) then Key := #0
    end;
  end;
  if Key = #13 then Key := #0;
  if not (Key in [#8, #44, #46, #48..#57]) then Key := #0;
end;
Jetzt muß ich mir nurn noch was basteln wo wenn ich das Edit Feld verlasse die Stellen hinter dem Komma mit Nullen aufgefüllt werden.
Also aus z.B. 3 wird 3.000 oder aus 12.37 wird 12.370

Ich finde das Forum hier echt super muß ich noch sagen. Respekt gibt keine übersichtlicheres als das hier. Man sieht das ihr Euch echt viel Arbeit damit macht und ich hoffe Ihr macht weiter so. Damit ich noch viel lernen kann

Gruß Markus
  Mit Zitat antworten Zitat