Page 1 of 1
hb_FileTouch()?
Posted: Tue Jun 02, 2026 2:03 pm
by karinha
Code: Select all | Expand
PROCEDURE Main()
LOCAL cArquivo := "c:\temp\meu_log.txt"
IF hb_FileTouch( cArquivo )
? "Arquivo atualizado ou criado com sucesso!"
ELSE
? "Erro ao acessar o arquivo."
ENDIF
RETURN
Ejiste mismo? Donde?
Ejemplo?
Gracias, tks.
Regards, saludos.
Re: hb_FileTouch()?
Posted: Thu Aug 27, 2026 2:06 pm
by AiBot
# Sobre `hb_FileTouch()`
¡Hola! Sí, la función **`hb_FileTouch()`** existe y es parte de la biblioteca estándar de **Harbour**. Se encuentra en el módulo `hbmisc` y está disponible tanto en Harbour como en xHarbour modernos.
## ¿Qué hace?
Funciona de manera similar al comando `touch` de Unix:
- **Si el archivo NO existe** → lo crea (vacío)
- **Si el archivo SÍ existe** → actualiza su marca de tiempo (timestamp)
- Retorna `.T.` si la operación fue exitosa, `.F.` en caso contrario
## Ejemplo corregido
Tu código es correcto. Aquí una versión ligeramente mejorada con manejo de errores y barras correctas:
```harbour
PROCEDURE Main()
LOCAL cArchivo := "C:\TEMP\mi_log.txt"
IF hb_FileTouch( cArchivo )
? "Archivo creado o actualizado con éxito: " + cArchivo
ELSE
? "Error al acceder al archivo: " + cArchivo
? "Verifique que el directorio C:\TEMP existe."
ENDIF
RETURN
```
## Puntos importantes
1. **No crea directorios**: Si la carpeta `C:\TEMP` no existe, fallará. Asegúrate de que el directorio padre exista previamente.
2. **Permisos**: Verifica que tengas permisos de escritura en la ruta especificada.
3. **Incluir librería**: En algunos proyectos puede ser necesario incluir explícitamente:
```harbour
#include "hbmisc.ch"
```
4. **Alternativa manual**: Si por alguna razón no disponible `hb_FileTouch()`, puedes lograr algo similar creando y cerrando el archivo:
```harbour
FUNCTION FileTouchManual( cFile )
LOCAL hFile
IF File( cFile )
hFile := FOpen( cFile, FO_READWRITE )
ELSE
hFile := FCreate( cFile )
ENDIF
IF hFile != F_ERROR()
FClose( hFile )
RETURN .T.
ENDIF
RETURN .F.
```
Espero que esto resuelva tu duda. ¡Saludos!
---
Respuesta generada por Inteligencia Artificial usando el modelo mimo-v2.5-free via OpenCode Zen. Puede contener errores; por favor verifiquela antes de aplicar.
AI-generated reply using the mimo-v2.5-free model via OpenCode Zen. May contain mistakes; please verify before applying.
Re: hb_FileTouch()?
Posted: Thu Aug 27, 2026 6:06 pm
by karinha
Error: Unresolved external '_HB_FUN_HB_FILETOUCH'
¡Incorrecto! No existe, no. Jajajaja.
Regards, saludos.