Power Builder - Ayuda con el Registro de Windows

 
Vista:

Ayuda con el Registro de Windows

Publicado por David (97 intervenciones) el 04/07/2003 18:27:53
Necesito poder modificar en tiempo de ejecucion
los valores del Registro... EL SEPARADOR DE MILES Y EL SEPARADOR DE DECIMALES... lo intente.. pero no entiendo que hago mal...
aqui les paso el codigo que uso para tomar y modificar los valores...

PARA TOMAR LOS VALORES...
string ls_decimal, ls_thousand
string ls_regKey = "HKEY_CURRENT_USER/Control Panel/International"
RegistryGet(ls_regKey, "sDecimal", RegString!,ls_decimal)
RegistryGet(ls_regKey, "sThousand", RegString!, ls_thousand)

PARA MODIFICAR LOS VALORES...
string ls_decimal, ls_thousand
string ls_regKey = "HKEY_CURRENT_USER/Control Panel/International"
RegistrySet(ls_regKey, "sDecimal", RegString!,'.' )
RegistrySet(ls_regKey, "sThousand", RegString!, ',' )

desde ya muchas gracias..

un saludo desde Paraguay

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con el Registro de Windows

Publicado por Oscar (1178 intervenciones) el 04/07/2003 21:12:17
Si ingresas al regedit, observarás que en la ruta que muestras, no existen las cadenas sDecimal ni sThousand. Por eso, primero debes crear ambas cadenas con tu script: PARA MODIFICAR LOS VALORES... ; pero para que funcione correctamente, debes cambiar en ambos script la barra "/" por "\". Ejm.

string ls_regKey = "HKEY_CURRENT_USER/Control Panel/International"

por:

string ls_regKey = "HKEY_CURRENT_USER\Control Panel\International"

Nota: Pude notar los siguientes aspectos:
* Los cambios que realizas desde la aplicación PB; no se observan en la configuración regional cuando se ingresa desde el Panel; aunque sí cambia en el regedit (y eso es lo que vale).
* Si un usuario cambia la configuracón desde el Panel; te borra en el regedit las dos cadenas que creaste (sDecimal y sThousand).
* Por último, los cambios de configuración que realizas desde PB, se respetan cuando se REINICIA el equipo; notándose esos cambios en el mismo Panel.

Bueno, sólo son comentarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con el Registro de Windows

Publicado por Jorge (900 intervenciones) el 04/07/2003 21:13:15
Hola
En verdad no veo que estes haciendo algo mal
Chequeastes manualmente la Registry para comprobar
que este bien ??

Me paso en en ME que en la Reg No estaban el
sThousand y el sDecimal
Los cree a mano y tampoco los leia
Los elimine y elimine otros mas y desde control panel
modifique y se grabaron correctamente y comenzo a funcionar
el scrip.
----
Fijate con este scrip pruebo yo
----

// Variables a ls_hkey la engo declarada en Intance

ls_hkey= "Hkey_Current_user\Control Panel\International"
String Ls_chek
String Ls_chek1

//Consulta
IF RegistryGet(ls_hkey, "sDecimal", RegString!, ls_chek) = -1 THEN
MessageBox("Decimal","No se encuentra entrada en la Registry")
else
MessageBox("Decimal","Ok " + Ls_Chek)
end if

IF RegistryGet(ls_hkey, "sThousand", RegString!, ls_chek1) = -1 THEN
MessageBox("Miles","No se encuentra entrada en la Registry")
else
MessageBox("Miles","Ok " + Ls_Chek1)
end if

// Graba en la Registry
RegistrySet(ls_hKey, "sDecimal", RegString!,',' )
RegistrySet(ls_hKey, "sThousand", RegString!,'.' )

Suerte

Saludos desde Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con el Registro de Windows

Publicado por David (97 intervenciones) el 04/07/2003 23:47:36
gracias muchachos...
el unico error era las barras .. las cambie y funcionaron..

Gracias y Saludos desde Paraguay...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar