Ayuda con un IDE para Bennu en .NET

Started by Yawin, January 23, 2011, 05:00:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

Ya se que esto no es Bennu, pero necesito vuestra ayuda. Estoy haciendo la función de compilar y tengo un problema. Cuando recojo la ruta me recoge "C:\\loquesea\\loquesea\\etc..." pero luego lo meto en un label y me escribe "C:\loquesea\loquesea\etc..."

El código es este:
private void compilarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Controles.AreaPreparada Elem = (Controles.AreaPreparada)PANEL.SelectedTab.Controls[0];
            LabelRutaError.Text = Elem.Ruta;
            Global.Compilar(LabelRutaError.Text);


public static void Compilar(string ruta)
        {
            System.Diagnostics.Process appy = new System.Diagnostics.Process();

            appy.StartInfo.FileName = @"bin\bgdc.exe";
           
            //appy.StartInfo.Arguments = "";
            try
            {
                appy.Start();
            }
            catch (Exception Ex) {
                if (Ex.Message == "Error desconocido (0xd8)")
                {
                    System.Windows.Forms.MessageBox.Show("Aplicación no soportada.");
                }
            }
        }



    public partial class AreaPreparada : UserControl
    {
        //public delegate void D();
        /*MiEvento*/
        public static D obj;

        Lenguage.Base Instancia;
        string PATH;

        Bitmap bmfondo;
        Image imgfondo;

        public string Ruta
        {
            get { return PATH; }
            set { PATH = value; }
        }
...
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Hola.
La ruta se esta imprimiendo correctamente, lo que pasa es que si pones sólo el caracter '\' en una string este se reconoce como reservado, con lo cual si quieres poner '\' en una ruta o imprimirla en pantalla, tendrás que ponerla siempre dos barras: '\\'.
Si quieres imprimir 2 barras en pantalla tendrias que escribir 4 barras xDDD

Yawin

Y cómo hago entonces para que no me busque esa ruta con \\
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Pero la ruta no te la va buscar así....
Donde esta el codigo real de lo que dices ?
Utilizas app.config para definir la ruta ?
Es la mejor opcion, para modificarlas sin tener que compilar de nuevo, y para que el usuario la pueda cambiar.

Ejemplo:

<appSettings>
   <add key="Ruta" value="bin\bgdc.exe" />
</appSettings>

Como ves no lleva dos barras....

Depues en el codigo leerias el valor de la key con algo así (mira exactamente como se le una key en una aplicacion de escritorio, que no te lo pongo de forma correcta seguramente):

String Ruta = System.Configuration.AppSettings["Ruta"];

Yawin

No, haber. Cuando abro un fichero .prg creo una instancia de un objeto llamado AreaPreparada y le paso la ruta del fichero. Ahora, cuando lo recupero de ahí, me la recupera bien. Pero si mientras debugeo miro qué valor tiene la variable ruta en cuestión, me pone que cada \ es \\
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Pero te funciona ? Ahora mismo hace meses que no toco rutas en .Net, pero si te funciona, o sea, si te pilla bien la ruta, no deberias preocuparte que te ponga 2 barras en el debug.

FreeYourMind

De todas formas siempre puedes hacer un .Replace("\\", "\"); Pero casi apuesto que las rutas las pone con 2 barras, así que si funciona no deberias preocuparte.