7 return (
FDesc.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!=0;
16 #elif defined(GLib_UNIX)
38 FPathV(), FExtV(), FBaseWc(),
39 CsImpP(false), RecurseP(_RecurseP), FPathN(0-1),
40 FFileDesc(
TFFileDesc::New()), SubFFile(), CurFNm(), CurFNmN(0-1){
49 FPathV(), FExtV(), FBaseWc(),
50 CsImpP(false), RecurseP(_RecurseP), FPathN(0-1),
51 FFileDesc(
TFFileDesc::New()), SubFFile(), CurFNm(), CurFNmN(0-1){
60 const bool& _RecurseP):
61 FPathV(_FPathV), FExtV(_FExtV), FBaseWc(_FBaseWc),
62 CsImpP(false), RecurseP(_RecurseP), FPathN(0-1),
63 FFileDesc(
TFFileDesc::New()), SubFFile(), CurFNm(), CurFNmN(0-1){
68 for (
int FExtN=0; FExtN<
FExtV.
Len(); FExtN++){
78 if (
FFileDesc->FFileH!=INVALID_HANDLE_VALUE){
95 if ((FBase!=
".")&&(FBase!=
"..")){
98 TStrV SubFPathV; SubFPathV.
Add(SubFPath);
105 if ((FBase!=
".")&&(FBase!=
"..")){
126 if ((FBase!=
".")&&(FBase!=
"..")){
128 TStrV SubFPathV; SubFPathV.
Add(SubFPath);
137 if ((FBase!=
".")&&(FBase!=
"..")){
152 #elif defined(GLib_UNIX)
181 int ErrCd = stat(FNm.
CStr(), &Stat);
186 if (S_ISREG(Stat.st_mode)) {
187 if ((FBase!=
".")&&(FBase!=
"..")){
193 }
else if (S_ISDIR(Stat.st_mode) &&
RecurseP) {
194 if ((FBase!=
".")&&(FBase!=
"..")){
196 TStrV SubFPathV; SubFPathV.
Add(SubFPath);
220 const TStr& FPath,
const TStrV& FExtV,
const bool& RecurseP,
TStrV& FNmV){
223 TFFile FFile(FPathV, FExtV,
"", RecurseP);
TStr FNm;
226 while (FFile.
Next(FNm)){
234 const int MxBfL=1000;
236 int BfL=GetCurrentDirectory(MxBfL, Bf);
237 IAssert((BfL!=0)&&(BfL<MxBfL));
242 const int MxBfL=1000;
244 int BfL=GetModuleFileName(NULL, Bf, MxBfL);
245 IAssert((BfL!=0)&&(BfL<MxBfL));
250 #if defined(GLib_UNIX)
252 const int ErrCd = stat(FPathFNm.
CStr(), &Stat);
253 if (ErrCd == 0 && S_ISDIR(Stat.st_mode)) {
return true; }
259 return CreateDirectory(FPathFNm.
CStr(), NULL)!=0;
263 return RemoveDirectory(FPathFNm.
CStr())!=0;
276 const bool& _FlushP): LogFPath(_LogFPath), PrefixFNm(_PrefixFNm),
static PSOut New(const TStr &FNm, const bool &Append=false)
static void GetFNmV(const TStr &FPath, const TStrV &FExtV, const bool &RecurseP, TStrV &FNmV)
TSizeTy Len() const
Returns the number of elements in the vector.
static bool DelDir(const TStr &FPathFNm)
TFPathNotify(const TStr &_LogFPath, const TStr &_PrefixFNm, const bool &_FlushP)
bool Empty() const
Tests whether the vector is empty.
void Clr(const bool &DoDel=true, const TSizeTy &NoDelLim=-1)
Clears the contents of the vector.
const TVal & Last() const
Returns a reference to the last element of the vector.
TFFile(const TStr &_FNmWc, const bool &_RecurseP=false)
static TStr GetNrFPath(const TStr &FPath)
static TStr GetNrFExt(const TStr &FExt)
static bool Exists(const TStr &FPathFNm)
static PFFile New(const TStr &FNmWc, const bool &RecurseP)
static TStr Fmt(const char *FmtStr,...)
TSizeTy SearchForw(const TVal &Val, const TSizeTy &BValN=0) const
Returns the position of an element with value Val.
void OnStatus(const TStr &MsgStr)
void UpdateSOut(const TTm &NowTm)
int PutStrLn(const TStr &Str, const bool &ForceInLn=false)
TSizeTy Add()
Adds a new element at the end of the vector, after its current last element.
static bool GenDir(const TStr &FPathFNm)