Os dejo una lista de truquillos de código que más de una vez nos salvan de apuros:
CONOCER LA RUTA DIRECTORIO ESPECIAL:
Para conocer la ruta de un directorio especial dentro del equipo (Mis documentos, Mis Imágenes)….
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
La enumeración SpecialFolder del Namespace nos indica algunos directorios especiales y con la función GetFolderPath obtenemos la ruta completa
CONOCER EL DIRECTORIO EN EL QUE ESTAMOS TRABAJANDO:
Environment.CurrentDirectory
CONOCER LA RUTA DEL FICHERO EXE DE NUESTRA APLICACIÓN
Application.StartUpPath
OBTENER UN LISTADO DE LAS UNIDADES DE NUESTRO EQUIPO (1):
For Each Str As String In Environment.GetLogicalDrives()
MsgBox(Str)
Next
OBTENER UN LISTADO DE LAS UNIDADES DE NUESTRO EQUIPO (2):
Versión con expresión Lambda y lista…
Environment.GetLogicalDrives().ToList.ForEach(Function(str) Msgbox(str))
OBTENER UN LISTADO DE LOS PARAMETROS RECIBIDOS EN LA LINEA DE COMANDOS:
Environment.GetCommandLineArgs()
DETERMINAR SI UN FICHERO EXISTE
My.Computer.FileSystem.FileExists("RUTAFICHERO.EXTENSION")
OBTENER EL LISTADO DE FICHEROS DE UN DIRECTORIO:
My.Computer.FileSystem.GetFiles("DIRECTORIO")
DETERMINAR LA INFORMACIÓN DE UN FICHERO:
My.Computer.FileSystem.GetFileInfo("FICHERO")
DETERMINAR LA INFORMACION DE UN DIRECTORIO:
My.Computer.FileSystem.GetDirectoryInfo("DIRECTORIO")
Continuará…
Hola, después de tanto tiempo. Soy Gerry, uno de los seguidores pero no me deja loguearme.
ResponderEliminarEl método para encontrar el path de la aplicación está bien, pero por alguna razón, no funciona cuando estás programando (tal vez sólo en el compilado), lo cual complica el acceso a bases de datos en el directorio de la aplicación.
¿O yo estoy equivocado?
Hola Gerry, cual de todos los metodos es el que no te funciona de forma correcta?
ResponderEliminarPor otro lado, te invito a que visites mi nuevo Blog en Geeks.ms/Blogs/Jtorrecilla
Un saludo!
Me refiero al de obtener el path de la aplicación, acci{on necesaria para abrir la base de datos (salvo que la ubique en Mis documentos o en alg{un path absoluto, como el ra{iz de C:, por ejemplo). Cuando pruebo lo que estoy programando (dentro del Visual Basic 2010) no me funciona y tengo que escribir el path completo de la base de datos.
ResponderEliminar¿Tienes la BD dentro de tu proyecto?
ResponderEliminarSi es asi puede que lo que suceda es que estes perdiendo los cambios que realzias en ejecución, por una propiedad del fichero de BD que se modifica desde VS (Copiar al directorio de resultados)
Es esto lo que te sucede?
Hola, perdón por la tardanza. En realidad, ni llega a eso, directamente el proyecto (siempre dentro del IDE de Visual Basic) no encuentra la base.
ResponderEliminarHola Gerry perdon por el tiempo en contestar, umh la verdad es que es algo curioso, mandame el proyecto si quieres y le doy un vistazo.
ResponderEliminarMás fácil, creo un formulario con una TextBox:
ResponderEliminarPrivate Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'TextBox1.Text = Environment.CurrentDirectory
TextBox1.Text = Application.StartupPath
End Sub
En cualquiera de los dos casos el resultado es el mismo:
f:\mis documentos\visual studio 2010\Projects\checkPath\checkPath\bin\Debug
Data adicional:
ResponderEliminar- por supuesto, Mis Documentos está en la particón F:
- el proyecto se llama checkPath, como se ve allí.
- obviamente, la primera líne TextBox1.Tex= etc. está como remark, en otra prueba, quito el remark a esa y lo pongo en la otra. En ambos casos el resultado es el mismo: no el path del proyecto sin el path \bi\Debug DENTRO del proyecto.
Veo que ya debo cambiar el teclado....
ResponderEliminarHola Gerry, pero ese resultado que obtienes es correcto. Al estar en ejecución desde Visual Studio es donde realmente estás ejecutando la aplicación, si generas el ejecutable, y lo pones en la raiz: F:\ el resultado seria "f:\"
ResponderEliminarOK, pero yo necesitaba probar la aplicación desde el IDE. En los foros de Microsoft me dijeron que incorporase la dB al proyecto con la opción de "Copy if newer" y allí más o menos funciona (si pongo la base en el raíz del proyecto)
ResponderEliminarGracias.
Pero que es lo que realmente necesitas hacer?
ResponderEliminarEs un sistema con una base datos residente en el mismo directorio que el .exe. Jamás el .exe del cliente estará e bin\debug.
ResponderEliminarSi agrego la base al proyecto, no necesito escribir la dirección "dura" de la base, pero si la pusiera en un directorio \database, allí ya no funciona en el IDE.
Todo esto es para poder ir haciendo pruebas desde dentro del IDE de Visual Basic.
Evidentemente el exe no estará en BIN/DEBUG, pero es que tienes que pensar que esa ruta es como si fuera la ruta donde el cliente tiene isntalada la aplicación...
ResponderEliminarSi lo que quieres es : abrir la app guardar datos, y luego verlos desde VS, tendrás que agregar la BD al explorador de Servidores(tecla Windows + ALT + S) la copia de la BD que se encuentra en la Carpeta BIN\DEBUG
Hola, como estas? necesito alguna funcion o algoritmo en Sybase 15 que dado un valor numerico en string le ponga separadores de miles.
ResponderEliminarPor ejemplo
Valor = '45000.00'
Debe quedar como '45,000.00'
Si puedes ayudarme te agradezco