SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: chiaravel en Miércoles 23 de Julio de 2003, 16:25

Título: Re: Configuracion Regional
Publicado por: chiaravel en Miércoles 23 de Julio de 2003, 16:25
Hola, tengo un problema.

Cuando instalo una aplicacion en una PC que tiene configuracion regional diferente a la que tiene mi PC, los numeros se expresan diferente.

Ejemplo:

En mi PC el separador decimal es el "." y en la otra PC el separador decimal es la ",".

Como hago para que el visual fuerze (Sin modificar la configuracion del Cliente) el punto decimal y la coma como separador de Unidad de mil ????

Please.... me trajo muchos problemas !!!

Gracias
Título: Re: Configuracion Regional
Publicado por: Miguel P. en Miércoles 23 de Julio de 2003, 17:51
No sé si te servirá de algo una vez que hayas terminado la aplicación, porque tendrías que hacer algunos cambios y quizás no te merezca la pena.

Pero lo que yo hago es personalizar los formatos de los textbox y de las grillas en los que aparecen cantidades o monedas.
Ejemplo: ###0.00" € "
Además, puedes utilizar código como éste:

Private Sub DBGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44
End Sub

para que salga la 'coma' cada vez que pulses el 'punto' en un grid (igual para los cuadros de texto).

No sé si era ésto lo que querías. Yo lo intenté.
Título: Re: Configuracion Regional
Publicado por: chiaravel en Miércoles 23 de Julio de 2003, 18:09
Hola Miguel,

La solucion que me propones no resuelve el problema por lo siguiente.

Yo podria llenar una celda de la grilla de esta manera.

grilla.cell(flexcptext,1,1)=format(valor,"####0.00")

pero en una PC con "." decimal va a mostrar un valor y en otra con "," decimal va a mostrar otro valor totalmente distinto.

Un Abrazo

PD : Muchas Gracias por lo que me enviaste por Email:bravo:
Título: Re: Configuracion Regional
Publicado por: J.M.Movilla en Miércoles 23 de Julio de 2003, 23:08
Hola Pablo:

Puedes definir una variable

Public carDec as String

y en el Main() escribes

carDec = IIf (InStr(1 / 2, ".") > 0 , ".", ",")

De esta forma podrás a lo largo de la aplicación cambiar en los inputs la coma por punto o el punto por coma, según te interese, dependiendo del valor de carDec.

De todas formas, el código que te adjunto te va a dar mucha más luz, valiéndote de la función Val().

Saludos
Título: Configuracion Regional
Publicado por: chiaravel en Miércoles 23 de Julio de 2003, 23:43
No esperaba menos de vos.

Espero que seas tan buen medico como programador.

Un Abrazo

:gracias: