Re: Lfn.e

new topic     » goto parent     » topic index » view thread      » older message » newer message

--=======1CD93C2B=======

Juergen and Ricardo,

         I must apologize for my bad eyesight and 14" monitor.  I believe=20
it actually was the  'registered trademark' symbol ( R with a circle around=
=20
it ) in my filename.   At least, I can't find  the @ symbol.

         "=AB" I just typed Alt-174 (#AE) before this sentence between=
 quotes=20
in Eudora.  It looks the same in DOS on my machine. So, that's not part of=
=20
the problem, I think.

         Anyway, I'm still getting the failure.  Ralf Browns list also=20
shows this:

  INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
          AX =3D 714Eh
          CL =3D allowable-attributes mask (see #01397 at AX=3D4301h)
                (bits 0 and 5 ignored)
          CH =3D required-attributes mask (see #01397)
          SI =3D date/time format (see #01755)
          DS:DX -> ASCIZ filespec (both "*" and "*.*" match any filename)
          ES:DI -> FindData record (see #01756)
  Return: CF clear if successful
              AX =3D filefind handle (needed to continue search)
              CX =3D Unicode conversion flags (see #01757)
          CF set on error
              AX =3D error code
                  7100h if function not supported
<snip>
  Bitfields for Windows95 Unicode conversion flags:
  Bit(s)  Description     (Table 01757)
   0      the returned full filename contains underscores for un-convertable
            Unicode characters
   1      the returned short filename contains underscores for=
 un-convertable
            Unicode characters
  SeeAlso: #01756

INT 21:AX =3D 714Eh  reg_list[REG_CX] bit 0 *IS* returning 1 on the bad=20
filenames. and, indeed, lfn_dir() is showing them with underscores (#5F)=20
instead of #AE. I even tried replacing the #5F with #AE before calling=20
lfn_open() but that didn't work either.

         My "Regional Settings" in Win98 are set to "English (United=
 States)"

         and, in Dos,    c:\windows\personal>chcp
                         Active code page: 437

         I don't know enough about Unicode to say why the offending=20
character is considered "un-convertible" by INT21714Eh. I don't know how to=
=20
determine whether my system is broken or just set to some odd but legal=20
configuration.  From what I've read so far, windows uses the ANSI code page=
=20
and DOS uses OEM. There are some "extended" characters which don't map=20
properly.

         I have been able to create a file on the command line using=20
Alt-keypad a file with your codes in the name. They work fine with my test=
=20
program using lfn.e and they probably display the way you see them.  I see=
=20
the lower and upper case a, o, u (alles mit umlaut) followed by the letter=
=20
whose name I can't remember. =E4=C4=F6=D6=FC=DC=DF  I even used #AE in a=
 filename and=20
that worked but in the long form it's changed to #AB on disk.  I will try=20
to take screen shots and show what I mean.

         It may be that there's some windows setting that's causing this=20
behavior.  I will share what I find with you if I think I understand it.

                 Thanks for your effort,

                         Bob

--=======1CD93C2B=======
Content-Type: text/plain; charset=us-ascii; x-avg=cert;
x-avg-checked=avg-ok-27CE47D
Content-Disposition: inline


---

--=======1CD93C2B=======--

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu