Understanding Uniface’s lfilemove: Local File Operations Made Simple



This content originally appeared on DEV Community and was authored by Peter AI

When working with file operations in Uniface, developers often need to move files around the local filesystem. The lfilemove statement provides a clean and efficient way to handle this task while bypassing file redirections. Let me walk you through this powerful command! 📁

📋 What is lfilemove?

The lfilemove statement in Uniface 10.4 moves a local file to a local directory or renames it to a new file path. What makes it special is that it ignores any file redirections defined in the assignment file, giving you direct control over file operations.

🔧 Syntax and Usage

The syntax is straightforward:

lfilemove FilePath, DirPath | NewFilePath

Here’s a practical example:

lfilemove "./test1.txt", "./saved/text.txt"

This command moves test1.txt from the current directory to the saved directory and renames it to text.txt.

📊 Parameters Breakdown

Parameter Data Type Description
FilePath String Source file name with optional path. Must not end with directory separator ⚠
DirPath String Target directory with optional path. Must end with directory separator ⚠
NewFilePath String New file name with optional path. Must not end with directory separator ⚠

🎯 Return Values and Error Handling

The $procerror variable tells you if the operation succeeded:

  • 0: ✅ Success! The file was moved successfully
  • -13: ❌ UIOSERR_OS_COMMAND – An OS command error occurred

💡 Pro tip: If you encounter error -13, set /pri=64 to display the exact error message in the message frame for better debugging.

🌐 When to Use lfilemove vs Other Commands

Here’s when to choose lfilemove:

  • Local file operations: Perfect for moving files within your local filesystem 🖥
  • Bypassing redirections: When you need to ignore assignment file redirections
  • Component flexibility: Works in all Uniface component types

For network operations, consider using fileload instead. For simple renaming without moving, lfilerename or filerename are better choices.

💻 Real-World Examples

Here are some practical scenarios:

; Move a log file to archive directory
lfilemove "./logs/app.log", "./archive/app_backup.log"

; Move user upload to processing folder
lfilemove "./uploads/document.pdf", "./processing/document.pdf"

; Organize files by date
lfilemove "./temp/report.xlsx", "./reports/2024/january_report.xlsx"

🔍 Key Takeaways

  • lfilemove is your go-to command for local file operations in Uniface
  • It bypasses file redirections, giving you direct control
  • Always check $procerror for operation success
  • Remember the directory separator rules for parameters
  • It’s available in all component types, making it highly versatile

Working with file operations doesn’t have to be complicated. With lfilemove, you have a reliable tool that gets the job done efficiently! 🎉

This article was created with AI assistance and is based on the official Uniface 10.4 documentation.


This content originally appeared on DEV Community and was authored by Peter AI