1 votos

Mapbasic trabaja en el directorio actual

¿Es posible hacer que mapbasic use el directorio actual para los procesos?

Entonces, en lugar de lo siguiente donde WFolder se establece manualmente como la carpeta de trabajo, ¿puedo hacer que funcione simplemente en la carpeta donde está el archivo mbx?

Include "MapBasic.def"
Include "Menu.def"

Declare Sub Main()
Dim filename, printtext, WFolder as string
Dim rcount, i as Integer

Sub Main()
Close All
'OnError GoTo CaughtEx '// Activar manejo de errores
WFolder="D:\Projects\AsCon_data\Output\OceanBreeze_4B_4C\"
Register Table "D:\Projects\AsCon_data\Output\OceanBreeze_4B_4C\List.txt"  TYPE ASCII Delimiter 9 Titles Charset "WindowsLatin1" Into WFolder+"~MAP0001.TAB"
Open Table WFolder+"~MAP0001.TAB" Hide
Commit Table ~MAP0001 As WFolder+"List.TAB"
Close Table ~MAP0001
Open Table WFolder+"List.TAB"  as List Interactive
Browse * From List
rcount=TableInfo(List,TAB_INFO_NROWS)

i=1
While i<=rcount
    Select * from List where List.RowID=i into RSelection
    Browse * from RSelection
    print RSelection.col1 
    Open Table RSelection.col1 as temptable

' Realizar alguna(s) acción(es)

    commit table temptable
    i=i+1
    close table temptable

Wend
CaughtEx:  '// rutina de manejo de errores
    '// Registrar el error aquí...
    print Chr$(13)+Chr$(13)+"///////MAIN///////"+Chr$(13)+"FAILED due to:"+Chr$(13)+Error$()+Chr$(13)+"\\\\\\\\\\\\\\\"+Chr$(13)
    Resume Next  '// continuar el código en la línea después de aquella que generó el error
End Sub

2voto

Eugene Wu Puntos 33

Para obtener la ruta de MBX, debes usar el comando: ApplicationDirectory$(). Este comando devuelve una cadena que representa tu ruta de MBX.

Según la Referencia de MapInfo: "Al llamar a la función ApplicationDirectory$() desde una aplicación MapBasic compilada, puedes determinar el directorio o carpeta desde el cual se está ejecutando la aplicación. Si no hay ninguna aplicación en ejecución (por ejemplo, si llamas a la función escribiendo en la ventana MapBasic), ApplicationDirectory$() devuelve una cadena nula."

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X