digitalmars.D.bugs - utf and std.file
- Carlos Santander B. (21/21) Apr 29 2004 This simple program:
- C (4/28) Apr 29 2004 Sorry if this is a stupid question , but does that mean file names can
- Matthew (5/33) Apr 30 2004 He, he. You're American, right?
- Walter (8/14) May 02 2004 áéíóúñÁÉÍÓÚÑ,
-
Carlos Santander B.
(24/24)
May 02 2004
"Walter"
wrote in message - Walter (9/31) May 02 2004 is
- J C Calvarese (9/50) May 02 2004 I think Carlos Santander is trying to use a non-English character in a
- Walter (7/57) May 02 2004 name
- J C Calvarese (3/55) May 03 2004 Oops. What was I thinking? I must have been half-asleep.
-
Carlos Santander B.
(34/34)
May 03 2004
"Carlos Santander B."
wrote in message - Walter (4/8) May 03 2004 see
- Walter (5/12) May 04 2004 I think Stewart Gordon put the finger on the problem. Filenames are used...
- Carlos Santander B. (5/10) May 04 2004 That's not the problem. I can create "año.d", and compile and link it wi...
- Carlos Santander B. (8/16) May 04 2004 It must be. Like I said, it passed on XP, but it didn't pass on 98.
- Walter (7/26) May 07 2004 to
-
Carlos Santander B.
(23/23)
May 08 2004
"Walter"
wrote in message - Carlos Santander B. (35/35) May 10 2004 I'm really lost about this thing. There are only 2 things I can think of
- Walter (11/44) May 19 2004 vs
-
Carlos Santander B.
(18/18)
May 19 2004
"Walter"
escribió en el mensaje - Walter (4/20) May 19 2004 It will work on win9x if the unicode characters you're using are
-
Carlos Santander B.
(9/9)
May 20 2004
"Walter"
escribió en el mensaje - J C Calvarese (12/23) May 20 2004 Microsoft would probably tell you to upgrade to Windows XP because they
- Walter (4/11) May 21 2004 Actually, I think I know what the problem is. listdir() is not convertin...
- Walter (389/396) May 24 2004 Try the following std.file.d and see if it works.
-
Carlos Santander B.
(18/18)
May 25 2004
"Walter"
escribió en el mensaje
This simple program: import std.file; import std.c.stdio; import std.path; import std.utf; void main() { char [][] archivos = listdir( curdir ) ; foreach ( char [] a ; archivos ) try validate(a); catch (UtfError) printf("%.*s: invalid\n",a); } Outputs "invalid" for any file that contains in its name any of: áéíóúñÁÉÍÓÚÑ, and maybe other characters. That means that for any file named, say, "año2004.dat", I can't do anything with it because DMD thinks its name is not valid. That's annoying, at least for me, because those are characters that are used all the time in Spanish and other languages, so I tend to name my files using those characters. ------------------- Carlos Santander B.
Apr 29 2004
Sorry if this is a stupid question , but does that mean file names can be anything ? Do the Russians use russian charaters for their files etc. ? C Carlos Santander B. wrote:This simple program: import std.file; import std.c.stdio; import std.path; import std.utf; void main() { char [][] archivos = listdir( curdir ) ; foreach ( char [] a ; archivos ) try validate(a); catch (UtfError) printf("%.*s: invalid\n",a); } Outputs "invalid" for any file that contains in its name any of: áéíóúñÁÉÍÓÚÑ, and maybe other characters. That means that for any file named, say, "año2004.dat", I can't do anything with it because DMD thinks its name is not valid. That's annoying, at least for me, because those are characters that are used all the time in Spanish and other languages, so I tend to name my files using those characters. ------------------- Carlos Santander B.
Apr 29 2004
He, he. You're American, right? <G> "C" <dont respond.com> wrote in message news:c6rcsk$1sei$1 digitaldaemon.com...Sorry if this is a stupid question , but does that mean file names can be anything ? Do the Russians use russian charaters for their files etc. ? C Carlos Santander B. wrote:áéíóúñÁÉÍÓÚÑ,This simple program: import std.file; import std.c.stdio; import std.path; import std.utf; void main() { char [][] archivos = listdir( curdir ) ; foreach ( char [] a ; archivos ) try validate(a); catch (UtfError) printf("%.*s: invalid\n",a); } Outputs "invalid" for any file that contains in its name any of:areand maybe other characters. That means that for any file named, say, "año2004.dat", I can't do anything with it because DMD thinks its name is not valid. That's annoying, at least for me, because those are characters thatused all the time in Spanish and other languages, so I tend to name my files using those characters. ------------------- Carlos Santander B.
Apr 30 2004
"Carlos Santander B." <Carlos_member pathlink.com> wrote in message news:c6rbd4$1q4a$1 digitaldaemon.com...Outputs "invalid" for any file that contains in its name any of:áéíóúñÁÉÍÓÚÑ,and maybe other characters. That means that for any file named, say, "año2004.dat", I can't do anything with it because DMD thinks its name isnotvalid. That's annoying, at least for me, because those are characters thatareused all the time in Spanish and other languages, so I tend to name myfilesusing those characters.Is it possible to use a unicode text editor instead? D doesn't support code pages, relying instead on unicode.
May 02 2004
"Walter" <newshound digitalmars.com> wrote in message news:c747m1$5te$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c6rbd4$1q4a$1 digitaldaemon.com... || Outputs "invalid" for any file that contains in its name any of: | áéíóúñÁÉÍÓÚÑ, || and maybe other characters. That means that for any file named, say, || "año2004.dat", I can't do anything with it because DMD thinks its name is | not || valid. That's annoying, at least for me, because those are characters that | are || used all the time in Spanish and other languages, so I tend to name my | files || using those characters. | | Is it possible to use a unicode text editor instead? D doesn't support code | pages, relying instead on unicode. I don't understand. Let's say I have a file "año" and I want to read it from my D program. D won't let me because it says it's not a valid string. At the very least I'd like to read the file, but I can't. ----------------------- Carlos Santander Bernal
May 02 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c74do5$e3t$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> wrote in message news:c747m1$5te$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c6rbd4$1q4a$1 digitaldaemon.com... || Outputs "invalid" for any file that contains in its name any of: | áéíóúñÁÉÍÓÚÑ, || and maybe other characters. That means that for any file named, say, || "año2004.dat", I can't do anything with it because DMD thinks its nameis| not || valid. That's annoying, at least for me, because those are characters that | are || used all the time in Spanish and other languages, so I tend to name my | files || using those characters. | | Is it possible to use a unicode text editor instead? D doesn't support code | pages, relying instead on unicode. I don't understand. Let's say I have a file "año" and I want to read itfrommy D program. D won't let me because it says it's not a valid string. Atthevery least I'd like to read the file, but I can't.There are two ways to do international character sets - one way is using unicode, which D supports (as does Win32 with 16 bit wchar's). The other way is a horrible kludge called "code pages". I presume you are using code pages. Can you switch to using unicode?
May 02 2004
Walter wrote:"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c74do5$e3t$1 digitaldaemon.com...I think Carlos Santander is trying to use a non-English character in a filename. I attached an example of what I found won't work. The compiler won't even admit the file is there. I suspect this is a moot point if the linker (written in hand-tuned assembly) wouldn't handle such a filename either. -- Justin http://jcc_7.tripod.com/d/"Walter" <newshound digitalmars.com> wrote in message news:c747m1$5te$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c6rbd4$1q4a$1 digitaldaemon.com... || Outputs "invalid" for any file that contains in its name any of: | áéíóúñÁÉÍÓÚÑ, || and maybe other characters. That means that for any file named, say, || "año2004.dat", I can't do anything with it because DMD thinks its nameis| not || valid. That's annoying, at least for me, because those are characters that | are || used all the time in Spanish and other languages, so I tend to name my | files || using those characters. | | Is it possible to use a unicode text editor instead? D doesn't support code | pages, relying instead on unicode. I don't understand. Let's say I have a file "año" and I want to read itfrommy D program. D won't let me because it says it's not a valid string. Atthevery least I'd like to read the file, but I can't.There are two ways to do international character sets - one way is using unicode, which D supports (as does Win32 with 16 bit wchar's). The other way is a horrible kludge called "code pages". I presume you are using code pages. Can you switch to using unicode?
May 02 2004
"J C Calvarese" <jcc7 cox.net> wrote in message news:c74m7l$qk3$1 digitaldaemon.com...Walter wrote:name"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c74do5$e3t$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> wrote in message news:c747m1$5te$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c6rbd4$1q4a$1 digitaldaemon.com... || Outputs "invalid" for any file that contains in its name any of: | áéíóúñÁÉÍÓÚÑ, || and maybe other characters. That means that for any file named, say, || "año2004.dat", I can't do anything with it because DMD thinks itsmyis| not || valid. That's annoying, at least for me, because those are characters that | are || used all the time in Spanish and other languages, so I tend to nameway| files || using those characters. | | Is it possible to use a unicode text editor instead? D doesn't support code | pages, relying instead on unicode. I don't understand. Let's say I have a file "año" and I want to read itfrommy D program. D won't let me because it says it's not a valid string. Atthevery least I'd like to read the file, but I can't.There are two ways to do international character sets - one way is using unicode, which D supports (as does Win32 with 16 bit wchar's). The otherI think he's talking about non-english characters in D strings, not in D source code filenames.is a horrible kludge called "code pages". I presume you are using code pages. Can you switch to using unicode?I think Carlos Santander is trying to use a non-English character in a filename. I attached an example of what I found won't work.The compiler won't even admit the file is there. I suspect this is a moot point if the linker (written in hand-tuned assembly) wouldn't handle such a filename either. -- Justin http://jcc_7.tripod.com/d/
May 02 2004
In article <c7521v$1dnt$3 digitaldaemon.com>, Walter says..."J C Calvarese" <jcc7 cox.net> wrote in message news:c74m7l$qk3$1 digitaldaemon.com...Oops. What was I thinking? I must have been half-asleep. JustinWalter wrote:name"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c74do5$e3t$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> wrote in message news:c747m1$5te$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c6rbd4$1q4a$1 digitaldaemon.com... || Outputs "invalid" for any file that contains in its name any of: | áéíóúñÁÉÍÓÚÑ, || and maybe other characters. That means that for any file named, say, || "año2004.dat", I can't do anything with it because DMD thinks itsmyis| not || valid. That's annoying, at least for me, because those are characters that | are || used all the time in Spanish and other languages, so I tend to nameway| files || using those characters. | | Is it possible to use a unicode text editor instead? D doesn't support code | pages, relying instead on unicode. I don't understand. Let's say I have a file "año" and I want to read itfrommy D program. D won't let me because it says it's not a valid string. Atthevery least I'd like to read the file, but I can't.There are two ways to do international character sets - one way is using unicode, which D supports (as does Win32 with 16 bit wchar's). The otherI think he's talking about non-english characters in D strings, not in D source code filenames.is a horrible kludge called "code pages". I presume you are using code pages. Can you switch to using unicode?I think Carlos Santander is trying to use a non-English character in a filename. I attached an example of what I found won't work.
May 03 2004
"Carlos Santander B." <Carlos_member pathlink.com> wrote in message news:c6rbd4$1q4a$1 digitaldaemon.com | This simple program: | | import std.file; | import std.c.stdio; | import std.path; | import std.utf; | void main() { | char [][] archivos = listdir( curdir ) ; | foreach ( char [] a ; archivos ) | try | validate(a); | catch (UtfError) | printf("%.*s: invalid\n",a); | } | | Outputs "invalid" for any file that contains in its name any of: áéíóúñÁÉÍÓÚÑ, | and maybe other characters. That means that for any file named, say, | "año2004.dat", I can't do anything with it because DMD thinks its name is not | valid. That's annoying, at least for me, because those are characters that are | used all the time in Spanish and other languages, so I tend to name my files | using those characters. | Walter, did you do any changes to the compiler for 0.86 regarding UTF? Because now I ran the same code but on WinXP Pro (previously it was in Win98) and it works just well. I'm gonna test it again tomorrow on 98 to see if it's the OS. ----------------------- Carlos Santander Bernal
May 03 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c766k4$3ad$1 digitaldaemon.com...Walter, did you do any changes to the compiler for 0.86 regarding UTF? Because now I ran the same code but on WinXP Pro (previously it was in Win98) and it works just well. I'm gonna test it again tomorrow on 98 toseeif it's the OS.I don't think so.
May 03 2004
"Walter" <newshound digitalmars.com> wrote in message news:c775i2$1jo3$1 digitaldaemon.com..."Carlos Santander B." <carlos8294 msn.com> wrote in message news:c766k4$3ad$1 digitaldaemon.com...I think Stewart Gordon put the finger on the problem. Filenames are used as part of the name mangling, and so need to contain valid identifier characters.Walter, did you do any changes to the compiler for 0.86 regarding UTF? Because now I ran the same code but on WinXP Pro (previously it was in Win98) and it works just well. I'm gonna test it again tomorrow on 98 toseeif it's the OS.
May 04 2004
In article <c78kcm$p7n$3 digitaldaemon.com>, Walter says..."Walter" <newshound digitalmars.com> wrote in message news:c775i2$1jo3$1 digitaldaemon.com... I think Stewart Gordon put the finger on the problem. Filenames are used as part of the name mangling, and so need to contain valid identifier characters.That's not the problem. I can create "año.d", and compile and link it without an itch (in both WinXP and 98). ------------------- Carlos Santander B.
May 04 2004
In article <c775i2$1jo3$1 digitaldaemon.com>, Walter says..."Carlos Santander B." <carlos8294 msn.com> wrote in message news:c766k4$3ad$1 digitaldaemon.com...It must be. Like I said, it passed on XP, but it didn't pass on 98. The real problem, like I said, is that std.utf.validate("áéíóúÚÓÍÉÁÑñ") throws an UTFError, but it doesn't happen on XP (haven't tried on Linux). Since it doesn't seem to be a Phobos bug, is there something that can be done to fix that? ------------------- Carlos Santander B.Walter, did you do any changes to the compiler for 0.86 regarding UTF? Because now I ran the same code but on WinXP Pro (previously it was in Win98) and it works just well. I'm gonna test it again tomorrow on 98 toseeif it's the OS.I don't think so.
May 04 2004
"Carlos Santander B." <Carlos_member pathlink.com> wrote in message news:c78qhg$141i$1 digitaldaemon.com...In article <c775i2$1jo3$1 digitaldaemon.com>, Walter says...to"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c766k4$3ad$1 digitaldaemon.com...Walter, did you do any changes to the compiler for 0.86 regarding UTF? Because now I ran the same code but on WinXP Pro (previously it was in Win98) and it works just well. I'm gonna test it again tomorrow on 98throwsseeIt must be. Like I said, it passed on XP, but it didn't pass on 98. The real problem, like I said, is that std.utf.validate("áéíóúÚÓÍÉÁÑñ")if it's the OS.I don't think so.an UTFError, but it doesn't happen on XP (haven't tried on Linux). Sinceitdoesn't seem to be a Phobos bug, is there something that can be done tofixthat?Is the string you're passing to validate in UTF-8 format?
May 07 2004
"Walter" <newshound digitalmars.com> wrote in message news:c7fgtd$2g2b$1 digitaldaemon.com | "Carlos Santander B." <Carlos_member pathlink.com> wrote in message | news:c78qhg$141i$1 digitaldaemon.com... || It must be. Like I said, it passed on XP, but it didn't pass on 98. || || The real problem, like I said, is that std.utf.validate("áéíóúÚÓÍÉÁÑñ") | throws || an UTFError, but it doesn't happen on XP (haven't tried on Linux). Since | it || doesn't seem to be a Phobos bug, is there something that can be done to | fix || that? | | Is the string you're passing to validate in UTF-8 format? My bad there. std.utf.validate("áéíóúÚÓÍÉÁÑñ") throws "invalid UTF-8 sequence" when the file is not in UTF-8 format. However, like I've said before, if a file is named "á", I get its name (with listdir) and pass it to validate, it fails on Win98. I just thought of something else: could it be the file system? My XP is running on NTFS, but at work, 98 is on FAT32. Could that be, instead? ----------------------- Carlos Santander Bernal
May 08 2004
I'm really lost about this thing. There are only 2 things I can think of that are causing the problem: the OS (XP vs 98) and the filesystem (NTFS vs FAT32). The following file compiles and runs perfectly fine on WinXP Pro, saved either as 8-bit or any kind of Unicode. //------------------------- import std.file; import std.c.stdio; import std.path; import std.utf; void main() { char [][] archivos = listdir( curdir ) ; foreach ( char [] a ; archivos ) { try validate(a); catch (UtfError) { printf("%.*s: inválido\n",a); continue; } if (isfile(a)) printf("%.*s: %d\n",a, read(a).length); } } //------------------------- That is, it outputs the size of every file in the current directory without any complain. On Win98, the same happens only if the file is saved as some Unicode flavor. If saved as 8-bit, it prints "invalid" for any file containing an accented character or anything like that. Now, I really don't understand how in this particular case, the format of the file affects the outcome. I tried to test the same on Linux, but since listdir doesn't seem to work there, I haven't been able to do it. I don't know where the problem is, but I know it's a annoying. ----------------------- Carlos Santander Bernal
May 10 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c7pd5l$1ohk$1 digitaldaemon.com...I'm really lost about this thing. There are only 2 things I can think of that are causing the problem: the OS (XP vs 98) and the filesystem (NTFSvsFAT32). The following file compiles and runs perfectly fine on WinXP Pro, saved either as 8-bit or any kind of Unicode. //------------------------- import std.file; import std.c.stdio; import std.path; import std.utf; void main() { char [][] archivos = listdir( curdir ) ; foreach ( char [] a ; archivos ) { try validate(a); catch (UtfError) { printf("%.*s: inválido\n",a); continue; } if (isfile(a)) printf("%.*s: %d\n",a, read(a).length); } } //------------------------- That is, it outputs the size of every file in the current directorywithoutany complain. On Win98, the same happens only if the file is saved as some Unicodeflavor.If saved as 8-bit, it prints "invalid" for any file containing an accented character or anything like that. Now, I really don't understand how inthisparticular case, the format of the file affects the outcome. I tried to test the same on Linux, but since listdir doesn't seem to work there, I haven't been able to do it. I don't know where the problem is, but I know it's a annoying.The problem is that Win98 does not support unicode, *unless* the unicode can be translated into the current code page. You can see this happening in std.file.isfile(), it calls std.file.toMBSz(). That relies on WideCharToMultiByte(), a Win32 API function with limited functionality under Win9x.
May 19 2004
"Walter" <newshound digitalmars.com> escribió en el mensaje news:c8f5n8$167q$1 digitaldaemon.com | The problem is that Win98 does not support unicode, *unless* the unicode can | be translated into the current code page. You can see this happening in | std.file.isfile(), it calls std.file.toMBSz(). That relies on | WideCharToMultiByte(), a Win32 API function with limited functionality under | Win9x. So what's the solution? Write this in every program that uses std.file (pseudo-code, btw): if (OS.type == "win9x") printf("sorry, can't be run here. get nt,2k,xp,2k3,etc.\n"); ? That just doesn't make sense to me. What about modifying Phobos so things like this don't happen? ----------------------- Carlos Santander Bernal
May 19 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c8h3f5$1coh$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> escribió en el mensaje news:c8f5n8$167q$1 digitaldaemon.com | The problem is that Win98 does not support unicode, *unless* the unicode can | be translated into the current code page. You can see this happening in | std.file.isfile(), it calls std.file.toMBSz(). That relies on | WideCharToMultiByte(), a Win32 API function with limited functionality under | Win9x. So what's the solution? Write this in every program that uses std.file (pseudo-code, btw): if (OS.type == "win9x") printf("sorry, can't be run here. get nt,2k,xp,2k3,etc.\n"); ? That just doesn't make sense to me. What about modifying Phobos so things like this don't happen?It will work on win9x if the unicode characters you're using are representable in the system code page you've set on win9x.
May 19 2004
"Walter" <newshound digitalmars.com> escribió en el mensaje news:c8hkht$25vt$1 digitaldaemon.com | It will work on win9x if the unicode characters you're using are | representable in the system code page you've set on win9x. But that'd be an imposition for the end user of the application, not even for the developer, wouldn't it? Please correct me if I'm wrong. But if I'm not, then there must be something better to be done. ----------------------- Carlos Santander Bernal
May 20 2004
Carlos Santander B. wrote:"Walter" <newshound digitalmars.com> escribió en el mensaje news:c8hkht$25vt$1 digitaldaemon.com | It will work on win9x if the unicode characters you're using are | representable in the system code page you've set on win9x. But that'd be an imposition for the end user of the application, not even for the developer, wouldn't it? Please correct me if I'm wrong. But if I'm not, then there must be something better to be done. ----------------------- Carlos Santander BernalMicrosoft would probably tell you to upgrade to Windows XP because they want your money. As a free alternative, have you looked at using MSLU? http://msdn.microsoft.com/msdnmag/issues/01/10/MSLU/default.aspx http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx There'd still be a burden for Win9X users (they'd have to install it), and I don't even know that it'd help with your specific problem, but it might be useful to you. -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
May 20 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c8jd77$gk8$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> escribió en el mensaje news:c8hkht$25vt$1 digitaldaemon.com | It will work on win9x if the unicode characters you're using are | representable in the system code page you've set on win9x. But that'd be an imposition for the end user of the application, not even for the developer, wouldn't it? Please correct me if I'm wrong. But if I'm not, then there must be something better to be done.Actually, I think I know what the problem is. listdir() is not converting the returned filenames into unicode as it should.
May 21 2004
"Carlos Santander B." <carlos8294 msn.com> wrote in message news:c8jd77$gk8$1 digitaldaemon.com..."Walter" <newshound digitalmars.com> escribió en el mensaje news:c8hkht$25vt$1 digitaldaemon.com | It will work on win9x if the unicode characters you're using are | representable in the system code page you've set on win9x. But that'd be an imposition for the end user of the application, not even for the developer, wouldn't it? Please correct me if I'm wrong. But if I'm not, then there must be something better to be done.Try the following std.file.d and see if it works. begin 666 file.d M"B\O($%L;"!2:6=H=', 4F5S97)V960-"B\O('=W=RYD:6=I=&%L;6%R<RYC M8RYS=&1I;SL-"G!R:79A=&4 :6UP;W)T('-T9"YP871H.PT*<')I=F%T92!I M;7!O<G0 <W1D+G-T<FEN9SL-" T*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M8V5P=&EO; T*>PT*(" ('!R:79A=&4 :6UP;W)T('-T9"YS>7-E<G)O<CL- M" T*(" ('5I;G0 97)R;F\["0D)+R\ ;W!E<F%T:6YG('-Y<W1E;2!E<G)O M*&YA;64L(")F:6QE($DO3R(I.PT*(" ('T-" T*(" ('1H:7,H8VAA<EM= M(&YA;64L(&-H87);72!M97-S86=E*0T*(" ('L-" ES=7!E<BAN86UE('X M(CH (B!^(&UE<W-A9V4I.PT*(" ('T-" T*(" ('1H:7,H8VAA<EM=(&YA M/3T]/3T]/3T]/3T]/3T](%=I;C,R(#T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M="!T:&4 5R!F=6YC=&EO;G,-"B ("!U<V579G5N8W, /2 H1V5T5F5R<VEO M;B I(#P M(" 1%=/4D0 ;G5M<F5A9#L-"B ("!(04Y$3$4 :#L-"B ("!B>71E6UT M;65Z(#T <W1D+G5T9BYT;U541C$V>BAN86UE*3L-" EH(#T 0W)E871E1FEL M95<H;F%M97HL1T5.15))0U]214%$+$9)3$5?4TA!4D5?4D5!1"QN=6QL+$]0 M24Q%7U-(05)%7U)%040L;G5L;"Q/4$5.7T5825-424Y'+ T*"2 ("!&24Q% M7T%45%))0E5415].3U)-04P ?"!&24Q%7T9,04=?4T51545.5$E!3%]30T%. M+&-A<W0H2$%.1$Q%*6YU;&PI.PT*(" ('T-" T*(" (&EF("AH(#T]($E. M5D%,241?2$%.1$Q%7U9!3%5%*0T*"6=O=&\ 97)R,3L-" T*(" ('-I>F4 M/2!'971&:6QE4VEZ92AH+"!N=6QL*3L-"B ("!I9B H<VEZ92 ]/2!)3E9! M8GET95MS:7IE73L-" T*(" (&EF("A296%D1FEL92AH+&)U9BQS:7IE+"9N M8G5F.PT*97)R,3H-"B ("!T:')O=R!N97< 1FEL945X8V5P=&EO;BAN86UE M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH-"B J(%=R:71E(&$ 9FEL92X- M*&-H87);72!N86UE+"!V;VED6UT 8G5F9F5R*0T*>PT*(" ($A!3D1,12!H M*0T*(" ('L-" EW8VAA<BH ;F%M97H /2!S=&0N=71F+G1O551&,39Z*&YA M04P ?"!&24Q%7T9,04=?4T51545.5$E!3%]30T%.+&-A<W0H2$%.1$Q%*6YU M0E5415].3U)-04P ?"!&24Q%7T9,04=?4T51545.5$E!3%]30T%.+&-A<W0H M2$%.1$Q%*6YU;&PI.PT*(" ('T-"B ("!I9B H:" ]/2!)3E9!3$E$7TA! M3D1,15]604Q512D-" EG;W1O(&5R<CL-" T*(" (&EF("A7<FET949I;&4H M:"QB=69F97(L8G5F9F5R+FQE;F=T:"PF;G5M=W)I='1E;BQN=6QL*2 A/2 Q M*0T*"6=O=&\ 97)R,CL-" T*(" (&EF("AB=69F97(N;&5N9W1H("$](&YU M(" ($-L;W-E2&%N9&QE*& I.PT*97)R. T*(" ('1H<F]W(&YE=R!&:6QE M72!N86UE+"!V;VED6UT 8G5F9F5R*0T*>PT*(" ($A!3D1,12!H.PT*(" M('L-" EW8VAA<BH ;F%M97H /2!S=&0N=71F+G1O551&,39Z*&YA;64I.PT* M4$5.7T%,5T%94RP-" D (" 1DE,15]!5%1224)55$5?3D]234%,('P 1DE, M15]&3$%'7U-%455%3E1)04Q?4T-!3BQC87-T*$A!3D1,12EN=6QL*3L-"B M86UE*3L-" EH(#T 0W)E871E1FEL94$H;F%M97HL1T5.15))0U]74DE412PP M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH-"B J(%)E M(&-H87);72!T;RD-"GL-"B ("!"3T],(')E<W5L=#L-" T*(" (&EF("AU M<F5S=6QT(#T 36]V949I;&5!*'1O34)3>BAF<F]M*2P =&]-0E-Z*'1O*2D[ M97-U;'0 /2!$96QE=&5&:6QE5RAS=&0N=71F+G1O551&,39Z*&YA;64I*3L- M*3L-"B ("!I9B H(7)E<W5L="D-" ET:')O=R!N97< 1FEL945X8V5P=&EO M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H M86UE*0T*>PT*(" ($A!3D1,12!F:6YD:&YD;#L-"B ("!U:6YT(')E<W5L M;F1H;F1L(#T 1FEN9$9I<G-T1FEL95<H<W1D+G5T9BYT;U541C$V>BAN86UE M*2P )F9I;&5F:6YD8G5F*3L-" ER97-U;'1H(#T 9FEL969I;F1B=68N;D9I M;&53:7IE2&EG:#L-" ER97-U;'1L(#T 9FEL969I;F1B=68N;D9I;&53:7IE M02!F:6QE9FEN9&)U9CL-" T*"69I;F1H;F1L(#T 1FEN9$9I<G-T1FEL94$H M=&]-0E-Z*&YA;64I+" F9FEL969I;F1B=68I.PT*"7)E<W5L=& /2!F:6QE M9FEN9&)U9BYN1FEL95-I>F5(:6=H.PT*"7)E<W5L=&P /2!F:6QE9FEN9&)U M(&-A<W0H2$%.1$Q%*2TQ*0T*(" ('L-" ET:')O=R!N97< 1FEL945X8V5P M=& /#P ,S(I("L <F5S=6QT;#L-"GT-" T*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H 1&]E<R!F M=7-E5V9U;F-S*0T*"2\O(&AT=' Z+R]M<V1N+FUI8W)O<V]F="YC;VTO;&EB M=')I8G5T97-7*'-T9"YU=&8N=&]55$8Q-GHH;F%M92DI.PT*(" (&5L<V4- M" ER97-U;'0 /2!'971&:6QE071T<FEB=71E<T$H=&]-0E-Z*&YA;64I*3L- M" T*(" (')E='5R;B H<F5S=6QT(#T M" T*=6EN="!G971!='1R:6)U=&5S*&-H87);72!N86UE*0T*>PT*(" ('5I M(" 96QS90T*"7)E<W5L=" ]($=E=$9I;&5!='1R:6)U=&5S02AT;TU"4WHH M;F%M92DI.PT*(" (&EF("AR97-U;'0 /3T ,'A&1D9&1D9&1BD-"B ("![ M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M6UT ;F%M92D-"GL-"B ("!R971U<FX *&=E=$%T=')I8G5T97,H;F%M92D M)B!&24Q%7T%45%))0E5415]$25)%0U1/4EDI(#T M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M<BAC:&%R6UT ;F%M92D-"GL-"B ("!R971U<FX *&=E=$%T=')I8G5T97,H M"B\J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M"7)E<W5L=" ](%-E=$-U<G)E;G1$:7)E8W1O<GE!*'1O34)3>BAP871H;F%M M=&]R>5<H<W1D+G5T9BYT;U541C$V>BAP871H;F%M92DL(&YU;&PI.PT*(" M<F]W(&YE=R!&:6QE17AC97!T:6]N*'!A=&AN86UE+"!'971,87-T17)R;W(H M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H 4F5M;W9E(&1I<F5C=&]R M3T],(')E<W5L=#L- M4F5M;W9E1&ER96-T;W)Y5RAS=&0N=71F+G1O551&,39Z*'!A=&AN86UE*2D[ M;W< ;F5W($9I;&5%>&-E<'1I;VXH<&%T:&YA;64L($=E=$QA<W1%<G)O<B I M(#T M<F5C=&]R>5<H;&5N9W1H+"!D:7(I.PT*"6EF(" A;&5N9W1H*0T*"2 ("!G M;F=T:%TI.R O+R!L96%V92!O9F8 =&5R;6EN871I;F< , T*(" ('T-"B M97< 8VAA<EML96YG=&A=.PT*"6QE;F=T:" ]($=E=$-U<G)E;G1$:7)E8W1O M<GE!*&QE;F=T:"P 9&ER*3L-" EI9B H(6QE;F=T:"D-" D (" 9V]T;R!, M97)R.PT*"7)E='5R;B!D:7);," N+B!L96YG=&A=.PD)+R\ ;&5A=F4 ;V9F M($9I;&5%>&-E<'1I;VXH(F=E=&-W9"(L($=E=$QA<W1%<G)O<B I*3L-"GT- M" T*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M*BHJ*BHJ*BHJ* T*("H 4F5T=7)N(&-O;G1E;G1S(&]F(&1I<F5C=&]R>2X- M9BYT;U541C$V>BAC*2P )F9I;&5I;F9O*3L-" EI9B H:" A/2!)3E9!3$E$ M:68 *'-T9"YS=')I;F<N=V-S8VUP*&9I;&5I;F9O+F-&:6QE3F%M92P (BXB M1FEL94YA;64L("(N+B(I(#T M(#T <F5S=6QT+FQE;F=T:#L-" D)<F5S=6QT+FQE;F=T:" ](&D *R Q.PT* M"0EC;&5N9W1H(#T <W1D+G-T<FEN9RYW8W-L96XH9FEL96EN9F\N8T9I;&5. M86UE*3L-" D)<F5S=6QT6VE=(#T <W1D+G5T9BYT;U541C H9FEL96EN9F\N M8T9I;&5.86UE6S +BX 8VQE;F=T:%TI.PT*"2 ("!]('=H:6QE("A&:6YD M34)3>BAC*2P )F9I;&5I;F9O*3L-" EI9B H:" A/2!)3E9!3$E$7TA!3D1, M4VMI<" B+B( 86YD("(N+B(-" D):68 *'-T9"YS=')I;F<N<W1R8VUP*&9I M:6YG+G-T<F-M<"AF:6QE:6YF;RYC1FEL94YA;64L("(N+B(I(#T M"2 ("!C;VYT:6YU93L-" T*"0EI(#T <F5S=6QT+FQE;F=T:#L-" D)<F5S M=6QT+FQE;F=T:" ](&D *R Q.PT*"0EC;&5N9W1H(#T <W1D+G-T<FEN9RYS M=')L96XH9FEL96EN9F\N8T9I;&5.86UE*3L-" T*"0DO+W)E<W5L=%MI72 ] M(&9I;&5I;F9O+F-&:6QE3F%M95LP("XN(&-L96YG=&A=+F1U<#L-" T*"0DO M*3L-" D)<F5S=6QT6VE=(#T M(" ?2!W:&EL92 H1FEN9$YE>'1&:6QE02AH+"9F:6QE:6YF;RD (3T 1D%, M<BP =&AE;B!C;VYV97)T('1O(&UU;'1I8GET92!U<VEN9R!T:&4 8W5R<F5N M+R\ 3VYL>2!N965D('1O(&1O('1H:7, :68 86YY(&-H87)S(&AA=F4 =&AE M(&AI9V 8FET('-E= T*(" (&9O<F5A8V *&-H87( 8SL <RD-"B ("![ M;'0N;&5N9W1H+"!N=6QL+"!N=6QL*3L-" D (" 87-S97)T*&D /3T <F5S M" T*+RH /3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T](&QI;G5X(#T]/3T] M=6EN="!S:7IE.PT*(" ('5I;G0 ;G5M<F5A9#L- M(" <W1R=6-T7W-T870 <W1A=&)U9CL-"B ("!B>71E6UT 8G5F.PT*(" M(" 9F0 /2!S=&0N8RYL:6YU>"YL:6YU>"YO<&5N*&YA;65Z+"!/7U)$3TY, M=&8H(EQT;W!E;B!E<G)O<BP 97)R;F\ /2 E9%QN(BQG971%<G)N;R I*3L- M"B (" (" 9V]T;R!E<G(Q.PT*(" ('T-" T*(" ("\O<')I;G1F*")< M=&9I;&4 ;W!E;F5D7&XB*3L-"B ("!I9B H<W1D+F,N;&EN=7 N;&EN=7 N M*")<=&9S=&%T(&5R<F]R+"!E<G)N;R ]("5D7&XB+&=E=$5R<FYO*"DI.PT* M=6UR96%D(#T <W1D+F,N;&EN=7 N;&EN=7 N<F5A9"AF9"P 8V%S="AC:&%R M>PT*(" (" (" O+W!R:6YT9B B7'1R96%D(&5R<F]R+"!E<G)N;R ]("5D M;VED6UT 8G5F9F5R*0T*>PT*(" (&EN="!F9#L-"B ("!I;G0 ;G5M=W)I M='1E;CL-"B ("!C:&%R("IN86UE>CL-" T*(" (&YA;65Z(#T =&]3=')I M;F=Z*&YA;64I.PT*(" (&9D(#T <W1D+F,N;&EN=7 N;&EN=7 N;W!E;BAN M(" :68 *&9D(#T]("TQ*0T*(" (" ("!G;W1O(&5R<CL-" T*(" (&YU M;7=R:71T96X /2!S=&0N8RYL:6YU>"YL:6YU>"YW<FET92AF9"P 8G5F9F5R M+"!B=69F97(N;&5N9W1H*3L-"B ("!I9B H8G5F9F5R+FQE;F=T:" A/2!N M+F,N;&EN=7 N;&EN=7 N8VQO<V4H9F0I(#T]("TQ*0T*(" (" ("!G;W1O M(&5R<CL-" T*(" (')E='5R;CL-" T*97)R,CH-"B ("!S=&0N8RYL:6YU M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H 07!P M4W1R:6YG>BAN86UE*3L-"B ("!F9" ]('-T9"YC+FQI;G5X+FQI;G5X+F]P M96XH;F%M97HL($]?05!014Y$('P 3U]74D].3%D ?"!/7T-214%4+" P-C8P M(" ;G5M=W)I='1E;B ]('-T9"YC+FQI;G5X+FQI;G5X+G=R:71E*&9D+"!B M=69F97(L(&)U9F9E<BYL96YG=& I.PT*(" (&EF("AB=69F97(N;&5N9W1H M+FQI;G5X+FQI;G5X+F-L;W-E*&9D*3L-"F5R<CH-"B ("!T:')O=R!N97< M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M*3L-" T*(" (&EF("AS=&0N8RYS=&1I;RYR96YA;64H9G)O;7HL('1O>BD M+G-T9&EO+G)E;6]V92AT;U-T<FEN9WHH;F%M92DI(#T]("TQ*0T*"71H<F]W M"B\J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M:6YT9B B9FEL92YG9713:7IE*"<E<R<I7&XB+&YA;65Z*3L-"B ("!F9" ] M('-T9"YC+FQI;G5X+FQI;G5X+F]P96XH;F%M97HL($]?4D1/3DQ9*3L-"B M<&5N(&5R<F]R+"!E<G)N;R ]("5D7&XB+&=E=$5R<FYO*"DI.PT*(" (" M<&5N961<;B(I.PT*(" (&EF("AS=&0N8RYL:6YU>"YL:6YU>"YF<W1A="AF M9"P )G-T871B=68I*0T*(" ('L-"B (" (" +R]P<FEN=&8H(EQT9G-T M870 97)R;W(L(&5R<FYO(#T M93L-" T*(" (&EF("AS=&0N8RYL:6YU>"YL:6YU>"YC;&]S92AF9"D /3T M("5D7&XB+&=E=$5R<FYO*"DI.PT*(" (" ("!G;W1O(&5R<CL-"B ("!] M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M971!='1R:6)U=&5S*&-H87);72!N86UE*0T*>PT*(" ('-T<G5C=%]S=&%T M4W1R:6YG>BAN86UE*3L-"B ("!I9B H<W1D+F,N;&EN=7 N;&EN=7 N<W1A M="AN86UE>BP )G-T871B=68I*0T*(" ('L-" ET:')O=R!N97< 1FEL945X M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H 1&]E<R!F M("!I9B H<W1D+F,N;&EN=7 N;&EN=7 N<W1A="AN86UE>BP )G-T871B=68I M*0T*(" ('L-" ER971U<FX ,#L- M"GT-" T*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M8G5T97,H;F%M92D )B!37TE&4D5'.PDO+R!R96=U;&%R(&9I;&4-"GT-" T* M+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M(&ES9&ER*&-H87);72!N86UE*0T*>PT*(" (')E='5R;B!G971!='1R:6)U M=&5S*&YA;64I("8 4U])1D1)4CL-"GT-" T*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH-"B J($-H86YG M:6YG>BAP871H;F%M92DI*0T*(" ('L-" ET:')O=R!N97< 1FEL945X8V5P M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ M:')O=R!N97< 1FEL945X8V5P=&EO;BAP871H;F%M92P 9V5T17)R;F\H*2D[ M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ* T*("H 4F5M;W9E(&1I<F5C=&]R>2X- M9B H<W1D+F,N;&EN=7 N;&EN=7 N<FUD:7(H=&]3=')I;F=Z*'!A=&AN86UE M(" 8VAA<BH <#L-" T*(" (' /2!S=&0N8RYL:6YU>"YL:6YU>"YG971C M1FEL945X8V5P=&EO;B B8V%N;F]T(&=E="!C=V0B+"!G971%<G)N;R I*3L- M8G5F6UT /2!P6S +BX ;&5N9W1H73L-"B ("!S=&0N8RYS=&1L:6(N9G)E M<W1D:7(H8VAA<EM=('!A=&AN86UE*0T*>PT*(" (&%S<V5R=" P*3L)"2\O $"GT-" `` ` end
May 24 2004
"Walter" <newshound digitalmars.com> escribió en el mensaje news:c8trd4$q9q$1 digitaldaemon.com | "Carlos Santander B." <carlos8294 msn.com> wrote in message | news:c8jd77$gk8$1 digitaldaemon.com... || "Walter" <newshound digitalmars.com> escribió en el mensaje || news:c8hkht$25vt$1 digitaldaemon.com ||| It will work on win9x if the unicode characters you're using are ||| representable in the system code page you've set on win9x. || || But that'd be an imposition for the end user of the application, not even || for the developer, wouldn't it? Please correct me if I'm wrong. But if I'm || not, then there must be something better to be done. | | Try the following std.file.d and see if it works. Yes, it worked. Thanks. ----------------------- Carlos Santander Bernal
May 25 2004