![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
realmente es necesario especificar el path?
pues eso,
recuerdo hace años cuando programaba en versiones mas viejas de delphi y vb creo que habia que ponerlo porque si cambiabas de directorio la liabas. se que el path del ejecutable se extrae muy facil con ExtractFilePath(Application.ExeName); pero realmente si yo quiero acceder a un fichero de texto o de lo que sea que esta en el directorio del ejecutable ¿debo especificar el path? en definitiva es necesario esto? MEMO1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'fichero.txt'); o basta con esto MEMO1.Lines.LoadFromFile('fichero.txt'); se que en principio funciona de las dos formas, pero quiero saber si podria tener algun problema por no especificarlo. gracias |
#2
|
||||
|
||||
Para mi juicio da lo mismo una que otra, lo que creo no debe de hacerse es partir de un camino preestablecido, tal que C:\Programa\ porque si cambiamos el fichero de carpeta dejará de funcionar, en los dos métodos anteriores todo funcionará correctamente si el fichero se encuentra en la misma carpeta que el ejecutabe.
Otra opción puede ser configurar estos caminos mediante un fichero INI. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
![]() |
#3
|
|||
|
|||
La duda que tengo es si cuando lo pones sin path, está mirando en el directorio del ejecutable o en el que él considera que es el directorio actual.
|
#4
|
||||
|
||||
Hola,
Lo más seguro, en mi opinión, es incluir el "path", como tú dices. ¿Por qué? Pues porque, de otro modo (si no me equivoco) puede haber problemas si alguien ha cambiado el "directorio actual" y creo que es ahí donde se "mira" si no se especifica directorio alguno. ¿Que tú no lo cambias? Bueno, pero, puede que algún componente, o alguna "rutina" escondida por ahí sí lo haga. De todas formas, no creo que sea problema incluir el "path"; si ves "repetitivo" escribir el mismo código tal vez podrías definir alguna constante o alguna variable "global" por ahí que te simplicase un poco el asunto. En definitiva, creo que lo de poner el "path" puede ser necesario, puesto que de la otra forma podemos encontrarnos con problemas en un momento dado. Tal vez no es muy probable, pero, ¿por qué no evitar estos posibles problemas si lo tenemos tan sencillo? |
#5
|
||||
|
||||
Hasta donde sé, la cosa no ha cambiado.
Sin path, accedes al directorio activo de windows (que otro programa puede haberlo cambiado) así que no es fiable. Cuando me he olvidado de poner el path, mi archivo termina en la carpeta de windows (la mayoría de las veces) ![]() Lo más cómodo es crear una unidad con parte de inicialización, así podrías tener preestablecido dicha "constante" y reutilizarlo en proyectos (como ya imaginarás, no es bueno poner muchas cosas en inicialización porque quizás no las necesites todas)
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
pensaba yo que era un tema que estaria claro, pero veo que estais igual que yo, osea de poner el path para asegurar,
quizas habria que hacer alguna prueba creando algun programa que cambie el path y probarlo mientras tenemos nuestro programa en ejecucion. Pero..... ¿como se cambia el path activo de windows para probar? |
#7
|
||||
|
||||
Hola,
¿Dónde se creará el archivo "foo.txt"?
En efecto, se creará en "C:\foo.txt". O sea que "ChDir()" establece el "directorio de trabajo" en "C:\" y, al no indicar luego una ruta absoluta, el archivo "foo.txt" se creará en "C:\foo.txt" y no en el directorio de nuestra aplicación, tal como podríamos esperar. |
#8
|
|||
|
|||
otra prueba que tambien es instructiva es crear dos programas, y ejecutarlos a la vez,
¿que ocurrirá entonces? pues que si se crea el fichero en el directorio del ejecutable. osea que un programa no le puede cambiar de path al otro Cita:
Cita:
otra prueba que he hecho es poner un componente Topenfile ejecutarlo y cambiar ahi de directorio. Pero con eso no se cambia el path. En cambio si ponemos un compoente tipo Tdirectoryoutline y cambiamos de directorio, si que cambia el path activo. En definitiva si no estamos seguros de que componentes vamos a usar mejor ponerlo para asegurar. Aunque si controlamos los componentes que tenemos no haria falta realmente. Última edición por cocute fecha: 17-01-2010 a las 22:52:27. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Busquedas por cualquier criterio, sin especificar ninguno | Wonni | SQL | 15 | 14-03-2007 19:30:13 |
Especificar donde guardar archivo generado. | Coco_jac | PHP | 1 | 25-08-2006 15:58:03 |
Es necesario el BDE? | juliopag1 | Conexión con bases de datos | 2 | 15-12-2005 19:22:19 |
Especificar el índice en SQL como un parámetro | Tio | SQL | 4 | 19-06-2003 01:36:02 |
Como especificar la ruta de red? | Argaron | Conexión con bases de datos | 3 | 21-05-2003 23:26:24 |
![]() |
|