sebaguillen, de lo que estuve viendo, el error se debe a el punto:
Código Delphi
[-]procedure TForm1.BPuntoClick(Sender: TObject);
begin
if Edicion.Text = '' then
Edicion.Text:= '0.'
else
Edicion.Text:= Edicion.Text + '.';
Lo cambié por coma y listo:
Código Delphi
[-]procedure TForm1.BPuntoClick(Sender: TObject);
begin
if Edicion.Text = '' then
Edicion.Text:= '0,'
else
Edicion.Text:= Edicion.Text + ',';
Esto se debe a la configuración regional. No me acuerdo cual es la función que permite cambiar esta configuración... se que se ha hablado en los foros sobre esta función (o API).... la verdad no me la acuerdo...
Ahora, te aconsejaría que el código en el botón igual lo mejores. Creo que sería mejor esto:
Código Delphi
[-]case f of:
1: sentencias....
2: sentencias....
3: sentencias....
else
end;
También se puede reutilizar los eventos Click de los botones. Empleando la proiedad tag:
Código Delphi
[-]procedure TForm1.B1Click(Sender: TObject);
begin
Edicion.Text := IntToStr((Sender as TButton).Tag);
end;
De modo que pones en el tag el número (para el B1 es 1, etc). Y haces que todos los botones compartan el mismo evento.
Espero que se entienda.
Si tienes mayores dudas avisa.
Saludos,