nHandleHandle válido de FOpen/FCreate; cero también es válido.
Guía AdvPLFSeek( nHandle, nOffSet, [nOrigem] ) --> nRetPosiciona puntero de archivo en bytes.
FSeek desplaza desde FS_SET, FS_RELATIVE o FS_END y devuelve posición absoluta desde cero. Ir cero bytes desde final obtiene tamaño y cambia cursor. GitHub usa técnica y vuelve al inicio; adaptación solo lectura, consulta FError y cierra handle propio. Byte no es carácter ni posición de archivo RecNo. (TOTVS, s.f., ref. 1)
FSeek( nHandle, nOffSet, [nOrigem] ) --> nRetnHandleHandle válido de FOpen/FCreate; cero también es válido.
nOffSetDesplazamiento en bytes.
nOrigemFS_SET=0, FS_RELATIVE=1, FS_END=2; inicio predeterminado.
Nueva posición absoluta en bytes desde inicio.
#Include "Protheus.ch"
#Include "Fileio.ch"
User Function Ed396()
Local nHandle := -1
Local nError := 0
Local nTamano
// Archivo ficticio existente en contexto de prueba; lectura compartida.
nHandle := FOpen("editorial-test.txt", FO_READ + FO_SHARED)
If nHandle < 0
nError := FError()
ConOut(cValToChar(nError))
Else
nTamano := FSeek(nHandle, 0, FS_END)
nError := FError()
If nError == 0
ConOut(cValToChar(nTamano))
// Reposicionar antes de eventual lectura posterior.
FSeek(nHandle, 0, FS_SET)
Else
ConOut(cValToChar(nError))
EndIf
If !FClose(nHandle)
ConOut(cValToChar(FError()))
EndIf
EndIf
Return NilTamaño del archivo de prueba en bytes o diagnóstico; sin valor fijo supuesto. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
Desarrollado con Usina Docs · Alpha
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso
Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.