none
Función en visual studio RRS feed

  • Pregunta

  • Estoy creando un proyecto escolar, el cual debo instalar en una computadora y una de las cosas que debe de hacer, es seleccionar una imagen y posteriormente guardarla en las carpeta que se crean al instalar el programa ¿Hay alguna función que me permita saber la ruta de donde se encuentran los archivos de mi proyecto?
    miércoles, 6 de abril de 2016 15:43

Respuestas

  • Puedes obtener la ruta de la carpeta en la que se encuentra tu ejecutable así:

    string appPath = Path.GetDirectoryName(Application.ExecutablePath);


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Propuesto como respuesta JoséLuisGarcía miércoles, 6 de abril de 2016 16:13
    • Marcado como respuesta danielneria miércoles, 6 de abril de 2016 16:33
    miércoles, 6 de abril de 2016 15:49
  • Perdona,

    me olvidé de cambiar el "&" por el "+". El código seria este:

    String ruta = Application.StartupPath;
    PictureBox1.Image.Save(ruta + @"\Imagen.png");
    // Si no pones el arroba, te debería salir un error.
    /* Si de todas maneras te sigue fallando, agrega en el paréntesis, después de la ruta:
    ,System.Drawing.Imaging.ImageFormat.Png */

    • Marcado como respuesta danielneria miércoles, 6 de abril de 2016 19:21
    miércoles, 6 de abril de 2016 18:07

Todas las respuestas

  • Puedes obtener la ruta de la carpeta en la que se encuentra tu ejecutable así:

    string appPath = Path.GetDirectoryName(Application.ExecutablePath);


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Propuesto como respuesta JoséLuisGarcía miércoles, 6 de abril de 2016 16:13
    • Marcado como respuesta danielneria miércoles, 6 de abril de 2016 16:33
    miércoles, 6 de abril de 2016 15:49
  • Puedes usar un código muy simple:

    String ruta = Application.StartupPath;

    Cada vez que quieras usar esa ruta, usas el nombre de la variable, en el ejemplo anterior, ruta. Por ejemplo:

    String ruta = Application.StartupPath; PictureBox1.Image.Save(ruta & @"\Imagen.png");

    Espero que te sirva,

    GerrySoft.

    • Propuesto como respuesta JoséLuisGarcía miércoles, 6 de abril de 2016 16:13
    • Marcado como respuesta danielneria miércoles, 6 de abril de 2016 16:33
    • Desmarcado como respuesta danielneria jueves, 14 de abril de 2016 16:15
    miércoles, 6 de abril de 2016 16:08
  • lo implementaré de ese modo, gracias
    miércoles, 6 de abril de 2016 16:11
  • De hecho, lo que quiero hacer es, elegir una imagen y una vez que la tenga elegida, guardarla en la ruta donde está mi ejecutable y posterior a eso, guardar la ruta en un archivo plano para después obtener esa misma ruta y usar esa imagen en otras partes de mi programa y creo que con esa parte de código puedo hacerlo si no me equivoco. lo intentaré así, y comento si es que pude. gracias
    miércoles, 6 de abril de 2016 16:17
  • Puedes usar un código muy simple:

    String ruta = Application.StartupPath;

    Cada vez que quieras usar esa ruta, usas el nombre de la variable, en el ejemplo anterior, ruta. Por ejemplo:

    String ruta = Application.StartupPath; PictureBox1.Image.Save(ruta & @"\Imagen.png");

    Espero que te sirva,

    GerrySoft.

    Intente guardar la imagen de la forma que me mencionas, pero me aparece un error con el @ y no puedo ejecutar mi programa, si la quito, lo puedo ejecutar, pero a la hora de querer guardar la imagen me sale error de "Error genérico en GDI+", ¿qué puedo hacer en este caso?
    • Editado danielneria miércoles, 6 de abril de 2016 17:35 correccion de inf
    miércoles, 6 de abril de 2016 17:18
  • Perdona,

    me olvidé de cambiar el "&" por el "+". El código seria este:

    String ruta = Application.StartupPath;
    PictureBox1.Image.Save(ruta + @"\Imagen.png");
    // Si no pones el arroba, te debería salir un error.
    /* Si de todas maneras te sigue fallando, agrega en el paréntesis, después de la ruta:
    ,System.Drawing.Imaging.ImageFormat.Png */

    • Marcado como respuesta danielneria miércoles, 6 de abril de 2016 19:21
    miércoles, 6 de abril de 2016 18:07
  • De hecho, ya lo había intentado de esa forma, pero me marca un error y me señala el @ y me dice que se esperaba una expresión. Si le quito el @, me permite ejecutarlo sin problema y ya en la ejecución no me sale error pero no me guarda la imagen en la ruta especificada

    • Editado danielneria miércoles, 6 de abril de 2016 19:36
    miércoles, 6 de abril de 2016 19:22
  • Perdona,

    me olvidé de cambiar el "&" por el "+". El código seria este:

    String ruta = Application.StartupPath;
    PictureBox1.Image.Save(ruta + @"\Imagen.png");
    // Si no pones el arroba, te debería salir un error.
    /* Si de todas maneras te sigue fallando, agrega en el paréntesis, después de la ruta:
    ,System.Drawing.Imaging.ImageFormat.Png */

    Encontré la causa del error que me generaba mi programa, el código que me proporcionaste estaba bien, lo implemente con el + y sin el @ y ya no me marcaba el error, y tampoco en la ejecución, el error en tiempo de ejecución era debido a una parte de código que tengo que al obtener la ruta verificaba si mi programa estaba ya instalado o en fase de desarrollo y por eso no me guardaba la imagen. Muchas gracias por la ayuda, me sirvió mucho
    jueves, 7 de abril de 2016 17:54