Kbase P81493: How to check if a given directory contains files of a given extension using 4GL?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/21/2004 |
|
Status: Unverified
GOAL:
How to check if a given directory contains files of a given extension using 4GL?
FIX:
One solution is to define a function that would return TRUE if such files exists and or FALSE otherwise as demonstrated in the following code:
FUNCTION fileExists RETURNS LOGICAL (
INPUT pcDiretoryName AS CHARACTER,
INPUT pcExtension AS CHARACTER
).
DEFINE VARIABLE cCurrentFileName AS CHARACTER NO-UNDO.
DEFINE VARIABLE cPattern AS CHARACTER NO-UNDO.
DEFINE VARIABLE lReuslt AS LOGICAL NO-UNDO.
ASSIGN
cPattern = "*~~." + pcExtension.
INPUT FROM OS-DIR(pcDiretoryName).
REPEAT:
IMPORT cCurrentFileName.
IF LENGTH(cCurrentFileName) < 3 THEN NEXT.
IF cCurrentFileName MATCHES cPattern THEN DO:
lReuslt = TRUE.
LEAVE.
END.
END.
RETURN lReuslt.
END FUNCTION.
DEFINE VARIABLE cDiretoryName AS CHARACTER NO-UNDO.
DEFINE VARIABLE cExistingFileExtension AS CHARACTER NO-UNDO.
DEFINE VARIABLE cNonExistingFileExtension AS CHARACTER NO-UNDO.
ASSIGN
cDiretoryName = "C:\WRK91D"
cExistingFileExtension = "txt"
cNonExistingFileExtension = "zyz".
MESSAGE fileExists(cDiretoryName, cExistingFileExtension) fileExists(cDiretoryName, cNonExistingFileExtension)
VIEW-AS ALERT-BOX INFO BUTTONS OK.