|
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 - JaviMarciano
51
« en: Miércoles 10 de Marzo de 2010, 01:03 »
alguien puede darme un ejemplo sencillo de las ventajas del polimorfismo
52
« en: Sábado 6 de Marzo de 2010, 18:32 »
Exactamente, solo que no al _nombre o _apellido, esas son las funciones, sino que a las variables nombre y apellido _nombre y _apellido son nombres de funciones qu enos permiten asignar y avergirgar los valores nombre y apellido
podes poner si queres
public string AveriguarNombre { get { return nombre; } set { conexion = nombre; } }
public string AveriguarApellido { get { return apellido; } set { conexion = apellido; } }
vos para manejar las variables privadas que tenes dentro de tu objeto (nombre, apellido), solamente manejas las funciones que te permiten asignarle o averoguar el valor, nunca tocas las variables en si. mandas una consulta a la funcion y la funcion (AveriguarNombre o AveriguarApellido) haran el resto. Ah claro ahora entiendo. muchas gracias por tu ayuda se aclaró un poco el panorama!
53
« en: Sábado 6 de Marzo de 2010, 18:13 »
En si el seter y el geter, es parte de encapsulamiento, vos por ejemplo cuando creas una clase, luego en tu proyecto principal creas un objeto cone sa clase po rej: Clase Empleado { Private string nombre; Private string apellido; //Como son privados no podemos acceder a las variables de esta clase asi no mas. //Bueno ahora es parte del encapsulameinto.
public string _Nombre { get { return nombre; } set { nombre= value; } }
public string _Apellido { get { return apellido; } set { apellido= value; } }
}
ahora en tu programa principal vas a crear un objeto:
Empleado miEmpleado = new Empleado;
//ahora vamos a asignarle el nombre y el apellido al nuesto miEmpleado;
miEmpleado._Apellido = "Pepe"; miEmpleado._Nombre = "Ramirez";
//lo que hicimos es asignarle a nuestras variables de ariba nombre y apellido los valores pepe y ramirez; (Usamos el SET) //ahora para leer esos valores usamos el GET pero lo unico que tenes q hacer es
Console.WrtiteLine (miEmpleado._Nombre)
//y te va a devolver el nombre que tiene la variable nombre en tu objeto miEmpleado; //Espero que te ayude eso Muchas gracias por tu respuesta. veamos si entiendo el get es para cuando necesito consultar el valor de la propiedad por ej: _Nombre? Console.WrtiteLine (miEmpleado._Nombre) y el Set para cuando deseo asignarle el valor miEmpleado._Nombre = "Ramirez";
54
« en: Sábado 6 de Marzo de 2010, 16:39 »
Hola, sabes algo de programacion orientad aa objetos? En eso estoy... Aprendiendo
55
« en: Sábado 6 de Marzo de 2010, 13:31 »
Hola Estoy tratando de crear una aplicación para manipular una base de datos y alguien me pasó el sig. código: public class Class_Conexion { private SqlConnection conexion; protected string Server = @"MARCHETTI";//servidor.... protected string BD = @"Prueba"; //base de datos
public Class_Conexion() { conexion = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + BD + ";Integrated Security=True"); }
public SqlConnection Conexion { get { return conexion; } set { conexion = value; } }
public void Close() { conexion.Close(); }
public void Open() { conexion.Open(); } public string Estado_de_Conexion() { return conexion.State.ToString(); } } alguien puede explicarme que hace exáctamente el método public SqlConnection Conexion { get { return conexion; } set { conexion = value; } } que hacen Set y Get?
56
« en: Jueves 4 de Marzo de 2010, 13:18 »
Hola Alquien puede darme una mano? en una web quiero agregar una funcionalidad: quiero que tenga la opción de elegir un punto de partida y un destino y que me muestre el Precio del transporte de ese viaje. Espero que me den una idea por lo menos como empezar o de donde buscar
57
« en: Miércoles 18 de Noviembre de 2009, 00:19 »
58
« en: Sábado 30 de Agosto de 2008, 00:42 »
Alguien trabajó con este Libro: El Libro de Visual C# 2005 Foxall, James D. (Ed. Anaya Multimedia) que opinión me pueden dar sobre el mismo??
59
« en: Jueves 28 de Agosto de 2008, 04:42 »
Le asignas el valor: false a la propiedad visible del panel en el evento Checked Changed: (Hace doble click en el radioButton y agrega el evento o selecciona el mismo, en el cuadro de propiedades hace click en el boton eventos buscas el Checked Changed y escribis: radioButton1_CheckedChanged) private void radioButton1_CheckedChanged(object sender, EventArgs e) { panel1.Visible = true; }
60
« en: Martes 26 de Agosto de 2008, 18:00 »
Si estás creando tu formulario arrastrando los controles de la barra de herramientas: buscas en el explorador de soluciones el archivo Form1.Designer.cs, abris el mismo y desplegas desde el signo "+" que está a la izquierda el código generado por el diseñador y donde están las asignaciones de valores de las propiedades del textBox // // textBox1 // this.textBox1.Location = new System.Drawing.Point(76, 157); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(100, 20); this.textBox1.TabIndex = 1;
le agregas el evento textBox1.KeyPress+=new System.Windows.Forms.KeyPressEventHandler(textBox1_KeyPress);
Quedaría algo así: this.textBox1.Location = new System.Drawing.Point(76, 157); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(100, 20); this.textBox1.TabIndex = 1; textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(textBox1_KeyPress);
En el Archivo Form1.cs Agregas el método: void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { }
Si estás creando tu aplicación desde código me avisas y te explico
61
« en: Martes 19 de Agosto de 2008, 00:11 »
Probaste con esto? int temp1 = Convert.ToInt32(drInicativa.GetValue(0));
estás seguro que los campos son te tipo entero?
62
« en: Lunes 18 de Agosto de 2008, 23:38 »
usas el primer ejemplo pero en vez de mostrar la tabla del 2 pedis que el usuario ingrese la tabla que desea ver: Console.Write("Ingrese la tabla que desea ver: "); multiplicando = Convert.ToInt32(Console.ReadLine());
el código quedaría así: int multiplicador,multiplicando; Console.Write("Ingrese la tabla que desea ver: "); multiplicando = Convert.ToInt32(Console.ReadLine()); for (multiplicador = 1; multiplicador <= 10; multiplicador++) Console.WriteLine(multiplicando+"x" + multiplicador + "=" + (multiplicando * multiplicador)); Console.ReadLine();
63
« en: Lunes 18 de Agosto de 2008, 23:23 »
Si entendí bien lo que queres hacer creo que esto te puede ayudar en algo: SaveFileDialog guardar = new SaveFileDialog(); // Extensiones disponibles guardar.Filter = "Text file (*.txt)|*.txt|XML file (*.xml)|*.xml|All files (*.*)|*.*"; // Muestra el cuadro de Dialogo guardar.ShowDialog(); if (guardar.ShowDialog()== DialogResult.OK) { //Crea un archivo con el nombre y la extensión recuperadas del cuadro de dialogo FileStream str = new FileStream(guardar.FileName + guardar.DefaultExt, FileMode.OpenOrCreate, FileAccess.ReadWrite); StreamWriter wr = new StreamWriter(str); //Escribe en el archivo el contenido del textBox wr.WriteLine(textBox1.Text); wr.Close(); }
64
« en: Lunes 18 de Agosto de 2008, 15:10 »
En un bucle de repetición vas mostrando el resultado de la multiplicación de un número por la variable que se va incrementando int multiplicador; for (multiplicador = 1; multiplicador <= 10; multiplicador++) Console.WriteLine("2x" + multiplicador + "=" + (2 * multiplicador)); Console.ReadLine();
para mostrar todas las tablas el usarías dos bucles de repetición anidados de la siguiente manera: int multiplicador,multiplicando; for (multiplicando = 1; multiplicando <= 10; multiplicando++) { for (multiplicador = 1; multiplicador <= 10; multiplicador++) { Console.WriteLine(multiplicando + "x" + multiplicador + "=" + (multiplicando * multiplicador)); } Console.WriteLine("n"); } Console.ReadLine();
65
« en: Domingo 27 de Julio de 2008, 15:10 »
private void button2_Click(object sender, EventArgs e) { try { if (richTextBox1.Text != "") { SqlConnection con = new SqlConnection("DATA SOURCE =(Local);INITIAL CATALOG =GutModas;USER ID=;PASSWORD=;Integrated Security=SSPI;"); con.Open(); SqlCommand com = new SqlCommand("INSERT INTO Recordatorios (Recordatorio,fecha) VALUES ('" + richTextBox1.Text + "','" + dateTimePicker1.Value.Day + "/" + dateTimePicker1.Value.Month + "/" + dateTimePicker1.Value.Year + "')", con); com.ExecuteNonQuery(); con.Close(); richTextBox1.Text = ""; MessageBox.Show("Recordatorio Grabado", "Mensaje"); } else MessageBox.Show("Debe Ingresar el Mensaje", "Alerta"); } catch { } }
66
« en: Domingo 13 de Enero de 2008, 16:25 »
Utiliza System.Drawing.REctangle para dibujar los rectangulos, las dimensiones de los rectangulos deben cambiar a medida que se cambia le tamaño de la ventana por lo cual en el evento Resizing de la ventana se deben modificar proporcionalmente el tamaño de los regtangulos asi como sus ubicaciones en la ventana. Muchas gracias por la respuesta. Utilizo un método para dibujar los rectángulos, el código quedaría algo así como sigue: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void dibujar(int a,int b, int c,int d) { System.Drawing.Pen myPen; myPen = new System.Drawing.Pen(System.Drawing.Color.Red); System.Drawing.Graphics formGraphics = this.CreateGraphics(); formGraphics.DrawRectangle(myPen, new Rectangle(a, b, c, d)); myPen.Dispose(); formGraphics.Dispose(); } private void button1_Click(object sender, EventArgs e) { } } }
67
« en: Viernes 11 de Enero de 2008, 17:36 »
Estimados miembros del foro tengo un problema y necesito una guía
estoy tratando de hacer una pequeña aplicación para dibujar unas ventanas
lo que necesito es que al ingresar unas medidas me dibuje una ventana con vidrios repartidos, por lo menos necesito una guía de que manera debería trabajar o que herramientas usar para dibujar rectangulos a escala
68
« en: Martes 30 de Octubre de 2007, 17:11 »
Tenes que declarar estos dos objetos como globales: public Point mouseOffset; public bool isMouseDown = false; private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.NoMove2D; int xOffset; int yOffset; // System.Windows.Forms.ToolTip=System.Windows.Forms.ToolTip; if (e.Button == MouseButtons.Left) { xOffset = -e.X - SystemInformation.FrameBorderSize.Width; yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height; mouseOffset = new Point(xOffset, yOffset); isMouseDown = true; } } private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (isMouseDown) { Point mousePos = Control.MousePosition; mousePos.Offset(mouseOffset.X, mouseOffset.Y); Location = mousePos; } } private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { // Changes the isMouseDown field so that the form does // not move unless the user is pressing the left mouse button. if (e.Button == MouseButtons.Left) { isMouseDown = false; } } private void Form1_Load(object sender, EventArgs e) { this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown); this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove); this.MouseUp += new MouseEventHandler(Form1_MouseUp); }
69
« en: Martes 25 de Septiembre de 2007, 16:10 »
Saludos a todos los miembros de la comunidad!
Alguien me puede dar unos ejemplos de usos de Delegados?
Muchas gracias!
70
« en: Domingo 2 de Septiembre de 2007, 18:32 »
Saludos a todos los miembros del Foro!! la duda que tengo es la sig: creo una Base de Datos con el sig. fragmento de código //En primer lugar se crea la conexión SqlConnection con = new SqlConnection("Data Source=(local);initial Catalog=master; User Id=;Password=;Integrated Security=SSPI;"); //Se Abre la Conex con.Open(); //Se Crea un comando, que en este caso crea la base de datos, utilizando la conexión con SqlCommand cmd = new SqlCommand("Create DataBase BaseDeDatos", con); //Se ejecuta el comando cmd.ExecuteNonQuery(); //Se Cierra la conexión con.Close(); hay alguna forma de especificar en qué directorio se almacenará la misma?
71
« en: Jueves 30 de Agosto de 2007, 20:03 »
Holas!! tengo una nueva duda: Cuál es el parámetro que debo pasarle a FindIndex de List<string> lista = new List<string>(); cuando escribo me dice (Predicate<string>match) lista.FindIndex(); Cargo el List con los datos de un Archivo: FileStream str = new FileStream("Clientes.txt", FileMode.OpenOrCreate, FileAccess.Read); StreamReader rd = new StreamReader(str); while (rd.Peek() > -1) { lista.Add(rd.ReadLine()); } rd.Close();
necesito obener el índice en el que se encuentra el dato que busco, para eliminar ese dato y el siguiente Alguien me puede dar una mano con eso?
72
« en: Viernes 24 de Agosto de 2007, 00:53 »
Hola viejo! Todo depende de la manera en que guardas los datos yo guardo una cadena por linea, por ejemplo Un Nombre. mirá: la metodología es la siguiente (una de ellas) tenes que abrir el archivo para lectura, crear un archivo auxiliar y abrirlo para escritura, vas recorriendo el Arhivo principal mientras vas comparando con la cadena que queres eliminar, en caso negativo copias lo que lees del archivo principal al auxiliar, cuando sea afirmativa la comparación no la copias, entonces al terminar de recorrer el archivo, tenes en el auxiliar todas las cadenas menos la que querías eliminar. Después borras el contenido del Arhivo principal (una forma de hacerlo es abriendolo en FileMode.Truncate) después pasas el contenido del archivo Auxiliar al Principal!! y listo ya te quedaron todas las cadenas menos la que querías eliminar!! pero como te dije hay otras formas: por ejemplo siguiendo el caso de tener guardados nombres, uno por linea, los podes volcar en un ListBox. Lo Borras de ahí con listBox1.Items.Remove(); y borras todo el contenido del archivo, luego pasas las cadenas que te quedaron en el listBox, luego de haber eliminado la que quieras, al Archivo, y también de esta forma te quedan todas las cadenas menos la que querías eliminar! ahí te dejo un ejemplo del código que uso para eliminar un Apellido del Archivo Personal. En el mismo tengo Guardado el Apellido en una Linea y El Nombre en la siguiente string CadenaComp; FileStream str = new FileStream("Personal.txt", FileMode.OpenOrCreate, FileAccess.Read); StreamReader rd = new StreamReader(str);
FileStream strwraux = new FileStream("auxiliar.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter wraux = new StreamWriter(strwraux);
while (rd.Peek() > -1) { CadenaComp = rd.ReadLine(); ; string apel = rd.ReadLine(); if (CadenaComp != textBox2.Text.ToUpper()) { wraux.WriteLine(CadenaComp); wraux.WriteLine(apel); } else if (apel != textBox1.Text.ToUpper()) { wraux.WriteLine(CadenaComp); wraux.WriteLine(apel); } else MessageBox.Show("Fue Eliminado: " + textBox1.Text + ", " + textBox2.Text, "Eliminado", MessageBoxButtons.YesNoCancel); }
rd.Close(); wraux.Close();
FileStream strborrarpr = new FileStream("Personal.txt", FileMode.Truncate, FileAccess.Write); StreamWriter borrapr = new StreamWriter(strborrarpr); borrapr.Close();
FileStream strleer = new FileStream("auxiliar.txt", FileMode.OpenOrCreate, FileAccess.Read); StreamReader leer = new StreamReader(strleer);
FileStream str1 = new FileStream("Personal.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter wrpr = new StreamWriter(str1);
while (leer.Peek() > -1) { wrpr.WriteLine(leer.ReadLine()); }
leer.Close(); wrpr.Close();
FileStream deleteaux = new FileStream("auxiliar.txt", FileMode.Truncate, FileAccess.Write); StreamWriter delaux = new StreamWriter(deleteaux); delaux.Close(); textBox2.Text = ""; textBox1.Text = "";
En caso contrario, puedo guardar en la misma linea El Apellido, el Nombre, etc. Pero de esta manera, tendría que asignarle un número considerado de caracteres a cada dato y después leer la linea y discriminar los caracteres con funciones de cadena, o tb se puede leer caracter por caracter directamente del archivo, o eso creo, en otro lenguaje por lo menos lo hago así! espero que te quede claro y te sea de ayuda!!!
73
« en: Martes 21 de Agosto de 2007, 04:16 »
La pregunta parece que es vieja, pero no tiene respuesta. Se podría probar con lo siguiente: cuando se elimina la fila: Limpiar el DGrid DataGridView1.Rows.Clear();
y después volver a llenar el DataGrid
74
« en: Martes 21 de Agosto de 2007, 02:49 »
Hola, Como va? Como vos decis es fácil, una vez relacionado el DataGridView con la Taba, solo enlazas el textBox de la siguiente forma: Binding bind = new Binding("Text", dataGridView1.DataSource, "nombre"); textBox1.DataBindings.Add(bind);
Binding bind2 = new Binding("Text", dataGridView1.DataSource, "apellido"); textBox2.DataBindings.Add(bind2);
Y así con cada una de las columnas de tu Tabla y sus respectivos textBox y al cambiar el registro seleccionado, se Cambia el valor almacenado en el textBox como vos queres! Un Saludo, espero que te sea de ayuda!
75
« en: Jueves 16 de Agosto de 2007, 16:29 »
hey jugran28, como va? para guardar en memoria física tienes que hacerlo de la sig forma: FileStream str = new FileStream("Resultado.txt", FileMode.Append, FileAccess.Write); StreamWriter WrResultado = new StreamWriter(str); WrResultado.WriteLine(suma[i,j]); WrResultado.Close();
Se Crea un Archivo ".txt" llamado "Resultado" El FileMode es Append. De este modo se Abre un Archivo y realiza una búsqueda hasta el final del mismo, entonces cada vez que obtengas un resultado, producto de una nueva suma lo agregas al final del archivo, en caso contrario FileMode debe ser OpenOrCreate, este abre un archivo y si no existe lo crea, entonces cada vez que guardes un resultado reemplazará al anterior con WrResultado.WriteLine(); escribis una linea en el archivo en tu caso el resultado de la suma y por último cerras el archivo: WrResultado.Close() using System; using System.Collections.Generic; using System.Text; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { float[,] A = new float[10, 10]; float[,] B = new float[10, 10]; float[,] suma = new float[10, 10]; int x, y; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { Console.Write("ingrese el valor en A[{0},{1}]: ", i, j); x = Int32.Parse(Console.ReadLine()); A[i, j] = x; } } Console.WriteLine("\n\n"); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { Console.Write("ingrese el valor en B[{0},{1}]: ", i, j); y = Int32.Parse(Console.ReadLine()); B[i, j] = y; } } Console.WriteLine("\n\nResultados:\n\n"); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { suma[i, j] = A[i, j] + B[i, j]; Console.WriteLine("Resultado suma [" + i + "][" + j + "] =" + suma[i, j]); } } Console.ReadLine(); FileStream str = new FileStream("Resultados.txt", FileMode.Append, FileAccess.Write); StreamWriter WrResultado = new StreamWriter(str); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { WrResultado.WriteLine("Resultado [{0},{1}]= {2}",i,j,suma[i,j]); } } WrResultado.Close(); Console.ReadLine(); FileStream str1 = new FileStream("Resultados.txt", FileMode.OpenOrCreate, FileAccess.Read); StreamReader rd = new StreamReader(str1); while (rd.Peek() > -1) { Console.WriteLine(rd.ReadLine()); } rd.Close(); Console.ReadLine(); } } }
ahí te dejo el código completo, suma un arreglo bidimensional lo muestra en pantalla, lo guarda en un archivo, y luego muestra lo que se guardó en el archivo. El Archivo queda guardado en el siguiente directorio: Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug Espero que quede claro y te sea de ayuda!!
|
|
|