Ayuda para borrar un código.

Topic created · 12 Mensajes · 760 Visitas
  • Hola gente (especialmente hawkings y salva xD)
    bueno, estoy haciendo un programa blaaaa blaaaaa blaaaaa
    que cuando le doy a un botón éste me crea un archivo .xml con su código y tal (todo perfecto)
    tengo puesto que cuando le de a un botón y elija un archivo, esta ruta del archivo me la copia en una caja de texto (con su extensión, digamos que es .dll) y claro, en el archivo .xml me genera también la ruta
    es decir
    BLAAA BLAAA BLAAA C:\Archivos de programa\ARCHIVO.dll
    como podría hacer yo para que esa extensión se suprimiese?
    es decir, que si elijo el archivo .dll desde el botón, que esta ruta del archivo dll se copie en una caja de texto, y que cuando le de a otro botón me guarde un código con esa ruta pero sin la extensión .dll? Ç_Ç

    Es desesperante y es bueno... me corre prisa xD

  • Vale, escucha, esto es un poco chapuza pero funcionará, no sé que funciones existen para trabajar con Strings en VB, pero sólo tienes que eliminar los últimos 4 caracteres (En C sería metiendole un '\0' en la posición 4 empezando desde el final xD). Investiga ya cómo lo puedes hacer en VB _xD_

  • He probado de todo xD
    He intentado hacer el CurDir (que me seleccione la ruta + el archivo) - 4 que sería borras los 4 últimos caracteres y nada. no va
    También he probado con CurDir & -".formato" y nada xDDD
    He mirado en las propiedades del textbox y no sale nada parecido a "Extension" ni nada S

  • Me has hecho buscar funciones de VB :|||:

    Bueno, aquí tienes cariño ( _xD_ ), sólo tienes que guardar la ruta en una cadena llamada "ruta" y hacerle esto. Esa función te devolverá la ruta sin la extensión.

    Left$(ruta,Len(ruta)-4)
  • apuuuuf ahora meterlo en una cadena, porque el maldito

    está en false, no lo puedo cambiar y encima no tiene acceso a la ruta que le doy el puñetero

    System.UnauthorizedAccessException
    

    Que no hay manera xD, cuando por fin consigo algo que vaya bien, se caga todo lo demás T_T

    Ha sido iniciarlo y ir perfectamente, cerrarlo volverlo a enchufar y que me salte eso, pero bueh U-u gracias de todas formas :happy:
    (El problema dudo que haya sido por la cadena eh xD)

  • ¿Has probado a ejecutarlo como administrador?

    (En win7 aunque uses la cuenta de administrador tienes que ejecutar los programas como administrador para que tengan permisos especiales...)

    EDIT:
    @Anghios said:

    He intentado hacer el CurDir (que me seleccione la ruta + el archivo)

    Según los ejemplos que he visto de CurDir, devuelve una String conteniendo la ruta en la que se encuentra el archivo. Por ejemplo si tu programa está en C:\Users\Anghios\programa.exe CurDir devolverá "C:\Users\Anghios", por lo que no te hace falta quitarle la extensión. Además no lanza la excepción System.UnauthorizedAccessException, las unicas excepciones que lanza son:
    IOException y ArgumentException. Corrígeme si me he equivocado, lo he leido en:

    http://msdn.microsoft.com/es-es/library/0hye9yys(v=vs.80).aspx

  • Sí, como admin y sin admin, sale esto xD

  • Prueba De acerlo de nuevo y con otro nombre o algo puede i mira si no te da ninjun error abajo

  • UnauthorizedAccessException:
    path specified a file that is read-only.
    -or-
    This operation is not supported on the current platform.
    -or-
    path specified a directory.
    -or-
    The caller does not have the required permission.

    Si has ejecutado como admin, dudo q sea un problema de permisos. Me imagino que será más bien el error de que intentas abrir una carpeta como si fuera un archivo, el tercer error vamos.
    Imprime por pantalla la ruta del archivo q quieres abrir (o crear no se q estas haciendo) a ver qué sale.

    a mi me gustaría que explicases un poco más de qué va el tema, porque lo del

  • justo ahora me acaba de solucionar esto hawkings por msn
    me dió código

    Dim var As String
            var = "asdgafgadfgds.epk"
            var = var.Substring(0, var.Length - 4)
    
    
            MsgBox((var))
    

    y me quita los 4 últimos.
    Gracias a los 2, sois geniales :in-love: :in-love: