Mas referencias culturales

07/11/2006 - 16:41 por ANT1 | Informe spam
He estado echando un ojo a los posts antiguso que hay por este grupo, y
la verdad hay muchas cosas que me han aclarado bastante las ideas.

Como el post que pusea previamente:
http://groups.google.es/group/micro...83f7ba8b03
ya me esta sacando de quicio y me estoy quedando atascado demasiado
tiempo he decidido cambiar la estrategia a seguir.

Aun no voy a generar los resources mediante codigo, que me parece
excesivo (cuando lo haga ya te buscare edcha ;) ). Voy a utilizar el
ejemplo que he encontrado en uno de estos posts (no recuerdo cual) y
que viene en esta pagina:
http://msdn.microsoft.com/msdnmag/i...fault.aspx

Aqui basciamente usare los resx asociados a cada form de mi aplicacion.

Pero, si yo creo mi propio string (llamemosle StringPrueba) con su
valor "Hola mundo". ¿Como puedo acceder a ese string?¿mediante un
resource manager o hay alguna otra manera?

Gracias Si consigo arreglar esto les hare un monumento a todos en el
pasillo de casa.

Preguntas similare

Leer las respuestas

#1 ANT1
07/11/2006 - 16:56 | Informe spam
Veo que el ResourceManager solo siver para archivos .resources. Y que
el ResxResourceReader no me permite hacer un GetString directo si no
que tendria que ir mirando uno a uno todos los keys alamacenados.

¿Hay alguna forma de conseguir directamente el String deseado?

Gracias
Respuesta Responder a este mensaje
#2 Jose Luis Manners
07/11/2006 - 17:09 | Informe spam
Usa el método GetString de la clase ResourceManager. Mira estos articulos:

http://www.microsoft.com/spanish/ms...J_2041.asp

http://www.microsoft.com/spanish/ms...art155.asp

-
Coopera con el foro. Dinos si te sirvió la respuesta aquí planteada.
-

Saludos,

Jose Luis Manners
MCP, MCAD.NET
Microsoft MVP Visual C#
http://www.josemanners.com/
http://www.josemanners.com/mvp

"What we do for ourselves dies with us. What we do for others and the world
remains and is immortal."


"ANT1" wrote in message
news:
He estado echando un ojo a los posts antiguso que hay por este grupo, y
la verdad hay muchas cosas que me han aclarado bastante las ideas.

Como el post que pusea previamente:
http://groups.google.es/group/micro...83f7ba8b03
ya me esta sacando de quicio y me estoy quedando atascado demasiado
tiempo he decidido cambiar la estrategia a seguir.

Aun no voy a generar los resources mediante codigo, que me parece
excesivo (cuando lo haga ya te buscare edcha ;) ). Voy a utilizar el
ejemplo que he encontrado en uno de estos posts (no recuerdo cual) y
que viene en esta pagina:
http://msdn.microsoft.com/msdnmag/i...fault.aspx

Aqui basciamente usare los resx asociados a cada form de mi aplicacion.

Pero, si yo creo mi propio string (llamemosle StringPrueba) con su
valor "Hola mundo". ¿Como puedo acceder a ese string?¿mediante un
resource manager o hay alguna otra manera?

Gracias Si consigo arreglar esto les hare un monumento a todos en el
pasillo de casa.
Respuesta Responder a este mensaje
#3 ANT1
07/11/2006 - 17:37 | Informe spam
Pues eso, como se suele decir "Yo soy Juan Palomo, yo me lo guiso, yo
me lo como"

Como he mencionado antes he decidido tirar de formularios
"localizables" y diseñar directamente a mano los resources, pero no
por txt, si no dentro del propio visual studio (lo de hacer los
resources al vuelo ya tocara otro dia, tengo que terminar esto para no
volverme completamente loco. Ysi lo pienso, yo hago preguntas y yo
mismo me contesto, y no es buena señal)

He encontrado el problema. Antes he mencionado que el ResourceManager
solo sirve para leer archivos .resource, pero es que lo que yo estoy
haciendo me genera automaticamente dichos archivos en las carpetas
correspondientes de idioma, luego solo tengo que leerlos.

El problema estaba a la hora de crear mi ResourceManager. Si seguiamos
cualquiera de los ejemplos de la pagina msdn2 (o por lo menos los que
yo he encontrado) se habria creado este con la siguiente linea:
//
ResourceManager rm = new ResourceManager("Form1",
Assembly.GetExecutingAssembly(), null);
//
Suponiendo como podemos ver que nuesto formulario se llame form1 al
igual que la base de los archivos resources.

Pues esto no me funciona. ¿Porque?. No lo he probado seriamente aun (y
es que como pueden ver en cuanto encuentro algo se lo cuelgo aqui para
que me ayuden o si les es util lo utilicen), pero me temo que es debido
al namespace. Me imagino que asi funcionara si el namspace que se
utiliza es el mismo que el nombre del formulario (e insisto en ME
IMAGINO), pero para que me funcionase y suponiendo que mi formulario
form1 se encontrase en el namespace "Espacio", para que funcionase
correctamente dicho ResourceManager habria que poner:

ResourceManager rm = new ResourceManager("Espacio.Form1",
Assembly.GetExecutingAssembly(), null);

Como pueden ver, simplemente hay que indicar el namespace antes del
nombre base.

Con esto e indicando antes del InitializeComponent() del constructor
del formulario que cultura se desea usar para este, si es que se desea
usar otra diferente de la que se este corriendo en el sistema en ese
momento.

Esto se haria, poniendo como ejemplo la cultura español de españa:

//
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo("es-Es");

InitializeComponent();
//

Asi de facil (resulta ahora que ya se sabe como funciona. Lo que ha
costado...). Y esto no solo sirve para strings, si no tambien para
imagenes y demas.

Saludos gente. Y si se les ocurre algo para mejorar lo dicho,
solucionar el problema del anterior post, o lo que sea no duden que aun
me interesa. Saber una cosa nueva no es un problema. Y is os ha sido
util para algo dejad constancia de ello, no dudeis que me resultara muy
gratificante.

Gracias a todos por la atencion.
Respuesta Responder a este mensaje
#4 ANT1
07/11/2006 - 17:46 | Informe spam
Gracias Jose Luis.

Coincidencia que escribieramos los dos a la par. Si lees lo que acabo
de poner veras que solucione el problema como comentas.

Voy a echar una ojeada a lo que me pasaste a ver.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida