Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Configuracion regional

Estas en el tema de Configuracion regional en el foro de Visual Basic clásico en Foros del Web. Quisiera conocer como cambiar la Configuración Regional dentro de Visual Basic 6. No funciona bien VISUAL BASIC 6, cuando manejo MONTOS con punto (.) para ...
  #1 (permalink)  
Antiguo 17/09/2010, 08:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Configuracion regional

Quisiera conocer como cambiar la Configuración Regional dentro de Visual Basic 6.

No funciona bien VISUAL BASIC 6, cuando manejo MONTOS con punto (.) para miles y coma(,) para decimales, cuando la Configuración Regional del PC se le ha indicado formato (1.000.000,00).

Todo funciona bien en formato INGLES dentro de la configuración regional del PC, PERO al cambiar la configuración al FORMATO ESPAÑOL, Punto(.) para miles y coma(,) para decimales, presentá error VISUAL BASIC.

Por lo tanto Si tengo la configuración regional en el formato ESPAÑOL, quisiera cambiarlo al formato Ingles dentro de Visual Basic y luego al salir del Sistema restituirlo al formato Español.
Alguien sabe como hacerlo......Muchas gracias

Última edición por cuzcategui; 17/09/2010 a las 09:03
  #2 (permalink)  
Antiguo 17/09/2010, 22:34
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Configuracion regional

si estas seguro de que formato utilizaras para tus montos puedes hacer cambiar los puntos por comas y vicebersa.
  #3 (permalink)  
Antiguo 21/09/2010, 11:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Configuracion regional

Muchas gracias franko 1809
No utilizo ningún formato de este tipo " format(###.##)" dentro de los programas, para que sea flexible y pueda utilizarse para configuraciones en Ingles (##,###.##) y en español (##.###,##)

Lei una información sobre un Código, lo instalé (mas abajo el Código), pero en los calculos cuando ingreso un monto con punto (.) como decimal , estando la configuración del PC en español, entonces lo considera MILES.

LO QUE REALMENTE QUISIERA es que el teclado funcione como en EXCEL, Si está configurado en español el punto que esta en la posición de los numeros en el teclado funcione para los decimales como COMA(,) y si está configurado en Ingles coloque PUNTO(.), utilizando la misma tecla.

Option Explicit
Const LOCALE_SDECIMAL = &HE
Private Declare Function GetUserDefaultLangID Lib "kernel32" () As Integer
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
'
'*****************************************
Public Function Separador() As String
Dim Buffer As String, ret As Long
Buffer = String(255, " ")
ret = GetLocaleInfo(GetUserDefaultLCID, LOCALE_SDECIMAL, Buffer, 255)
Separador = Trim$(Replace$(Buffer, Chr(0), ""))
End Function

'********************************

Private Sub Form_Load()
MsgBox Separador
End Sub
'

Muchas gracias nuevamente

Última edición por cuzcategui; 21/09/2010 a las 11:20
  #4 (permalink)  
Antiguo 22/09/2010, 17:14
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Configuracion regional

Usa la siguiente funcion del sistema operativo

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Esta permite leer el contenido de las KEY del registro de windows, que es donde esta la configuración regional

Suerte
  #5 (permalink)  
Antiguo 26/09/2010, 16:06
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Configuracion regional

Lo que puedes hacer es utilizar en tus operaciones suma, resta, formato, etc la funcion CDbl que respeta la configuracion regional del sistema y Round para redondear decimales.

Nota, si utilizas la funcion Val para hacer calculos esta siempre devolvera como decimal un (0.00) punto aunque la configuracion regional sea (0,00) en cambio la funcion CDbl devolvera (0.00) ó (0,00) dependiendo de la configuracion regional que se este utilizando.

Otra cosa que puede servirte es hacer esto Format(Text1, "Fixed") y te evitas colocar puntos o comas como decimales ya que se guiara de la configuracion regional, no estoy seguro pero creo que asi es.

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.