Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MANULOMM

#131
.NET (C#, VB.NET, ASP) / Re: Tablas Hash
24 Octubre 2009, 15:23 PM
de nada... jejeje  ;D ;D ;D ;D

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#132
pero segun vi en la logica no solo depende del item, por ser un custom validator valida la fecha contra el item o algo asi, si fuese un RequeridFieldValidator si, pero aqui hay una logica asociada al objeto, a algunas veces no se me lanza con el PostBack que hace el dropdownlist.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#133
.NET (C#, VB.NET, ASP) / Re: Tablas Hash
23 Octubre 2009, 21:40 PM
te pongo el code para que lo mires.  :rolleyes: :rolleyes: :rolleyes:
Código (csharp) [Seleccionar]

           Dictionary<string, string> tabla = new Dictionary<string, string>();
           try
           {
               using (StreamReader sr = new StreamReader(Environment.CurrentDirectory + "\\Diccionario.txt"))
               {
                   string linea = string.Empty;
                   while ((linea = sr.ReadLine()) != null)
                   {
                       string[] datos = linea.Split(':');
                       //Adicionamos la clave en mayusculas para que no interfiera con la busqueda.
                       string clave = datos[0].ToUpper();
                       string valor = datos[1];
                       tabla.Add(clave, valor);
                   }
               }
               Console.WriteLine("Digite la clave que desea buscar o teclee \"EXIT\" para salir");
               string Comando = Console.ReadLine().ToUpper();
               //Si se teclea "EXIT" se cierra el programa.
               while (Comando.ToUpper() != "EXIT")
               {
                   if (tabla.ContainsKey(Comando))
                   {
                       string valor = tabla[Comando];
                       Console.WriteLine("La definición para {0} es: {1}", Comando, valor);
                   }
                   else
                   {
                       //La Clave no existe.
                       Console.WriteLine("La clave buscada no existe.");
                   }
                   Console.WriteLine("Oprima una tecla para realizar otra busqueda");
                   Console.ReadLine();
                   Console.Clear();
                   Console.WriteLine("Digite la clave que desea buscar o teclee \"EXIT\" para salir");
                   Comando = Console.ReadLine().ToUpper();
                   
               }
           }
           catch (Exception e)
           {
               Console.WriteLine("Error en el archivo: ");
               Console.WriteLine(e.Message);
           }

tiene algunas mejorillas como por ejemplo, en vez de utilizar una clase Hashtable utilice una clase Dictionary que cumple con la funcionalidad pero es generica y me gusta mas.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#134
Bueno, averiguando un poco vi que hay un namespace (System.Management) que permite hacer consultas a la WMI, aunque he trabajado poco con el tema (no sabria cual es el objeto a consultar para obtener los datos que necesitas) vi que son clases puras de .net lo cual es un alivio pues no te metes directamente con codigo no administrado (me imagino que las clases en su interior si lo haran, es lo mas seguro) esto simplifica mucho mas las cosas.

Te dejo el vinculo al MSDN, alli encuentras un ejemplo en c#.
http://msdn.microsoft.com/es-es/library/ms186146(VS.80).aspx


Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#135
la llama a la WMI para obtener los datos del sistema son precisamente una API del Sistema Operativo, es una llamada de código no administrado, pues requiere la ejecucion de un COM.

con .net puedes obtener rendimiento y los procesos, los datos del equipo modelo y demas es una llamada a un componente del sistema operativo, ya sea alguna dll del GAC o una consulta al WMI.

Atentamente,


Juan Manuel Lombana
Medellín - Colombia
#136
es que precisamente a eso vamos, para hacer lo del rendimiento (como muchas otras cosas en la programacion con .NET) tienes que conocer algo mas que métodos y propiedades (No son lo unico que tiene el lenguaje [Delgados, Eventos, Interfaces, etc.]).... pero de todas formas adelante, cuando tengas algo nos cuentas.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#137
todo eso lo obtienes con System.Diagnostics, lo de los procesos con Process hay un metodo que se llama GetProcess o algo asi, lo del modelo y eso no creo que este por ahi, te toca invokar la api del windows, y con respecto al rendimiento averigua sobre contadores de rendimiento del sistema, eso esta en System.Diagnostics, pero es un poco complejo si estas empezando...
Suerte.

Atentamente,


Juan Manuel Lombana
Medellín - Colombia
#138
.NET (C#, VB.NET, ASP) / Re: Tablas Hash
21 Octubre 2009, 18:15 PM
no entiendo el problema.
Tienes un archivo .txt que contienes palabras asi:

Palabra1:Definicion1
Palabra2:Definicion2
Palabra3:Definicion3


quieres llevar el contenido del archivo a una tabla hash, en donde la palabra sera la clave y la definición el valor.

lo que no entiendo es por que haces esto:

Console.WriteLine("oprima la Clave y enter");

if (Claves == Console.ReadLine())
Console.WriteLine("{0}: {1}", Claves, Valores);


con que fin? ya tienes los dos valores en la tabla hash para que pides la clave? eso deberia estas por fuera del while cuando termine de leer el archio y de llenar la tabla hash.
lo que quieres que que fuera del while haces otro while en donde pides la clave y haces un Find a la tabla hash para retornar el valor.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#139
ps se supone que en true, pero he visto que cuando se lanza el postback por un DropDownList el validador no se lanza, yo le que hago normalemente es que pongo el autopostback en false y agrego un boton sin codigo que diga aceptar al lado del DropDown, el boton cuando se presione lanzara el custom validator, pero el boton no debe llevar nada de codigo ps el objetivo es que solo haga el postback.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#140
y por que no un servicio web, el servicio seria capaz de hacer toda la conexion con la bd en el servidor y te retornaria en un objeto recorrible de .net con las eferminides, el problema radica principalmente en que no puedes acceder a la bd remota en forma de bd pues no tienes un componente en la mitad que lo administre, otra puede ser que la bd del servidor sea SQL que puedas accedes desde internet (con un servidor sql en el servidor) y lo que haces es descargar los registros y agregarlos a la bd local.

Atentamente,


Juan Manuel Lombana
Medellín - Colombia