Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Formato de separador decimal

Resulta que yo tengo un formulario en donde cargo el importe y cargo la cantidad, y multiplicando ambos obtengo el Subtotal de dicho concepto. Pero me pasa, que limite el TEdit a que solo puedan ingresar numeros reales, para evitar todo margen de error por parte del usuario. Pero tengo un problema, yo cargo este resultado en el campo de una tabla cuyo formato es Currency, y dependiendo el tipo de configuración de cada computadora en donde ejecute el programa, me toma como separador de decimales de la moneda, un punto "." o una coma ",". Lo cual, yo por medio de este procedimiento, restrinjo el TEdit de la siguiente manera:

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var sNumAnterior:string;
 begin
   sNumAnterior := (sender as TEdit).Text;
   if (key <> #3) and (key <> #22) then  // #3 = Copiar (Ctrl + C)
   begin                                 // #22 = Pegar (Ctrl + V)
     if key in ['-','.'] then
     begin
       if (pos(key,(sender as TEdit).Text) > 0) and
          (pos(key,(sender as TEdit).SelText) = 0)
          then key:=#0;
       case key of
         '-': if ((sender as TEdit).SelStart > 0) then key:=#0;
         '.': if ((sender as TEdit).SelStart = 0) or
                 (((sender as TEdit).SelStart = 1) and
                 ((sender as TEdit).Text[1] = '-'))
              then key:=#0;
       end;
     end
     else if not (key in ['0'..'9',#8]) then key:=#0;
   end;
   if key = #22 then
   try
     key := #0;
     (sender as TEdit).PasteFromClipBoard;
     StrToFloat((sender as TEdit).Text);
   except
     (sender as TEdit).Text := sNumAnterior;
     (sender as TEdit).SelStart := Length((sender as TEdit).Text);
   end;
 end;

Pero me pasa que, en una computadora, si utilizo el punto "." me anda bien, pero en otra, tengo que usar la coma ",", ya que sino, no me permite agregar el registro, dependiendo de si en Edit2.Text utilice punto "." o coma "," como separador decimal:

Código Delphi [-]
QCaja.Insert;
  try
    if ComboBox1.Text='EGRESO'
      then QCaja.FieldByName('conceptoDEBE').AsString:=ComboBox2.Text
        else QCaja.FieldByName('conceptoHABER').AsString:=ComboBox2.Text;
    QCaja.FieldByName('movimiento').AsString:=ComboBox1.Text;
    QCaja.FieldByName('cantidad').AsInteger:=StrToInt(SpinEdit2.Text);
    QCaja.FieldByName('importe').AsCurrency:=StrToCurr(Edit2.Text)*StrToInt(SpinEdit2.Text);
    QCaja.FieldByName('fecha').AsDateTime:=DateTimePicker1.DateTime;
    QCaja.Post;
  except
    QCaja.Cancel;
  end;

Tengo alguna forma de detectar que separador decimal tengo que usar segun la configuración actual de la computadora en que ejecute la aplicación??

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Separador de miles como separador decimal jmselesan OOP 4 12-06-2011 22:21:54
Como setear el separador decimal y el separador de miles en WIN98 robertoe API de Windows 3 26-11-2006 17:12:02
dichoso separador decimal Lepe Conexión con bases de datos 8 19-04-2004 21:48:25
Separador decimal como coma (,) Investment SQL 2 26-01-2004 11:36:10
No se me registra el separador decimal en Acces delphicano Conexión con bases de datos 5 13-01-2004 09:19:09


La franja horaria es GMT +2. Ahora son las 15:54:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi