procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  I : Integer;
begin
  I := Length(TEdit(Sender).Text);
  case Key of
    #8 : Inherited;
  else
    begin
      if Key in ['0'..'9'] then
      begin
        if I = 8 then Key := #0;        case I of
          0 : if not (Key in ['0'..'2']) then Key := #0;
          1 :
            begin
              if Key in ['0'..'4'] then
              begin
                TEdit(Sender).Text := TEdit(Sender).Text + Key + ':';
                Key := #0;
                TEdit(Sender).SelStart := 3;
              end  else
                Key := #0;
            end;
          3 : if not(Key in ['0'..'5'])  then Key := #0;
          4 :
            begin
              TEdit(Sender).Text := TEdit(Sender).Text + Key + ':';
              Key := #0;
              TEdit(Sender).SelStart := 6;
            end;
          6 : if not(Key in ['0'..'5'])  then Key := #0;
        end;
      end else
        Key := #0;
    end;
  end;
end;