Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
Cambiar Configuracion Regional e Idioma de la PC

un saludo al foro


tengo una aplicacion que necesita que se cambie la configuracion Regional e Idioma, manualmente se puede realizar ingresado al panel de Control de Windows

pero mi Idea es que Delphi lo realice cuando se ejecute la aplicacion

por favor si pueden ayudarme con el codigo que tengo q inyectar

necesito estos cambios:

decimal ,
Hora H:mm:ss no necesito 5:00 PM
Pais Bolivia
Simbolo de Moneda $b. ( esto creo que cambia automaticamente con el pais)
Numero de Digito Decimal 2
Formato de Fecha corta dd/MM/aaaa

Gracias
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #2  
Antiguo 19-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola darkbits.

Un modo es mediante el registro de windows:
Código Delphi [-]
...
implementation

uses Registry;

...
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    if not OpenKey('\Control Panel\International', False) then
      raise Exception.Create('Error leyendo el registro');
    WriteString('iCountry', '591');
    WriteString('sCountry', 'Bolivia');
    WriteString('sDecimal',',');
    WriteString('sShortTime', 'hh:mm:ss tt');
    WriteString('sCurrency', '$b');
    WriteString('iCurrDigits', '2');
    WriteString('sShortDate', 'dd:MM:yyyy');
  finally
    CloseKey;
    Free;
  end;
end;
Mas datos en la clave "HKEY_CURRENT_USER\Control Panel\International" del registro de windows.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 19-10-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
Hola ecfisa probe tu codigo y no me funciona estoy utilizando D6 y tambien XE2 hice la prueba en Xp y no cambia

estandares y formatos Español (España)
Ubicacion españa

solo cambia simbolo decimal y simbolo de moneda

gracias por tu tiempo
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #4  
Antiguo 19-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Proba con esta modificación:
Código Delphi [-]
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    if not OpenKey('\Control Panel\International', False) then
      raise Exception.Create('Error leyendo el registro');
    WriteString('iCountry', '591');
    WriteString('sCountry', 'Bolivia');
    WriteString('Locale', '0000400A');
    WriteString('LocaleName', 'es-BO');
    WriteString('sLanguage', 'ESB');
    WriteString('sDecimal',',');
    WriteString('sShortTime', 'hh:mm:ss tt');
    WriteString('sCurrency', '$b');
    WriteString('iCurrDigits', '2');
    WriteString('sShortDate', 'dd:MM:yyyy');
  finally
    CloseKey;
    Free;
  end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 19-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Supongo que tu aplicación va a sacar un cartelote enorme diciendo que ciertos cambios en la configuración regional podrían afectar el funcionamiento de otros sistemas.

En lo posible no hay que cambiar la configuración regional. Si es cosa únicamente para tu aplicación debes hacer uso de las variables globales que destina para eso, como CurrencyDecimals para indicar la cantidad de decimales, CurrencyString y CurrencyFormat se puede utilizar para establecer el símbolo de moneda y su posición... también las hay para fechas aunque no las recuerdo ahorita (salvo la ShorDateFormat).

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 19-10-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
Este si Funcion


tube q aumentar este codigo para que la hora se actualice de 17:00 a 5:00 PM en ese mismo instante q se ejecuta

de lo contrario no se actualizaba

Código Delphi [-]
Windows.SendMessageTimeout(HWND_BroadCast,WM_SettingChange,0,0,SMTO_AbortIfHung,15,dResult);

o hay algo mejor q esta linea
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #7  
Antiguo 19-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Cita:
En lo posible no hay que cambiar la configuración regional.
Totalmente de acuerdo con lo que te dice Delphius, no es bueno que nuestras aplicaciones hagan cambios en el S.O. ya que puede afectar al buén funcionamiento de otras (también comentado en su mensaje).
Encontrarás toda la información sobre las variables globales de la unit SysUtils en la ayuda de Delphi (busca por SysLocale por ejemplo).


Pero si deseas experimentar cambiando los valores del sistema, te agrego algunos enlaces que te pueden interesar:
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 19-10-2012 a las 22:02:20.
Responder Con Cita
  #8  
Antiguo 19-10-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
ecfisa y Delphius Gracias por el consejo tomare encuenta de solo cambiar el simbolo de currency y decimal mil gracias por la ayuda.
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
Respuesta



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
Configuración regional y de idioma Lester Windows 2 16-10-2008 14:38:23
Configuración regional y de idioma Lester Windows 0 30-06-2008 12:59:37
Como saber que idioma tiene seleccionado el windows xp en configuracion regional Gaby123 Varios 2 23-04-2007 23:03:51
Error en font de un grid al cambiar idioma en configuracion regional Gaby123 Varios 5 12-04-2007 19:03:31
Como puedo cambiar la configuración regional y de idioma desde Builder? JuanErasmo C++ Builder 5 21-12-2005 03:47:00


La franja horaria es GMT +2. Ahora son las 15:35:51.


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