#1561 closed doubt (fixed)
GetAbsolutePath
| Reported by: | imendez | Owned by: | Víctor de Buen Remiro |
|---|---|---|---|
| Priority: | normal | Milestone: | Mantainance |
| Component: | Kernel | Version: | 3.1 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Hola, una pregunta: ¿para qué sirve la función GetAbsolutePath?
La descripción parece estar mal, ya que es la de otra función llamada GetFileName:
Devuelve el camino absoluto del directorio en el que se encuentra un fichero.
Ejemplo:
GetFileName("c:/windows/notepad.exe")
devuelve
c:/windows
GetFileName("../../notepad.exe")
devuelve
c:/windows
La he ejecutado desde la ventana Eval con el argumento vacío (""), y me devuelve la ruta del último archivo que he compilado:
Text Ruta = GetAbsolutePath("");
Un saludo.
Change History (4)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
La descripción de GetAbsolutePath está copiada de GetFileName y se me olvidó cambiar el nombre. Lo demás está bien.
Cuando se compila un fichero TOL internamente se mueve al directorio donde reside el fichero para que funcionen los caminos relativos.
comment:3 Changed 13 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |

Con un ejemplo práctico:
Al compilar
Include("file.ext")se incluye el archivo"file.ext"siIncludelo localiza en su ruta relativa.Si llamas a
GetAbsolutePath("file.ext")obtienes la ruta absoluta correspondiente a dicho archivo. La misma en la que elIncludeintenta localizarlo.Otro ejemplo, si compilas
Text path = GetAbsolutePath(".");en el archivo principal de un proyecto (.hace referencia al directorio actual, lo mismo que..hace referencia al directorio superior) consigues inicializar la variablepathcon la ruta del proyecto sin tener que escribirla explícitamente, pues esa expresión obtiene la ruta del archivo en el que se ejecuta.