• Viernes 29 de Marzo de 2024, 13:53

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

Páginas: 1 [2] 3 4 ... 32
26
C# / Re:ejemplo de aplicacion con c#, mysql y reportes
« en: Domingo 18 de Agosto de 2013, 01:57 »
No se hacen tareas

27
C# / Re:Cómo guardar rutas?
« en: Miércoles 14 de Agosto de 2013, 20:32 »
Vas por buen camino, aunque me parece que necesitas aprender un poco mas sobre el lenguaje C#.

Bueno, por lo que comentas, para almacenar los puntos, dado que el numero de puntos puede ser variable, en lugar de usar un vector, lo mejor es usar una lista enlazada, y preguntar cuantos punto se van a guardar, cuando necesites saber cuantos elementos has guardado puede usar la propiedad Count de List<>.

Te dejo un pequeño ejemplo para que te des una idea:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    struct Ruta
    {
        public List<int> p;
        public float l;
        public float t;
    }

    class Program
    {

        [STAThread]
        static void Main(string[] args)
        {
            Ruta[] ruta = new Ruta[5];
            int puntos;
            string res1, res2;

            for (int i = 0; i < 5; i++)
            {
                Console.Write("Cuantos puntos: ");
                res1 = Console.ReadLine();
                puntos = Convert.ToInt32(res1);
                ruta[i].p = new List<int>();
                for (int j = 0; j < puntos; j++)
                {
                    res2 = Console.ReadLine();
                    ruta[i].p.Add(Convert.ToInt32(res2));
                }
            }

            Console.ReadKey();

        }
    }
}


Saludos :)

28
Bases de Datos / Re:PROBLEMA CON SELECT ANIDADO
« en: Martes 13 de Agosto de 2013, 02:50 »
Hola novatovenezolano

Te voy a pedir un favor primero, regresa a tus mensajes anteriores y EDITA TU CODIGO separandolo en lineas no mayores a 90 caracteres por linea. Ejemplo:

Código: [Seleccionar]
Open "select FRECUENCIA from Frecuencia where H/L = (select H/L from Frecuencia
where H/L= '"variablexancho"') and CANAL = ("select CANAL from Frecuencia
where CANAL = variablecanal) and ANCHO DE BANDA =
("select ANCHO_DE_BANDA from Frecuencia
where ANCHO DE BANDA = '" & variableancho& "') and BANDA =
("select BANDA From Frecuencia where BANDA = ' &variablebanda &')"

Esto es debido a que tu codigo tiene lineas tan largas, que descuadra por completo el foro y dificulta poder verlo de manera correcta.

Ahora referente a tu problema, me parece que el error esta aqui:

Código: [Seleccionar]
and H/L =

Que cosa es H/L? ¿que es lo que querias hacer? me parece que los nombres de campo no pueden llevar diagonal / si querias escribir HL ponlo sin la diagonal.

Ahora, si H es un campo de la base de datos, y L es otro campo, no puedes preguntar por los dos campos de esa manera, es incorrecto, en todo caso la consulta para pregunta por los dos campos en SQL seria:

Código: [Seleccionar]
and (H = valor_que_quieres or L = valor_que_quieres)

Espero que eso resuelva tu problema.

Saludos :)

29
C# / Re:Saber si una cadena contiene solo letras sin un bucle en c#
« en: Domingo 4 de Agosto de 2013, 23:49 »
Bueno, si lo que deseas es validar un texto al estar capturando, podrias utilizar el MaskedTextBox:

http://msdn.microsoft.com/es-mx/library/system.windows.forms.maskedtextbox.aspx

Código: [Seleccionar]
                // Mascara para validar que un texto acepte caracteres, no numeros y no pase de 10 letras
                maskedTextBox1.Mask = "CCCCCCCCCC";

Si lo que deseas es validar Un Texto, despues de capturarlo, podrias utilizar expresiones regulares por medio de la clase Regex que se encuentra en el espacio de nombres System.Text.RegularExpressions,

http://es.wikipedia.org/wiki/Expresiones_regulares

Código: [Seleccionar]
                string unknown = "MARTIN LUTHER KING";
                Regex r = new Regex("^[A-Za-z ]+$");
                if (r.IsMatch(unknown) == true)
                {
                    MessageBox.Show("Correcto");
                }
                else
                {
                    MessageBox.Show("Incorrecto");
                }


Espero te sirva.

Saludos :)

30
VB .NET / Re:Formato a texto no convencional
« en: Domingo 4 de Agosto de 2013, 21:04 »
Hola, la solucion a tu problema es muy facil, si necesitas capturar numeros con un determinado formato, podrias utilizar el control MaskedTextBox, funciona igual que un TexBox normal, pero te permitira la captura de los datos con el formato que desees, teniendo ademas la ventaja de que te restringira la entrada a solo numeros, si asi lo deseas. En la propiedad Mask, colocas la mascara de captura de datos que desees, y si al final solo deseas obtener los numeros sin la mascara, usas la propiedad TextMaskFormat.

Te dejo el codigo:

Código: [Seleccionar]
        MaskedTextBox1.Mask = "(0000) 000.0000"
        'Si deseas obterer los numeros sin la mascara, utiliza la siguiente sentencia
        'MaskedTextBox1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals

Saludos :)


31
Visual Basic 6.0 e inferiores / Re:Problemas para enlazar un textbox con un datagrid
« en: Miércoles 31 de Julio de 2013, 21:33 »
Hola, al terminar de escribirte mi respuesta, me he dado cuenta de algo, si estas haciendo la consulta al cargar el formulario, el texbox en ese momento estara en blanco, proque aun no has capturado nada en el, por lo tanto la consulta obtenida sera la siguiente:

Código: [Seleccionar]
SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2= ''

Y como la condicion del where esta en blanco, no obtendras ningun registro.

Me parece que debes ejecutar la consulta y llenar el datagridview DESPUES de cargar el formulario, y que hayas puesto un valor en tu textbox, quizas tengas que agregar un control button y ejecutar el comando por medio del evento click de ese button, validando ademas que el textbox no se encuente vacio para que no hagas una consulta con la condicion vacia.

Saludos :)

32
Visual Basic 6.0 e inferiores / Re:Problemas para enlazar un textbox con un datagrid
« en: Miércoles 31 de Julio de 2013, 21:19 »
Bueno, si sigues obteniendo un datagridview vacio, me parece que debes tener algun error en tu consulta.

Prueba lo siguiente, primero intenta con una consulta donde obtengas todos los registros para verificar que tu tabla no esta vacia, y descartar un error en otra parte:

Código: [Seleccionar]
        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2"

Despues prueba una consulta con una condicion, utilizando un valor que sabes que  se encuentra en la base de datos, suponiendo por ejemplo que tienes un id_tabla 2 con valor de 1, prueba lo siguiente:

Código: [Seleccionar]
        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2 = 1"

Finalmente, utiliza tu intruccion:
Código: [Seleccionar]
        OleComand.CommandText = ("SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2= '" & NumeroTextBox.Text & "'")

Si aun te sale un datagridview vacio, revisa el contenido de NumeroTextBox.Text, verificando que no este en blanco ni nada parecido.

Mira, te dejo un codigo que te ayudxara en la depuracion, utilzas un MessageBox.Show para desplegar el contenido de tu consulta, y utilizas un bloque try..catch..finally para ayudarte a atrapar errores que normalmente no te aparecen, asi podremos ir encontrando la falla.

Código: [Seleccionar]
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BBDD.mdb; User Id=admin;Password=;"

        Dim ocom As New OleDb.OleDbConnection(connectionString)
        Dim ds As New DataSet
        Dim OleComand As New OleDb.OleDbCommand
        Dim da As New OleDb.OleDbDataAdapter
        da.SelectCommand = OleComand
        da.SelectCommand.Connection = ocom
        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2"
        'Con la siguiente instruccion podras ver el contenido de la consulta SQL, para verificar
        'que realmente la estas construyendo adecuadamente
        MessageBox.Show(OleComand.CommandText)

        ' El siguiente codigo te ayudarar a atrapar erroresw, y verlos en un cuadro de una manera mas clara
        Try
            ocom.Open()
            OleComand.ExecuteNonQuery()
            da.Fill(ds, "seguimiento")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            ocom.Close()
        End Try
        DataGridView1.DataSource = ds.Tables("seguimiento")

    End Sub
End Class

Saludos :)

33
C# / Re:Sobrecarga de operadores en C#
« en: Martes 30 de Julio de 2013, 19:35 »
Bueno, para empezar, dejame comentarte algo, en programacion no existe una "unica" solucion correcta (eso es lo bonito de la programacion), todo problema puede tener infinidad de soluciones, todas correctas, todo dependera al final de factores como el lenguaje de programacion que utilizas, el conocimiento y experiencia del programador, y de los recursos con que cuentes para resolver el problema.

Asi que contestando tu pregunta:

Citar
¿es muy distinto hacer lo mismo con un bucle foreach para sumar 2 vectores y poner el resultado en otro?

Al final seria lo mismo, solo que resuelto de una manera diferente, pero eso no quiere decir que este equivocado.

Entonces, la sobrecarga de operadores es simplemente una herramienta mas a nuestra disposicion para resolver un problema.

Te pongo un ejemplo, supon que necesito calcular la operacion de multiplicar un vector por un escalar, como piensas que seria mas entendible para hacerlo, desarrollar una funcion que te multiplique un vector por un escalar asi:

MultiplicaVectorEscalar(Vector, 5);

o realizar una sobrecarga del operador * para realizar la multiplicacion de esta manera:

Vector * 5;

Otro ejemplo, queremos realizar una clase para el manejo de los numeros complejos, y a su vez queremos realizar todas las operaciones basicas (suma, resta, multiplicacion, division) con numeros complejos de la misma manera que lo hacemos con los numeros reales. podemos definir todo mediante funciones/metodos:

Suma(Complejo1, Complejo2), Resta(Complejo1, Complejo1) Multiplica(Complejo1, Complejo2), Divide(Complejo1, Complejo2).

o podemos sobrecargar los operadores y el codigo queda mas "elegante"

Complejo1 + Complejo2, Complejo1 - Complejo2, Complejo * Complejo2, Complejo1 / Complejo2.

Como nota personal, yo no uso mucho la sobrecarga de operadores, pero se como se hace, asi por ejemplo si me encuentro un programa que la utiliza, se lo que esta haciendo y como se utiliza, que al final es lo que importa.

Saludos :)

34
Siento no ser muy especifico, tampoco es que me entere mucho todavía, la verdad.

Si no entiendes mucho de Visual Basic, quizas seria bueno que buscaras un tutorial mas basico, y no comenzaras todavia con bases de datos hasta que tengas mas conocimientos del lenguaje.

Citar
La cosa es que no tengo el código,

Como que no tienes codigo? aun si usaste el asistente, claro que debe haber codigo, solo revisa bien los archivos de tu proyecto, el codigo generado automaticamente debe de estar ahi.

Citar
lo único que hice fue incluir un dataGridview con los datos de la tabla2 en el formulario que contiene los datos de la tabla1 esperando que solo mostrara los registros cuyo ID coincidiera en ambas ya que en la BBDD de Access existe una relación entre ellas.

Bueno, el que tengas una relacion definida en tu base de datos no significa que automaticamente te dara los registros relacionados. Las relaciones solamente sirve para garantizar lo que se llama "integridad referencial", que basicamente significa que el motor de base de datos de acces te marcara error si tratas de insertar un registro en una tabla que no se relaciona con un registro de otra tabla. Pero aun debes, valga la redundancia, "seleccionar" los registros que deseas mostrar por medio de select.

http://es.wikipedia.org/wiki/Integridad_referencial

Ahora en el codigo que publicaste, aunque tienes los comandos, y la consulta, no veo la linea en donde ejecutas esa consulta, si no ejecutas la consulta, es obvio que no tendras registros, y por lo tanto el datagrid estara vacio.

Falta ejecutar la consulta, entre la definicion del comando y el llenaddo del dataadapter:

Código: [Seleccionar]

            OleCommand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2=" + ID_TABLA1TextBox.Text;

            OleCommand.ExecuteNonQuery();

            da.Fill(ds, "seguimiento");

Aun asi, te recomiendo que busques un tutorial para realizar conecciones a bases de datos sin utilizar asistentes, de esa forma podras entender mejor cuales son los pasos necesarios para conectarte a bases de datos, y comprenderas mejor el codigo de los asistentes.

Saludos :)

35
C# / Re:Array y propiedades en c sharp
« en: Miércoles 24 de Julio de 2013, 06:38 »
1.
Código: [Seleccionar]
static Cliente[] clientes = new Cliente[5];
R.- Bueno, esta linea simplemente crea un arreglo que contiene 5 referencias a objetos de tipo Cliente. En C#, todos los objetos se manejan por medio de referencias; Si alguna vez programaste en C/C++, las referencias son parecidas a los apuntadores.

2.
Código: [Seleccionar]
clientes[temp] = new Cliente();R.- Se crea un nuevo objeto de tipo cliente, y guardamos su direccion (referencia) en el arreglo clientes[temp], de esa forma podemos acceder facilmente al objeto Cliente, incluso recorrerlo mediante ciclos, sin necesidad de estar creando una variable diferente para cada cliente (cliente1, cliente2, etc)

Esspero que la informacion te sirva.

Saludos :)

36
VB .NET / Re:Formato a columna de un Listview
« en: Miércoles 24 de Julio de 2013, 06:05 »
Bueno, si lo que quieres es que los numeros tengan un determinado formato (moneda, numerico, etc) simplemente convierte los numeros a cadena con el metodo ToString(), y como formato puedes utilizar N (Numerico) seguido del numero 2 para indicar que son 2 decimales o C (Currency, moneda) seguido del numero 2 para indicar que son 2 decimales.

Ejemplo:

Código: [Seleccionar]
            decimal numero1 = 10000;
            decimal numero2 = 10000;
            listView1.Items.Add(numero1.ToString("N2"));
            listView1.Items.Add(numero2.ToString("C2"));

Mas informacion:

Metodo ToString() (La informacion es del tipo decimal, pero es valido para cualquier tipo numerico)
http://msdn.microsoft.com/es-es/library/fzeeb5cd%28v=vs.80%29.aspx

Informacion sobre los formatos numericos de ToString:
http://msdn.microsoft.com/es-es/library/system.globalization.numberformatinfo%28v=vs.80%29.aspx

37
C# / Re:Array y propiedades en c sharp
« en: Martes 23 de Julio de 2013, 02:38 »
Buenas Tardes DanielC#.

Pues probe tu codigo y no se como dices que funciona, al menos a mi no me funciono, y no solo imprimir, todo el codigo tiene errores de sintaxis.

Un consejo, no es bueno definir una clase dentro de otra clase, lo mejor es mantener las clases separadas, y cada clase preferiblemente en un archivo.

Tambien pasas parametros sin definir el tipo del parametro y un uso incorrecto de for..each.

Hice las siguientes modificaciones, separa la clase datos de la clase program, le cambie el nombre a datos y lo puse como cliente, elimine los parametros de la funcion imprimir, y use adecuadamente el ciclo for..each,

Te dejo el codigo para que veas como lo hice, examinalo para que veas como esta estructurado y la utilizacion correcta de for..each.

Saludos :)

Código: [Seleccionar]
namespace ArraySetGet
{
    class Cliente
    {
        private string _nombre;

        public string Nombre
        {
            set { _nombre = value; }

            get { return _nombre; }
        }

    }

    class Program
    {
        static Cliente[] clientes = new Cliente[5];

        public static void validar()
        {
            byte temp = 0, delTop = 2;
            while (temp < 5)
            {
                Console.SetCursorPosition(02, delTop);
                Console.Write("Ingrese nombre completo del Cliente...:");
                string linea = Console.ReadLine();
                if (!string.IsNullOrEmpty(linea))
                {
                    clientes[temp] = new Cliente();
                    clientes[temp].Nombre = linea.ToString();
                    delTop += 2;
                    temp++;
                }
            }
        }

        public static void imprimir()
        {
            foreach (Cliente c in clientes)
            {
                Console.WriteLine("Clientes...: {0}", c.Nombre);
            }
        }


        [STAThread]
        static void Main(string[] args)
        {
            validar();
            imprimir();

            Console.ReadKey();

        }
    }
}

38
C# / Re:Array y propiedades en c sharp
« en: Lunes 22 de Julio de 2013, 20:57 »
No entendi la pregunta, ¿podrias ser mas explicito?

39
C# / Re:Opacidad en un form con dos botones "+" y "-"
« en: Viernes 19 de Julio de 2013, 05:20 »
Hola danielbmz bienvenido al foro.

Me parece que estas confundiendo como funciona la propiedad Opacity.

Opacity contiene un numero que representa un porcentaje de opacidad, siendo 0 (0 %) completamente transparente, y 1.0 (100%) completamente opaco.

Entonces en lugar de incrementar/decrementar en intervalos de 0.5, seria mas correcto incrementar en intervalos de 0.1 (10%), y nunca sobrepasar el 1.0 (100%)

Te dejo un codigo de como lo haria yo en intervalos de 10%, y nunca una opacidad menor al 50% (0.5), ya que en mi caso menos del 50% practicamente ya no se ve el formulario, sin embargo, puedes probarlo con valores menor al 50% si lo deseas.

Utilizo un switch con valores enteros ya que:
1. si utilizas if, y comparas valores de tipo double, habra errores de redondeo y es probable que no incrementes/decrementes correctamente.

2. El switch no admite valores de tipo double.

Código: [Seleccionar]
    public partial class Form1 : Form
    {

        int opaco = 5;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (opaco != 0)
                opaco--;
            switch (opaco)
            {
                case 4: this.Opacity = 0.9;
                    break;
                case 3: this.Opacity = 0.8;
                    break;
                case 2 : this.Opacity = 0.7;
                    break;
                case 1 : this.Opacity = 0.6;
                    break;
                case 0 : this.Opacity = 0.5;
                    break;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (opaco != 5)
                opaco++;
            switch (opaco)
            {
                case 5: this.Opacity = 1.0;
                    break;
                case 4: this.Opacity = 0.9;
                    break;
                case 3: this.Opacity = 0.8;
                    break;
                case 2: this.Opacity = 0.7;
                    break;
                case 1: this.Opacity = 0.6;
                    break;
            }
        }

    }

Saludos :)

40
C# / Re:Validar ingreso de datos en C Sharp
« en: Sábado 13 de Julio de 2013, 19:59 »
Bueno, existen varias maneras de hacer esto, lo que yo haria es utilizar el mismo codigo ASCII de backspace, que lo que hace es regresar el cursor una posicion, luego escribir un espacio en blanco, y de nuevo regresar el cursor con backspace.

Debes ademas eliminar el ultimo caracter de tu cadena, para lo que utilizamos el metodo Remove de la clase String y la propiedad Lenght para saber la longitud de la cadena.

Tambien podrias, en lugar de usar el ASCI de backspace, posicionarte con coordenadas como lo estas haciendo, aunque es un poco mas de trabajo, si lo deseas hacer asi tienes que decrementar tu posicion en en base a la posicion en la que te encuentres, eso se te quedaria como ejercicio :)

Te dejo el codigo con comentarios para que te quede mas claro.

Código: [Seleccionar]
        static void Main(string[] args)
        {
            Console.Title = " Validar ingreso de datos";

            ConsoleKeyInfo opcion;
            char key;
            string aux = "";
            int numero = 0;

            Console.SetCursorPosition(02, 02);
            Console.WriteLine("Solo números y el ingreso debe ser mayor a 0");
            Console.SetCursorPosition(02, 04);
            do
            {
                opcion = Console.ReadKey(true);
                key = opcion.KeyChar;
                if (key > 47 && key < 58)
                {
                    Console.Write("" + key);
                    aux += key;
                }
                if (key == 13)
                {
                    Int32.TryParse(aux, out numero);
                    if (numero != 0) break;
                    else
                        Console.SetCursorPosition(02, 04);
                }

                // Si pulsamas la tecla Backspace borramos el caracter
                if (opcion.Key == ConsoleKey.Backspace)
                {
                    int longCadena = aux.Length;
                    // Si la longitud de la cadena es mayor que cero,
                    // eliminamos el ultimo caracter, si es igual a
                    // cero, la cadena esta vacia y no hay nada que
                    // eliminar
                    if (longCadena > 0)
                    {
                        aux = aux.Remove(longCadena - 1);
                        // Utilizamos el caracter bakckspace, que regresa
                        // el cursor una posicion, y ponemos un espacio
                        // en blanco para borrar el caracter, como acabamos de
                        // pulsar backspace, el codigo ASCII de esa tecla se
                        // encuentra en keychar, pero tambien seria valido
                        // utilizar directamente el codigo ASCII de backspace
                        // que es 8, forzando una conversion a char de la siguiente
                        // manera: Console.Write("{0} ", (char)8);
                        Console.Write("{0} ", opcion.KeyChar);
                        // Como pusimos un espacio en blanco, necesitamos
                        // regresar el cursor de nuevo un espacio
                        Console.Write(opcion.KeyChar);
                    }
                }
            } while (true);

            Console.SetCursorPosition(02, 07);
            Console.Write("Ingresaste...: " + numero);
            Console.ReadLine();
        }


Saludos :)

41
Pascal / Re:EL GATO , LA VIEJA
« en: Sábado 13 de Julio de 2013, 16:41 »
No se hacen tareas

42
Hola pirlespi, bienvenido al foro.

Bueno, este es un foro de programacion y codigo (por algo se llama solo codigo), asi que valga la redundancia, si no publicas que codigo estas utilizando, es dificil darte ayuda, aun no tenemos dotes de adivinacion.

Bueno, lo mas que te podria sugerir, dado que no se como lo estas haciendo sin el codigo, es que utilices una consulta SQL limitada por medio de where, para llenar el datagrid. Ejemplo:

Código: [Seleccionar]
select * from tabla2
where tabla2.id_tabla1 = id_tabla1;

Saludos :)

43
C# / Re:Backup con Mysql y c# HELP!!!
« en: Jueves 11 de Julio de 2013, 21:00 »
Hola sua18, bienvenido al foro.

Bueno, probe tu codigo, y funciona bien, si pones los valores correctos claro.

Estoy pensando que quizas no pones los parametros correctos (argumentos) de la linea de comandos

Yo probe lo sigueinte suponiendo que la base de datos se llama prueba, el servidor es LOCALHOST (127.0.0.1) usuario root y password mipassword

Código: [Seleccionar]
        public static void copia_de_seguridad()
        {
            try
            {
                SaveFileDialog fd;
                string fichero;
                fd = new SaveFileDialog();
                DialogResult dialogo;
                dialogo = fd.ShowDialog();
                if (dialogo == DialogResult.OK)
                {
                    if (fd.FileName != String.Empty)
                    {
                        String linea;
                        fichero = fd.FileName.ToString();
                        System.Diagnostics.Process proc = new System.Diagnostics.Process();
                        proc.EnableRaisingEvents = false;
                        proc.StartInfo.UseShellExecute = false;
                        proc.StartInfo.RedirectStandardOutput = true;
                        //proc.StartInfo.Arguments =
                        //"base_datos --single-transaction --host=DIRECCION IP SERVIDOR --user=USUARIO --password=CONTRASEÑA";
                        proc.StartInfo.Arguments =
                            "prueba --single-transaction --host=127.0.0.1 --user=root --password=mipassword";

                        System.Diagnostics.Process miProceso;
                        miProceso = System.Diagnostics.Process.Start(proc.StartInfo);
                        StreamReader sr = miProceso.StandardOutput;
                        TextWriter tw = new StreamWriter(fd.FileName, false, Encoding.Default);
                        while ((linea = sr.ReadLine()) != null)
                        {
                            tw.WriteLine(linea);
                        }
                        tw.Close();
                        MessageBox.Show("Copia de seguridad realizada con éxito");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Si no es un error en los argumentos, estoy pensando que quizas el servidor de base de datos no esta en tu maquina local, sino en otra maquina de la red, en cuyo caso no funcionara, puesto que mysqldump no esta instalado en tu maquina local, solo en el servidor, este codigo esta diseñado para un servidor de base de datos que se encuentra en la msima maquina donde tienes instalado el programa, por lo tanto no podra encontrar los archivos necesarios, pero ya que no mencionas cual es el problema especifico que tienes, solo estoy especulando.

Si pudieras ser mas especifico, quizas podramos encontrar la solucion

Saludos :)

44
C# / Re:Duda acerca de Menú basado en Switch
« en: Jueves 11 de Julio de 2013, 18:32 »
Hola UBSTER, Bienvenido al foro.

Mira la forma en que lo estas haciendo no es de lo mas correcta.

En lugar de poner una opcion para regresar al submenu, se debe utilizar un ciclo do..while, para garantizar que en ciclo se repite hasta que le das la opcion de regresar, entonces en la condicion del while pones la opcion para que el ciclo se repita, en este caso que la opcion sea diferente de 2, ya que si es 2 debe salir

Quizas no me entiendas claramente pero te dejo el codigo, asi quedara todo mas claro

Código: [Seleccionar]
        static void Main(string[] args)
        {
            do
            {
                Menu();
                submenu = int.Parse(Console.ReadLine());
                switch (submenu)
                {
                    case 1:
                        do
                        {
                            Submenu();
                            opcion = int.Parse(Console.ReadLine());
                            switch (opcion)
                            {
                                case 1: Console.WriteLine("Escojiste la opción 1"); break;
                            }
                        }   
                        while (opcion != 2); //Si la opcion no es 2, repetir el ciclo a partir del do
                        break;
                }
            }
            while (submenu != 2); //Si submenu no es 2, repetir el ciclo a partir del do
            Console.ReadKey();
        }

Saludos :)

45
C# / Re:Validar ingreso de datos en C Sharp
« en: Jueves 11 de Julio de 2013, 17:50 »
Hola DanielC#, bienvenido al foro.

Pues mira, tu problema es muy facil de resolver, el Metodo TryParse devuelve true si se pudo convertir el texto en numero, y false si la conversion fallo, entonces simplemente guardas en una variable si la conversion tuvo exito o no, y eso es lo que utilizas en lugar de colocar el TryParse directamen en el if.

Te dejo el codigo para que te quede mas claro.

Código: [Seleccionar]
    class Validar
    {
        public int ValidarEntero()
        {
            int numero = 0;
            bool resultado;
            while (true)
            {
                Console.SetCursorPosition(02, 04);
                Console.Write("Número...............:");
                // En esta variable guardas si la conversion tuvo exito o no
                resultado = Int32.TryParse(Console.ReadLine(), out numero);
                if (resultado && numero != 0)
                    break;
                else
                {
                    Console.SetCursorPosition(02, 06);
                    Console.Write("Ingreso incorrecto(pulse una tecla para intentarlo nuevamente...)");
                    Console.ReadKey();
                    Console.Write("                                                                    ");
                    Console.SetCursorPosition(24, 04);
                }
            }
            return numero;
        }
    }

Saludos :)

46
C# / Re:Problema Con Propiedad Active Form.Text En C#
« en: Lunes 8 de Julio de 2013, 22:55 »
A mi me parece que la manera en que utilizas los argumentos (args), es incorrecta, porque que pasa si pones los argumentos en un orden diferente, es decir que pusieras el titulo primero, y luego las coordenadas, o que pusieras primero una coordenada luego el titulo, y luego otra coordenada.

Ademas cuando pasas el titulo, necesitas pasarlo entre comillas, porque si lo pasas sin comillas, te toma los espacios en blanco como separadores, haciendo que cada palabra sea un valor diferentes. Ejemplo:

Si pones:

Este es un titulo

tu variable args quedaria asi:

args[0] = "Este"
args[1] = "es"
args[2] = "un"
args[3] = "titulo"

en cambio si pones
"Este es un titulo"

quedaria
args[0] = "Este es un titulo"

Entonces a mi parecer necesitas validar args, para que tenga el valor correcto, no se si me di a antender.

Ademas no se porque utilizas ActiveForm, cuando puedes ponerle directamente el Titulo directamente sin necesidad de eso.

Bueno, eso es lo que yo veo.

Saludos :)

47
Visual Basic para principiantes / Re:Suma de Minutos, Segundo y Milesimas
« en: Lunes 1 de Julio de 2013, 04:28 »
Pues mira, aqui el problema no es tan simple como sumar los tres numeros, puesto que los segundos equivalen a 1000 milesimas, y los minutos a 60 segundos.

Lo mas sencillo seria que en lugar de 3 texbox para los tiempos, separaras cada tiempo en 3 textbox mas, es decir 3 textbox para el tiempo uno, 3 textbox para el tiempo 2, y 3 textbox para el tiempo 3 o sea un total de 9 textbox, entonces sumarias primero las milesimas, y por cada 1000 añades un segundo, luego sumas los segundos, y por cada 60 segundos sumas un minuto y al final los minutos, y entonces si imprimes el resultado en el ultimo textbox, que en este caso pasaria del numero 4 al numero 10.

La otra forma seria separar el contenido de los textbox, por medio de las funciones de cadenas, pero eso requeriria algo de validacion para certificar que se le da el tiempo en el formato adecuado para poderlo separar.

Espero que esta orientacion te ayude en tu problema.

Saludos :)

48
C/C++ / Re:¿Qué es el estándar en C?
« en: Miércoles 26 de Junio de 2013, 19:11 »
Buenas @aps bienvenido al foro.

¿qué se considera compilar un código por medio del estándar? ¿que el código sólamente incluya las librerías que se encuentran aquí?
R.- Si
Citar
¿cómo sé cuándo compilo rigiéndome por el estandar? ¿cuando le agrego al compilador la opción -ansi?
R.- En realidad usar la opcion -ansi solo garantiza que estas usando el estandar c90, en caso de que escribas codigo para compiladores antiguos. Mas infromacion sobre -ansi aqui:
http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#C-Dialect-Options

Citar
y otra duda aparte, cuando escribo un código sin incluir ninguna libería, ¿por qué compila? ¿por la rtl? y si es así, ¿cómo sé cuáles funciones tiene la rtl y cuáles no?
R.- Esta pregunta no la comprendi bien, cual seria el codigo que dices que compilas sin ninguna libreria?

Citar
ah! también, ¿es posible tener un ejecutable q no cargue kernel32 ni ntdll ?
En windows, no, porque esas dll, comtinenen las funciones de acceso a bajo nivel de windows.

Saludos :)

49
C# / Re:¿Cómo puedo enviarle parámetros a un reporte en C#?
« en: Miércoles 19 de Junio de 2013, 23:27 »
Un gracias por nada, suena como a sarcasmo de tu parte.

Recuerda, si naide contesta es porque probablemente naide sabia la respuesta, no porque no se te quiera dar ayuda, (en mi caso, yo no la sabia)

Pero si de veras quieres agradecer, lo mas correcto es que publiques como solucionaste tu problema, asi si en el futuro alguien llega a tener el mismo problema que tu, podra encontrar la respuesta.

Saludos :)

50
VB .NET / Re:Problemas Para Validar datos en un datagridview
« en: Martes 11 de Junio de 2013, 23:55 »
Bueno, si la verdad es algo "boludo", especificamente no existe ningun evento para comprobar cuando se hace clic fuera de una celda, pero puede ser implementado por medio de una bandera y los eventos MouseClick y CellClick de la clase DataGridView.

El evento MouseClick se dispara cuando haces click en cualqier parte del DataGridView.
El evento CellClick se dispara cuando haces click en una celda cualquiera del DataGridView.

Entonces simplemente modificamos la bandera para que cuando hagas click en una celda no mande un mensaje.

Te dejo el codigo para que te des una mejor idea.

Código: [Seleccionar]
    public partial class Form1 : Form
    {
        // Nuestra Bandera
        private bool celda;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Inicializamos con falso indicando que no hicimos click en una celda
            celda = false;

        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            // Si hacemos click en una celda, lo cambiamos a verdadero
            celda = true;
        }

        private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
        {
            // Verificamos si previamente habiamos clickeado en una celda
            if (celda == true)
                // Lo ponemos a false para volver a capturar un click fuera de una celda
                celda = false;
            else
                // El mensaje de error
                MessageBox.Show("No se ha seleccionado una fila");
        }
    }

Espero que sea lo que necesites.

Saludos :)

Páginas: 1 [2] 3 4 ... 32