You can use this FN. I think I have adapted it from one of Rick's gifts.
CLEAR LOCAL MODE
DIM pbBlk.80
DIM osErr%
LOCAL FN VisibleFile(visible,filename$, vRefNum%)
pbBlk.ioNamePtr& = @filename$
pbBlk.ioVRefNum% = vRefNum%
osErr% = FN GETFILEINFO (@pbBlk)
LONG IF visible
pbBlk.ioFinderInfo.fdFlags% = pbBlk.ioFinderInfo.fdFlags% AND (NOT _fInvisible)
XELSE
pbBlk.ioFinderInfo.fdFlags% = pbBlk.ioFinderInfo.fdFlags% OR _fInvisible
END IF
osErr% = FN SETFILEINFO (@pbBlk)
END FN = osErr%