• Viernes 29 de Marzo de 2024, 13:52

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 - Jeysscarr

Páginas: 1 ... 4 5 [6]
126
C# / Re: "#define" pero en C#?
« en: Lunes 12 de Abril de 2010, 05:03 »
Cita de: "ehguacho"
Cita de: "Jeysscarr"
jeje no sera con "CONST"

en c++: #define ALTO 500
en c#: public const Alto=500;
gracias por tu respuesta Jeysscarr! pero eso no es precisamente lo que estoy buscando, porque a los #define los uso (usaba, mejor dicho, en C++) como "pseudo-funciones" digamos...
por ejemplo:

Z(VAR) VAR++; X + Y

...entonces podia pasar argumentos a los "#define" (en el ejemplo el parametro seria VAR). eso es justamente lo q quiero hacer. de ser posible los usaba asi porque es mucho mas rapido que andar usando funciones, incluso si estas las declaraba como "static inline"

El problema es que el preprocesador de C# solo usa #define y /define para definir simbolos y despues evaluarlos con #if y #else.. por ejemplo para usar correctamente un #define en c# deberias usarlo antes de los using y solo determinando el nombre del simbolo:

#define DEBUG

using System...;

127
C# / Re: "#define" pero en C#?
« en: Lunes 12 de Abril de 2010, 04:47 »
mmmmm ok, tengo entendido que las directivas de preprocesador de C# son totalmente iguales que las de C++ con la unica limitación de que estas se tienen que hacer antes de escribir codigo alguno C# en el fichero en donde se describan...

es decir antes de cualquier Using o cosa C# por el estilo...

Ejemplo:
Código: C#
  1. #define PI 3.14
  2. #define AREA_CIRCULO(x) PI * (x) * (x)
  3.  //C++
  4. //Ahora podemos usar la macro como si fuera función normal:
  5.  
  6. void main() {
  7.    int a;
  8.    a = AREA_CIRCULO(3);
  9. }
  10.  
  11. //Durante la compilación la macro se expande a:
  12.  
  13.   a = 3.14 * (3) * (3)
  14.  
  15. //y obtenemos el resultado esperado.
  16.  

Eso seria en C++..... pero lamentablemente No es posible en C #. El #define sólo permite definir símbolos. En su lugar utiliza un método estático que toma un objeto como parámetro

128
C# / Re: poner sonidos guardados en C#
« en: Lunes 12 de Abril de 2010, 02:30 »
Hola como estas, la solucion es realmente sencilla

buscate en REFERENCIas en el explorador de soluciones y has click derecho.. despues en la opcion AGREGAR REFERENCIA

te van a aparecer un monton de dlls de visual studio
Buscate la que se llama Microsoft.VisualBasic

Agregala...
despues usa el espacio de nombres en el formulario asi: Using Microsoft.VisualBasic.Devices;

Ahora vas a poder usar una clase llamada audio.... en algo asi como esto:

Código: C#
  1.  
  2. Using Microsoft.VisualBasic.Devices;
  3.  
  4. void Reproducir(string ruta)
  5. {
  6.       Audio miAudio=new Audio();
  7.       miAudio.Play(ruta);
  8. }
  9.  
  10.  

Espero te sirva

129
C# / Re: "#define" pero en C#?
« en: Lunes 12 de Abril de 2010, 02:19 »
jeje no sera con "CONST"

en c++: #define ALTO 500
en c#: public const Alto=500;

130
C# / Re: Problemas con metodo Save Imagenes.
« en: Sábado 10 de Abril de 2010, 02:06 »
Porque no pruebas con esto...
Lo hice con mi form... creo que para capturar toda la pantalla es aun mas sencillo si usas Screen.primaryScreen.Bounds

Obviamente deberas validar si ya existe un archivo llamado igual y todas esas cosas pero pienso que es mas sencillo este codigo

Código: C#
  1.  
  2.  
  3. //variable global
  4.  int cont = 0;
  5.  
  6.         void GuardarPantalla()
  7.         {
  8.             Graphics gr = this.CreateGraphics();
  9.             SizeF Tamaño = this.Size;
  10.             Bitmap bm = new Bitmap((int)Tamaño.Width, (int)Tamaño.Height);
  11.             Graphics gr2 = Graphics.FromImage(bm);
  12.             gr2.CopyFromScreen((int)this.Location.X, (int)this.Location.Y, 0, 0, Tamaño.ToSize());
  13.             bm.Save("Imagen"+ cont +".Png", System.Drawing.Imaging.ImageFormat.Png);
  14.             cont++;
  15.         }
  16.  
  17.         private void button2_Click(object sender, EventArgs e)
  18.         {
  19.             GuardarPantalla();
  20.         }
  21.  
  22.  

131
C# / Listview Vista Reporte Personalizada
« en: Viernes 9 de Abril de 2010, 21:52 »
Hola... pues es algo realmente sencillo pero creo que es útil para quien usa el listview tal cual como microsoft lo trajo al mundo

me cree una clase que hereda del listview pero he agregado dos caracteristicas:
1. Tiene la posibilidad de determinar el indice de la columna "principal" del listview..es decir, la columna que se adaptará al tamaño del list al este cambiar de tamaño sin afectar el tamaño de las demás. (Por defecto es -1 es decir ninguna columna)
2. Colorea  las filas con dos tonos predeterminados o con los que el usuario determine (en este caso.. White y Gainsboro), el primero para las filas impares y el segundo obviamente para los multiplos de 2 tal como en los gridview, esto es aparte del fondo.... se hace a traves del método "Colorear", usted carga los datos en su listview y al final.. pone.. Listview.Colorear();

Dejo un adjunto como ejemplo de como se ve cuando uno lo configura...

sin más aqui está el código:
Código: C#
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Windows.Forms;
  7. using System.Drawing;
  8.  
  9. namespace ControlesJey
  10. {
  11.     class MiListView:ListView
  12.     {
  13.         public MiListView()
  14.         {
  15.             this.View = View.Details;
  16.             this.GridLines = true;
  17.             this.FullRowSelect = true;
  18.             this.HideSelection = false;
  19.         }
  20.  
  21.         int colp=-1;
  22.         public int IndiceColumnaPrimaria
  23.         {
  24.             get{return colp;}
  25.             set{colp=value;}
  26.         }
  27.  
  28.         Color c1=Color.White;
  29.         public Color ColorFilasImpares
  30.         {
  31.             get { return c1; }
  32.             set { c1 = value; }
  33.         }
  34.  
  35.         Color c2=Color.Gainsboro;
  36.         public Color ColorFilasPares
  37.         {
  38.             get { return c2; }
  39.             set { c2 = value; }
  40.         }
  41.  
  42.  
  43.         protected override void OnResize(EventArgs e)
  44.         {
  45.             base.OnResize(e);
  46.             if ((this.Columns.Count > 0)&&(colp!=-1))
  47.             {
  48.                 int anchoCol=0;
  49.                 for (int i = 0; i <= this.Columns.Count - 1; i++)
  50.                 {
  51.                     if (i != colp)
  52.                     {
  53.                         anchoCol += this.Columns[i].Width;
  54.                     }
  55.                 }
  56.                 anchoCol = (this.Width - anchoCol) - 22;
  57.                 this.Columns[colp].Width = anchoCol;
  58.             }
  59.            
  60.         }
  61.  
  62.         public void Colorear()
  63.         {
  64.             int cont = 1;
  65.             foreach (ListViewItem it in this.Items)
  66.             {
  67.                
  68.                 if (cont % 2 == 0)
  69.                 {
  70.                     it.BackColor = c2;
  71.                 }
  72.                 else
  73.                 {
  74.                     it.BackColor = c1;
  75.                 }
  76.                 cont++;
  77.             }
  78.         }
  79.        
  80.     }
  81. }
  82.  
  83.  
  84.  

132
C# / Re: Cambiar entre textbox al pulsar enter
« en: Viernes 9 de Abril de 2010, 20:40 »
Pues si lo que quieres es ahorrar codigo crea una clase llamada MITextBox o algo por el estilo

y hereda de la clase base System.Windows.Forms.Textbox

ahora debes agregar una propiedad que se llame TextboxSiguiente o algo asi, yo lo hice con esta clase:



Código: C#
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Windows.Forms;
  7.  
  8. namespace MiTextBox
  9. {
  10.     class TextBoxPersonalizado:System .Windows .Forms .TextBox
  11.     {
  12.         TextBox t;
  13.         public TextBox txtSiguiente
  14.         {
  15.             get
  16.             {
  17.                 return t;
  18.             }
  19.             set
  20.             {
  21.                 t = value;
  22.             }
  23.         }
  24.  
  25.         protected override void OnKeyPress(KeyPressEventArgs e)
  26.         {
  27.             base.OnKeyPress(e);
  28.             if ((e.KeyChar == (char)13)&&(txtSiguiente !=null))
  29.              {
  30.                 txtSiguiente.Focus();
  31.              }
  32.         }
  33.     }
  34. }
  35.  
  36.  

al hacer 'Overrides' el evento Onkeypress de la clase base ya tienes determinado el codigo que los compañeros te dieron y wala..

generas el proyecto y esto generará un nuevo control llamado textboxpersonalizado
asi en vez de usar Textboxes usaras MiTextox1, MItextbox2 y asi todos los que quieras...
funcionaran perfectamente igual pero tendran algo adicional...
que en el panel de propiedades al poner un control en la propiedad TExtboxSiguiente se hara el cambio automaticamente

133
C# / Re: Tamaño Autoajustable de formulario
« en: Viernes 9 de Abril de 2010, 20:34 »
En la propiedad de los controles que se llama anchor puedes especificar como quieres que se ajuste cuando el formulario se mueve y cuando el formulario se cargue puedes poner el siguiente codigo: form1.windowsstate=maximized;

134
C# / Nueva página de ejemplos y tutoriales
« en: Miércoles 7 de Abril de 2010, 18:38 »
Hola.. bueno, la idea principal consiste en que estoy diseñando varios programas que manejan bases de datos complejas y he ido encontrando formas de simplificar ciertas consultas muy grandes y de usar controles de una manera muy sencilla con datos en MySQL, SQL Server.. Postgree.. de todo...

me surgió la idea de hacer vidoturoiales de estas cosas que estoy manejando pero ciertamente quisiera compartirlas con personas que esten interesadas de dar y recibir conocimientos... he creado una paginita en facebook en donde cargare tutos en video muy sencillos.. y si veo que a alguien le agrada la idea y se inscribe.. pues podriamos llenar un rincon de la red con conocimientos muy muy valiosos.. Gracias...

mi paginita se llama ejemplos C#
al lado de donde dice h t t p : / / w w w . f a c e b o o k . c o m  ponen
/pages/Ejemplos-C/111568165535010?v=wall#!/pages/Ejemplos-C/111568165535010?ref=mf

Ojala y pues se hagan inscriban para crear cosas muy buenas

Páginas: 1 ... 4 5 [6]