On 12/3/2014 12:27 PM, Bart wrote:
On 12/3/14, Ralf Quint <freedos...@gmail.com> wrote:

On any DOS based OS (that includes OS/2 and Windows), the "?" wildcard
character will find any character, including no character at all in that
position. So in your example, t?.txt will find t.txt and tx.txt but not
txy.txt. It will not return any filename longer than your search mask,
but return shorter filenames. This is (should be) a functionality of the
underlying system calls.
Windows.FindFirstFile however treats ? as exactly 1 character AFAIK.
And is I'm not mistake this was also the case with TP in the old days.

I do not have a working DOS on my Windows 8.1 laptop here right now, but as long as I can remember, the "?" as always a match for "one or none", allowing for a shorter filename as the filemask to be returned. The only exception that comes to my mind though is a the combination of "??*.txt" for example, which would return all filenames at least two characters long,
A quick test in a Windows 8.1 command prompt:

 Directory of C:\Users\Ralf\x

12/03/2014  12:50 PM    <DIR>          .
12/03/2014  12:50 PM    <DIR>          ..
12/03/2014  12:49 PM                 3 a.txt
12/03/2014  12:49 PM                 3 aa.txt
12/03/2014  12:49 PM                 3 aaa.txt
12/03/2014  12:50 PM                 3 b.txt
12/03/2014  12:50 PM                 3 bb.txt
12/03/2014  12:50 PM                 3 bbb.txt
12/03/2014  12:50 PM                 3 c.txt
12/03/2014  12:50 PM                 3 cc.txt
12/03/2014  12:50 PM                 3 ccc.txt
               9 File(s)             27 bytes
               2 Dir(s)  324,408,578,048 bytes free

C:\Users\Ralf\x>dir ?.txt
 Volume in drive C is TI10673200G
 Volume Serial Number is 5E9D-3D3F

 Directory of C:\Users\Ralf\x

12/03/2014  12:49 PM                 3 a.txt
12/03/2014  12:50 PM                 3 b.txt
12/03/2014  12:50 PM                 3 c.txt
               3 File(s)              9 bytes
               0 Dir(s)  324,408,578,048 bytes free

C:\Users\Ralf\x>dir ??.txt
 Volume in drive C is TI10673200G
 Volume Serial Number is 5E9D-3D3F

 Directory of C:\Users\Ralf\x

12/03/2014  12:49 PM                 3 a.txt
12/03/2014  12:49 PM                 3 aa.txt
12/03/2014  12:50 PM                 3 b.txt
12/03/2014  12:50 PM                 3 bb.txt
12/03/2014  12:50 PM                 3 c.txt
12/03/2014  12:50 PM                 3 cc.txt
               6 File(s)             18 bytes
               0 Dir(s)  324,408,573,952 bytes free

C:\Users\Ralf\x>


























---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to