• Viernes 3 de Mayo de 2024, 00:07

Mostrar Mensajes

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


Mensajes - Painkiller

Páginas: [1]
1
C# / Re: Obtener la IP del cliente
« en: Lunes 23 de Agosto de 2010, 18:56 »
los sockets tienen una propiedad llamada RemoteEndPoint la cual contiene tanto la dirección IP de la cual está conectada de manera remota asi como el puerto de destino.

2
C# / Re: DeflateStream + FileMode.Append. Problema.
« en: Jueves 12 de Agosto de 2010, 18:00 »
la razon por la cual no funciona con FileMode.Append, es exacatmente lo que comentas, ya que un archivo de este tipo es generado con un algoritmo de compresión aplicado al archivo original, para que se puedan comprobar la integridad de datos además se agregan campos como CRC32 los cuales incluso con algunos bytes de diferencia generan un CRC diferente. Como sugerencia: ¿Porque no guardar los datos en archivos comprimidos por fecha-hora en el nombre?

3
C# / Re: DataGridView con columnas tipo DataGridViewComboBox
« en: Miércoles 11 de Agosto de 2010, 17:41 »
Que tal, al parecer el error se debe a que guardas el valor seleccionado en la BD (puede ser string, int etc) y al tratar de recuperarlo no se agrega directamente al comobobox. Asi que aqui yo pensaria en guardar de manera local una lista de todos los valores posibles en el combobox ya sea en el registro, en xml, o en algun archivo, y al momento de tener el DataTable comparar directamente con estos valores para asi settear cada combobox a su respectivo valor guardado en la BD.

4
C# / Re: Asignar eventos a varias etiquetas
« en: Lunes 9 de Agosto de 2010, 20:19 »
para asignar nuevos eventos a instancias creadas en tiempo de ejecucion se emplea la siguiente asignacion:
Código: C#
  1.  
  2. Label lblGenerated = new Label();
  3. //Se inicializan valores (posicion, texto, etc.)
  4. lblGenerated.MouseEnter += new EventHandler(lblGenerated_MouseEnter);
  5.  
  6.  

En el cual lblGenerated_MouseEnter es el nombre de la funcion que va a atender el evento. Un punto importante a notar es que se necesita que la firma de la aplicacion coincida con la del delegado definido para el evento. Si no se conoce la firma del delegado el autocomplete de VisualStudio ofrece la opcion de generarla  :good:

5
C# / Problemas con metodo Save Imagenes.
« en: Sábado 10 de Abril de 2010, 00:24 »
Que tal, pues he estado haciendo una aplicaci÷on que imprime la pantalla y la guarda como imagen png, el problema es que recientemente me empezo a dar problemas debido a que no guarda la extension especificada:
Código: C#
  1. public static byte[] takeScreenShot()
  2. {
  3.    // Set the bitmap object to the size of the screen
  4.    bmpScreenShot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
  5.    // Create a graphics object from the bitmap
  6.    gfxScreenShot = Graphics.FromImage(bmpScreenShot);
  7.   // Take the screenshot from the upper left corner to the right bottom corner
  8.   gfxScreenShot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
  9.   // Save the screenshot to the specified path that the user has chosen
  10.   bmpScreenShot.Save("Imagen" + index.ToString(), System.Drawing.Imaging.ImageFormat.Png);
  11.   byte[] size = getFileSize("Imagen" + index.ToString() + ".png") ;
  12.   byte[] name = System.Text.ASCIIEncoding.ASCII.GetBytes("|Imagen" + index.ToString() + ".png");
  13.   index++;
  14.   bmpScreenShot.Dispose();
  15.   gfxScreenShot.Dispose();
  16.   return joinByteArray(size, name);
  17. }
  18.  
Como dije la aplicación no arroja excepción alguna, pero al momento de mandar llamar a la funcion getFileSize arroja la excepción FileNotFoundException, algo que he notado es que esto siempre pasa en la tercera llamada a esta función, es decir el directorio se ve asi:
.
..
CapturaPantalla.exe
Imagen0.png
Imagen1.png
Imagen2
Imagen3

y asi sucesivamente, despues de ese punto, no importa cuantas veces se llame ya no agrega la extension, mas sin embargo los datos están ahi, ya que al agregarse la extension en el nombre se ve perfectamente. ¿Alguien sabe por que puede pasar esto?

6
C# / Re: Problemas con AxWindowsMediaPlayer
« en: Viernes 9 de Abril de 2010, 00:44 »
El control activex mediaplayer basa sus codecs en los instalados en el sistema, si existe una solución de como cargar los codecs automaticamente la verdad no tengo idea, pero en este caso veo mas practico convertir el video usando los codecs "estándar" de windows.

7
C# / Re: Comunicacion con Puerto Serie
« en: Viernes 9 de Abril de 2010, 00:38 »
Un delegado es basicamente un apuntador a una función, como un Form es una instancia de una clase, las funciones definidas dentro de ella (asi como los controles) no son accesibles a otros threads/instancias. Asi que en cuando creas un nuevo form, se puede pasar el delegado en el constructor, y asi puedes invocar el delegado de manera segura en otros thread/instancias. Pondría código pero la verdad que no manejo muy bien C++  :rolleyes:

8
C# / Re: Funciones delegadas en consola
« en: Viernes 26 de Marzo de 2010, 19:22 »
Funcione muy bien, el problema lo tenia por que creia que al igual que en windows forms podias accesar a las funciones de la clase sin ser estaticas  :rolleyes:

9
C# / Funciones delegadas en consola
« en: Miércoles 24 de Marzo de 2010, 20:10 »
Hola que tal estaba desarrollando una aplicacion en la cual tengo una clase static con metodos static. Mas o menos en codigo seria asi:
Código: C#
  1.  
  2. public static class A
  3. {
  4.     public delegate void Handler(parametros..);
  5.     public static void CreateHandler(Handler h)
  6.         {
  7.               ....
  8.         }
  9. }
  10.  
  11.  

El problema es que cuando llamo a esta funcion en el main me da un error de
Error   1   An object reference is required for the non-static field, method, or property 'Namespace.Program.Reader(System.IntPtr, System.IntPtr)'   
y en la clase que contiene el main es de la forma:
Código: C#
  1.  
  2. class Program
  3.     {
  4.         public void Reader(IntPtr wParam, IntPtr lParam)
  5.         {
  6.             ....
  7.         }
  8.  
  9.         static void Main(string[] args)
  10.         {
  11.             A.CreateHandler(Reader)
  12.             ....
  13.         }
  14.  
  15.  
  16.  

Simplemente no se a que se deba el error, ademas el metodo Reader no lo puedo llamar desde el main, de hecho no "veo" ninguna otra funcion desde el main. Hay algo que este haciendo mal?

10
C# / Re: Carga de numeros enteros
« en: Jueves 18 de Marzo de 2010, 17:18 »
como decia josegomez tienes que convertirlos en una linea de ejemplo:
Código: C#
  1.  
  2. int numRecibido = Int32.Parse(Console.ReadLine());
  3.  
  4.  
De hecho cada tipo de valor (float, double, decimal ....) tiene su funcion Parse

11
C# / Re: TCP/Sockets enviar y escuchar en 2 puertos diferentes
« en: Jueves 18 de Marzo de 2010, 16:12 »
Para tus propositos hay dos clases que facilitan el manejo de cad una de las actividades (solo necesitan IP y puerto), esas son TcpClient y TcpListener, en msdn hay ejemplos sencillos de como implementar estas dos clases.  :good:

12
C# / Re: Threads y Textbox
« en: Jueves 18 de Marzo de 2010, 16:05 »
Me funciono de maravilla, no habia probado usando el Invoke, Gracias por la ayuda!  :good:  :beer:

13
C# / Threads y Textbox
« en: Miércoles 17 de Marzo de 2010, 18:23 »
Hola que tal, pues bien tengo un form donde muestro un textbox, dentro del codigo defini una clase "Server" la cual al recibir un cliente separa esa conexion en un nuevo thread, el problema es que quiero imprimir y/o actualizar el estado de cada conexion en el textbox (a manera de log), como ya sabran no es posible directamente ya que las funciones modificadoras estan en otra clase, y ademas en otros thread. Ya he tratado de hacerlo con delegados y eventos pero al ser diferentes thread me salta una excepcion :argh: . ¿Alguien conoce alguna otra solucion posible?, he leido que se podria usar el BackgroundWorker pero no entiendo de que forma me podria ayudar (entiendo que seria una especie de sustituto de threads) de antemano gracias!

Páginas: [1]