|
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 - gerardoskype
26
« en: Miércoles 20 de Enero de 2010, 04:25 »
Esto es muy facil, dentro del evento o herramienta que utilizaras en mi caso, selecciono la celda y con un menu contextual "Eliminar", de nuevo corres la suma de las filas.
En pocas palabras de nuevo el foreach.
saludos.
27
« en: Martes 19 de Enero de 2010, 21:39 »
1._ Llamemos al DataGrindView "DG", una Label o un TextBox para poner la suma. el data contiene una columna "Producto" y o tra "Precio". 2._ Suponiendo que tenemos que ingresar en la misma ventana la info a "DG"; Creamos 2 Labels y 2 TextBox para la info. 3._ Como tenemos que agregar un boton para procesar nuestra info creamos un Button "x". 4._ Ponemos una descripcion en el textbox1 y ponemos un precio x en el textbox2 y presionamos el button private void button1_Click(object sender, EventArgs e) { DG.Rows.Add(textBox1.Text, textBox2.Text); //aqui agregamos la info a la data int sumatoria = 0; foreach(DataGridViewRow row in DG.Rows) { sumatoria += Convert.ToInt32(row.Cells[1].Value); //aqui recorre las celdas y las va sumando } txtPrecioTotal.Text = Convert.ToString(sumatoria); //aqui se graba el total }
espero te sirva.
28
« en: Martes 10 de Noviembre de 2009, 18:13 »
y como seleccionas al cliente, es decir: de un combo, de un textbox, un datagrid. yo hice algo parecido, solo que el form buscar no era mdi.
en el form a llenar ( un boton buscar cliente) das click y abre el form buscar_cliente:
private void buscarcliente_Click(bla,bla,lba,evento) { frmbuscarcliente frm = new frmbuscarcliente(); cliente = frm.codigocliente; frm.showdialog(); }
en el form burcar clintes private void (el evento que creas necesario, dobleclick, click, enter etc,etc) { codigocliente = bindingsource.potition; }
y para los enabled
void cargar() { if clienteTextBox.text.length == 0 textbox.enabled = false; else textbox.enabled = true;
pues espero te sirva y si necesitas el codigo completo nomas lo pides.
29
« en: Martes 10 de Noviembre de 2009, 05:20 »
Y CUAL ES LA RAZON POR LA CUAL NECESITAS REALIZAR ESOS BLOQUEOS. QUE TIPO DE PROGRAMA ESTA MANIPULANDO O CREANDO.?
CREO QUE SI DIERAS MAS DATOS SE TE PODRIA APOYAAR MAS..
30
« en: Martes 3 de Noviembre de 2009, 17:48 »
Agrasesco el codigo y se que en un futuro me servira de mucho. Tambien agradeso la respuesta, pero lamento decirte que no es asi la cosa:
Veras, yo tengo una base Access, en la cual voy a guardar en la columna Modelo un numero de modelo:
ejemplo: modelo 10203 (de zapato) en cual cuenta o se fabrica en 5 colores { azul , rojo, blanco, verde, y amarillo }
pero si yo guardo cada color en una columna, al momento de llamar los colores, debere agrgar una combo por color, la pregunta es:
como o en que forma guardo los colores en la tabla, para que sea solo un combobox quien los jale o muestre o:
como puedo llamar a las x numero de columnas que contienen los colores para ser mostrados en el combobox.
Espero que mi informacion les sirva para entender mi pregunta. Se que se trata de relaciones entre tablas, pero no logro hacerlo.
31
« en: Martes 3 de Noviembre de 2009, 05:08 »
Bueno, el siguiente problema me surgio a raiz de ver, creer y querer, hacer un programa con base access.
He visto un programa de una empresa que vende zapatos, el cual a sido creada en Visual basic .net y Sql Server 2005. donde consta de tres cuadros y un combobox. en el primer cuadro, se teclea el modelo, el mismo crea el puente para mostrar los colores en los cuales se maneja el modelo tecleado. y en los demas cuadros se pone la talla y cantidad deseadas. la pregunta es la siguiente: ¿como puedo mostrar mas de un color en una tabla y mostrarla en el combo box?.
¿Sera una relacion o quizas una consulta? sera que alguien tenga una respuesta: de antemano gracias.
32
« en: Lunes 2 de Noviembre de 2009, 23:24 »
bueno, yo te pongo numeros enteros,y la verdad no entiendo porque utilizas un argumento como double.parse, si se tratan de pueros numeros enteros.
txtvv.Text (textbox3) = (double.Parse(txtvv.Text) + double.Parse(txtop1.Text)).ToString() txtvv.Text (textbox3) = esta linea indica que txtvv.text contiene el valor de textbox3 o es un ejemplo de que lugar lleva en el formulario.??
lo que yo hago es darle el valor de los txtsbox de manera directa al textbox 3 por eso, Convert.toint32(textbox.text) es decir lo que tu escribes y entra en formato string lo conviertes a entero para poder realizar la suma y despues lo inviertes de nuevo para mostrarlo como string en el textbox.
(double.Parse(txtvv.Text) + double.Parse(txtop1.Text)).ToString() aqui, lo que puedes hacer es primero sumarlos valores de los textbox y despues de la suma realizar la conversion a string por medio del convert. pero lo que no entiendo es que si son votos, y no porcentajes de los votos, utilices "double" en lugar de "int";
con respecto a guardar en base sql, lo haces en local o red. lamentablemente no manejo sql en red, solo de manera local. pero en caso de ser local, podria quedar asi: private void guardar() { this.validate(); this.votosbindingsource.endedit(); this.votostableadapter.update(dataset,tablavotos); } catch(ConstraintException ex) { MessageBox.Show(ex.Message); } }
por cierto te mande por correo una prueba quizas aun no lo cheks
33
« en: Domingo 1 de Noviembre de 2009, 18:20 »
Pues creo que la respuesta la tienes en el ultimo comentario que haces.
No tiene un valor , sino mas bien es el valor que regresa o
recibe de los datos que estan dentro de el.
Puede ser Int, string, Bool etc. etc.
34
« en: Sábado 31 de Octubre de 2009, 19:06 »
para cambiar de textbox debes generar un evento Keypress o keyDown(dependiendo de tus necesidades)
para la suma simultanea debes realizar un par de pasos por textbox, primero debesras convertirlos a int32(los valores) y despues validar que no esten vacios, porque sino te generara un error que creo que es formatExcepcion.
y con respecto a guardar, no se en donde o en que lo quieras guardar.
proporciona mas datos.... ok?.
35
« en: Viernes 30 de Octubre de 2009, 05:10 »
Mira como dice le buen amigo Tanke, es un codigo Ascii. lo cual se refiere a que al pulsar una tecla es enviada o no. Los Tres eventos que se pueden manejar son:
* KeyPress *KeyUp *KeyDown
el evento que necesitas es KeyPress y sirve seleccionando el textbox y generando el evento.
prueba generandio el codigo que te puse.
36
« en: Jueves 29 de Octubre de 2009, 06:09 »
if ((e.KeyChar >= 48 && e.KeyChar <= 57) || (e.KeyChar >= 97 && e.KeyChar <= 122) || (e.KeyChar >= 65 && e.KeyChar <= 90) || (e.KeyChar == 8)) e.Handled = false; else e.Handled = true;
solo pon los caracteres que deseas que se muestren y listo.
37
« en: Martes 27 de Octubre de 2009, 22:47 »
Veo la problematica y si no me equivoco, lo que tu quires es que, ¿ Cuando generes el archivo se guarde con la fecha actual, y asi todos los dias?
ahora, veo que la solucion que tienes es en consola, pero yo tenia ese mismo problema con forms.
loque hice fue, poner una variable con la fecha del dia, y cuando guardaba los datos, se generaba el archivo con la fecha del dia.
solo que yo lo he manejado con RichTextBox y DatagrindView.
Comenta.
38
« en: Martes 27 de Octubre de 2009, 18:30 »
ahora creamos el siguiente codigo que pondremos en el evento load de "Menuprincipal";
private void Administrar_nivel() { entrada.Play(); // etusuario.Text = usuario1;
mnu_altas.Enabled = nivel; mnu_modif.Enabled = nivel; mnu_registros.Enabled = nivel; mnu_apagarpc.Enabled = nivel; mnu_reiniciar.Enabled = nivel; } esto lo que hace es que el nombre del usuario guardado en usuario1 se escribira en etusuario, en la barra de estado. y nivel si el valor es si, o no le dara acceso a los menus que esten habilitados o no.
Este es mi evento Load; #region - Evento Load del Form - private void MenuPrincipal_Load(object sender, EventArgs e) { botoncerrar();// Elimina el Boton Cerrar del Formulario Administrar_nivel();//Crea los Privilegios de usuario y lo muestra. etfecha.Text = DateTime.Now.ToLongDateString(); }
espero te sirva y comenta tus dudas, espero poder subir el codigo para que lo descargues y tranajes con el.
Suerte #endregion
39
« en: Martes 27 de Octubre de 2009, 18:21 »
MenuPrincipal frm = new MenuPrincipal(); // esta linea asiga el valor a frm. frm.usuario1 = dsvehiculos.Accesos[accesosBindingSource.Position].Descripcion_Usuario; //esta le asigna valor a public string Usuario1 que esta en menuprincipal, y ese valor a su vez nos permitira hacer otra cosa mas adelante. frm.nivel = dsvehiculos.Accesos[accesosBindingSource.Position].Administrar; //esta linea nos dara los privilegios this.Hide(); // esta esconde el formulario actual despues de haber invocado al Menuprincipal. frm.ShowDialog(); // llamamos o invocamos Menu Principal en MenuPrincipal crea dos variables public string usuario1; y public bool nivel;
crearemos un Menustrip y un statusstrip, el primero le vamos a poner varios menus los que queras pero renombralos por ejemplo mnuAbrir, mnuAdministrar, etc
al segundo
crea un statuslabel y nombralo etusuario, en propiedades: autosize = false, size =250,30;
40
« en: Martes 27 de Octubre de 2009, 17:57 »
ahora vulve al diseñador de formulario y desde Origen de Datos, jala el datagrind de usuarios, esto agregara, un navogator, dataset , tableadapter. borra el datagrind despues de haber agregado estos elementos.
Agrega el siguiente codigo;
#region - // Realiza la Busqueda y en su caso da acceso private void proceso() { { #region - Crea el acceso y busqueda a las tablas - DataTable miTabla = dsvehiculos.Accesos; // este es el dataset y la tabla que utilizo DataRowCollection cfilas = miTabla.Rows; DataRow[] filaBuscada; string NL = Environment.NewLine; string criterio = "[Password] Like '" + ctpassword.Text + "'"; // este busca en la Columna "Password"(en micaso) lo que esta en la caja de texto #endregion
#region - Busca en la tabla y si no encuentra manda el form "Error" - filaBuscada = miTabla.Select(criterio); if (filaBuscada.GetUpperBound(0) == -1) { error.Play(); //ojo, solo si has agregado para sonido sino borralo Error frm = new Error(); // y en lugar de llamar a otro formulario como lo hago yo frm.Show(); // agrega un MESSAGEBOX. this.ctpassword.Clear(); return; } #endregion
#region - Busca y al encontrar da acceso y carga usuario y privilegios - int i, j; for (i = 0; i <= filaBuscada.GetUpperBound(0); i++) { { for (j = 0; j <= cfilas.Count - 1; j++) if (cfilas[j].Equals(filaBuscada)) { accesosBindingSource.Position = j; tiporeg = "Modificaciones"; Temporizador.Stop(); string mensaje = "Acceso autorizado a : " + Environment.NewLine; mensaje += "" + Environment.NewLine; mensaje += dsvehiculos.Accesos[accesosBindingSource.Position].Users; esta linea hace que aparesca el nombre de usuario en el mensaje info.Play(); MessageBox.Show(mensaje, "Administrador.Accesos", MessageBoxButtons.OK, MessageBoxIcon.Question); usuario = dsvehiculos.Accesos[accesosBindingSource.Position].Users;// esta linea esta de mas, no realiza nada.
MenuPrincipal frm = new MenuPrincipal(); frm.usuario1 = dsvehiculos.Accesos[accesosBindingSource.Position].Descripcion_Usuario; frm.nivel = dsvehiculos.Accesos[accesosBindingSource.Position].Administrar; //this.ShowIcon = false; //this.ShowInTaskbar = false; this.Hide(); frm.ShowDialog(); } } } #endregion }
} #endregion
41
« en: Martes 27 de Octubre de 2009, 17:38 »
Ok, primero que nada, necesitamos una base acces, que contenga como minimo "Usuario", "Contraseña", "Nombre Completo", y una columna con valor"Si/No"; luego agregarlo al proyecto.
ok, ahora un formulario "Menu Principal" y un formulario "Login","Inicio" o como quieras ponerle.
En el Form "login" necesitas un Label que diga "Ingrese Clave de Usuario", un TextBox donde escribiremmos, de preferencia en propiedades, localiza "Password Char" y agregale un "*". dos Botones uno btok y el otro btsalir.
yo le he agregado, sonido y que me desactive el boton cerrar del formulario y al pulsar las teclas Alt. + F4 no me cierre el formulario solo el boton cerrar lo puede hacer.
Da doble click sobre btsalir y te mandara al codigo en el cual debera quedar asi.
#region - // Boton Cerrar - private void btsalir_Click(object sender, EventArgs e) { this.Dispose(); // o This.Application.Exit(); } #endregion continuo abajo...
42
« en: Martes 27 de Octubre de 2009, 05:22 »
Bueno, yo tengo un login que unicamente establece relacion con una clave y te puede dar nivel o establecer privilegios. Es es base access local. si te interesa manda mensaje.
43
« en: Martes 27 de Octubre de 2009, 03:08 »
Bueno, que yo sepa cuando usas mdicontainer no puedes establecer Formulario.ShowDialog(); porque te marca error.
por otro lado yo utilizo el siguiente codigo para llamar solo 1 vez al form.hijo
foreach (Form f in this.MdiChildren) { if (f.Name == "Nombre del Formulario a llamar") { f.Activate(); return; } } Proveedor frm = new Proveedor(); frm.MdiParent = this; frm.WindowState = FormWindowState.Maximized; frm.Show();
y para cuando llamo a otro sin haber cerrado el primero.
private void "Formulario.hijo"_Deactivate(object sender, EventArgs e) { this.Dispose(); } para cerrarlo. y cuando lo llamas solo se actualizo. no se abrio tantas veces como lo hacia antes.
espero te sirva, tenia otro pero en el momento no lo recuerdo.
44
« en: Miércoles 21 de Octubre de 2009, 06:04 »
aca para que lo selecciones desde un OPENFILEDIALOG puedes crear un boton y agregarle el evento click o un keypress
OpenFileDialog dialog = new OpenFileDialog(); // Se muestra al usuario esperando una acción
DialogResult result = dialog.ShowDialog(); // Si seleccionó un archivo (asumiendo que es una imagen lo que seleccionó) // la mostramos en el PictureBox de la inferfaz
if (result == DialogResult.OK) { this.DibujoPictureBox.Image = Image.FromFile(dialog.FileName); }
45
« en: Miércoles 21 de Octubre de 2009, 05:48 »
bueno, lo que notè es que creas la subclave, pero el valor alfanumerico en donde se encuentra la ruta del ejecutable no.
46
« en: Miércoles 21 de Octubre de 2009, 05:28 »
Tengo un codigo para que lo analices pero como no tengo privilegios para poner enlaces porque no me mandas un correo y te contesto con le codigo, esta en un servidor rapidSha.. para que lo descargues.
47
« en: Miércoles 21 de Octubre de 2009, 04:52 »
Bueno, yo los utilizo para poner fondos, imagenes, crear efectos, depende de lo que necesite.
puedes ponerlo visible u ocultarlo. puedes cambiar los tamaños o posiciones.
agregales eventos con el mouse o al repintarse.
aca un codigo que cuando pasas el mouse sobre el panel cambia de color y el cursasr tambien
private void InitializeComponent() { this.panel1 = new System.Windows.Forms.Panel(); this.SuspendLayout(); // // panel1 // this.panel1.Location = new System.Drawing.Point(143, 54); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(300, 300); this.panel1.TabIndex = 0; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(586, 408); this.Controls.Add(this.panel1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false);
}
private void panel1_MouseEnter(object sender, EventArgs e) { panel1.BackColor = System.Drawing.Color.Green; this.panel1.Cursor = Cursors.Hand; }
private void panel1_MouseLeave(object sender, EventArgs e) { panel1.BackColor = System.Drawing.Color.Navy; this.panel1.Cursor = Cursors.WaitCursor; }
48
« en: Martes 20 de Octubre de 2009, 23:53 »
utiliza un elemento TIMER y ProgressBar
cuando el evento Tick o Elapsed esten activos el progress avance.
#region - barra de progreso - private void Temporizador_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { if (progreso.Value == progreso.Maximum) { Temporizador.Stop(); Application.Exit(); } progreso.PerformStep(); } catch (NullReferenceException) { Temporizador.Dispose(); } } #endregion
style = tipo de barra.
Step = la velocidad a la que avanza el progress
Maximum = pones el tiempo maximo del progress
49
« en: Martes 20 de Octubre de 2009, 23:46 »
puedes definir que en un textbox solo te acepte letras o numero y algunos signos o catacteres tales como ( \".\" + - * etc.)
if (e.keychar == Convert.tochar (numero de caracter) || e.keychar >= Convert.tochar (numero de caracter)) || e.keychar <= Convert.tochar (numero de caracter) { e.handled = true; } else e.handled = false;
50
« en: Martes 20 de Octubre de 2009, 23:39 »
if (e.keycode == keys.(describe la te tecla)) { e.handled = true; } else e.handled = false;
|
|
|