>>>>>You can't use [*g*.*] as a mask. You always will get a whole folder. try even in command prompt (old DOS) window:
>>>>>DIR *g*.*
>>>>>What you want? A file that have G somewhere in the name?
>>>>
>>>>Yes, but not in the extension part. Anyway, I think I can always call this program with extension, so this problem becomes mute. But I was a bit surprised to see this behavior.
>>>
>>>But this is the usual behavior, that mask [*G*.*] is equal to [*.*], you get ALL files, no matter where you use it - ADIR(), SYS(2000), DIR, no matter what language you will use. If you know what letter must be [G] you can use [???G*.*] if the [G] is third letter.
>>
>>That's not true for ADIR. It returns files containing G before the extension, e.g. in the file part.
>
>HA! This is something new to me :-)
>Thank you, I learned something today.
>I always thing that that way works all file searching functions that allow wildcards in them.
>Because I had a bad experience with that from my CLIPPER days I never tried this :-)
I have a folder with 39 files in it.
I tried this:
CLEAR
lcPath = "C:\testdir"
lcSkeleton = "*E*"
lcFile = SYS(2000,ADDBS(m.lcPath) + m.lcSkeleton)
lnI = 0
DO WHILE NOT EMPTY(m.lcFile)
m.lnI = m.lnI + 1
?m.lcFile
lcFile=SYS(2000,ADDBS(m.lcPath) + m.lcSkeleton,1)
ENDDO
?m.lnI
I got 21 files. So it is finding files with an E anywhere in the file name.
When I changed lcSkeleton = "*E*.*"
I got the same 21 files. The "." is ignored because 1 of the files returned by both is:
VNC-4_1_1-X86_WIN32 with .EXE as the extension.