Pregunta: | 2716 - CAMBIAR LA CONFIGURACION REGIONAL |
Autor: | Genaro Sanchez |
Como puedo cambiar la configuracion regional desde mi programa hecho en VB6? Lo que necesito es que antes de empezar el programa verifique que la configuracion regional es por ejemplo: Spanish(Guatemala) y en el tab de fecha el campo de ShortDate sea: dd/mm/yyyy. Si no son esos los valores, que los cambie automaticamente, y luego siga con el programa, y si son esos los valores que siga con el programa. Alguien me puede ayudar, es un poco urgente. Saludos |
Respuesta: | Dainier Escalona |
Hola colega.... la solución que te dieron con el API de windows está genial pero creo que no resuelve tu rpoblema.... perdí todo un día buscando la solución de tu problema y no la encontré an la web. Todos te recomiendan la misma solución con el Api de windows que sólo te permite modificar algunas variables de la configuración regional, pero no te cambia la configuración completa. Por esta razón me incliné a buscar la solución directamente dentro de los registros de wimdows.
Esta configuración se guarda en la Clave: HKEY_CURRENT_USERControl PanelInternational para cambiar por ejemplo de Español(España) a Español(México) debes cambiar todos los valores de esa clave por los correspondientes a la configuración que quieras. Te recomiendo que cambies la configuración manualmente desde el panel de control a la que quieras modificar desde el código, le hagas una imagen y estos serían los valores que debes asignar desde los códigos. saludos Dainier |
Respuesta: | Oswaldo Monagas |
Tal vez este codigo te ayude. Zona horaria Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Type TIME_ZONE_INFORMATION Bias As Long StandardName(0 To 63) As Byte StandardDate As SYSTEMTIME StandardBias As Long DaylightName(0 To 63) As Byte DaylightDate As SYSTEMTIME DaylightBias As Long End Type Private Declare Function GetTimeZoneInformation _ Lib "kernel32" (lpTimeZoneInformation As _ TIME_ZONE_INFORMATION) As Long Private Sub Form_Load() Dim nRet As Long, tz As TIME_ZONE_INFORMATION Dim Valor As Long, Cadena As String Valor = GetTimeZoneInformation(tz) If Valor <> -1 Then Select Case nRet Case 0: Cadena = "Desconocido" Case 1: Cadena = "Estándar" Case 2: Cadena = "Daylight Savings Time..." End Select Cadena=CStr(tz.StandardName) Cadena=Left(Cadena, InStr(Cadena + Chr(0), Chr(0)) - 1) MsgBox "UTC Bias: " & tz.Bias / 60 & " hrs." & vbCrLf & _ " ST Zone: " & Cadena & vbCrLf & _ " ST Date: " & tzDate(tz.StandardDate) & vbCrLf & _ " ST Bias: " & tz.StandardBias & " mins." & vbCrLf & _ " DT Zone: " & Cadena0(CStr(tz.DaylightName)) & vbCrLf & _ " DT Date: " & tzDate(tz.DaylightDate) & vbCrLf & _ " DT Bias: " & tz.DaylightBias & " mins.", , Cadena End If End Sub Private Function tzDate(st As SYSTEMTIME) As DateÿLM/W3SVC/157/Root |