tag:blogger.com,1999:blog-2428374771421713311.post6707374844149423934..comments2024-03-10T12:04:17.661-07:00Comments on The Oracle at Delphi: Unicode Character Categorization.Anonymoushttp://www.blogger.com/profile/10119008505905401707noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-2428374771421713311.post-2694936295535048432008-01-23T00:11:15.000-08:002008-01-23T00:11:15.000-08:00This sounds GREAT!WThis sounds GREAT!<br><br>WWarrenhttp://www.tekran.comnoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-61406194589565903922008-01-11T06:21:55.000-08:002008-01-11T06:21:55.000-08:00Note: Unit cUnicodeChar from http://fundementals.s...Note: Unit cUnicodeChar from http://fundementals.sourceforge.net/Peternoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-32452625951563610022008-01-11T07:29:17.000-08:002008-01-11T07:29:17.000-08:00What about "case SomeWideChar of"?will t...What about "case SomeWideChar of"?<br>will that work, or it will be reduced to AnsiChar?Dušan Majkićnoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-73054298466203647992008-01-11T08:15:18.000-08:002008-01-11T08:15:18.000-08:00"Any way to make it more dynamically updatabl..."Any way to make it more dynamically updatable for already compiled applications?"<br><br>Efficiency and flexibility are inversely related: why are you compiling applications if you want them to be dynamic ? I realize that you might want some parts to be fast and some to be flexible, but in general, one has to live with the tool one picks: Delphi applications are highly optimized for speed (Object Pascal is optimized for explicit readability and type-checking).<br><br>If your applications "...haven't seen the light of day for 2 years...", why do you need to change it at all? And even if you do, Alan has said that the old code will do what the old code was meant to do.<br><br>If your old applications need to change, then why it is unreasonable for you to have to change them?<br><br>CheersRichard C Havennoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-73369967390093892602008-01-11T09:17:19.000-08:002008-01-11T09:17:19.000-08:00Dušan, That will continue to work as it does toda...Dušan,<br><br> That will continue to work as it does today. A WideChar is an ordinal type and case xxx of works with any ordinal type.<br><br>AllenAllen Bauerhttp://blogs.codegear.com/abauer/noreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-26344324639785580982008-01-11T21:50:07.000-08:002008-01-11T21:50:07.000-08:00btw, please release out all the new OTA specificat...btw, please release out all the new OTA specifications as soon as possible since the new IDE is fully unicode and cannot use the current plug-in that was written in previous OTA.ahmoynoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-7811416666496496122008-01-12T04:03:59.000-08:002008-01-12T04:03:59.000-08:00Sounds like a great idea. Will you be easing the t...Sounds like a great idea. Will you be easing the transition by providing a D2007 update that adds AnsiChar versions of all these functions? It'd be a lot easier to make our code work with the new functions in D2007 first, and *then* recompile with D2008/UnicodeString.Joe Whitehttp://www.excastle.com/blog/noreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-32494268074076389112008-01-13T03:01:26.000-08:002008-01-13T03:01:26.000-08:00May be it'll be even better:Somewhere in RTL:t...May be it'll be even better:<br><br>Somewhere in RTL:<br><br>type<br> TCharType = (ctWhitespace, ctControl, ctLetter, ctSurrogate);<br><br>Then in function NextWord:<br><br>while (IKryvichnoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-22679976889458872012008-01-13T03:05:08.000-08:002008-01-13T03:05:08.000-08:00Sorry, forbidden character....Then in function Nex...Sorry, forbidden character.<br>...Then in function NextWord:<br><br>while (I less_or_equal Length(S)) and (CharType(S[I]) in [ctWhitespace, ctControl]) do ...<br><br>And for cases:<br><br>case CharType(S[I]) of<br> ctWhitespace, ctControl: ...<br> ctLetter: ...<br>etc.Kryvichnoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-50070689962418461862008-01-14T01:00:59.000-08:002008-01-14T01:00:59.000-08:00Kryvich, Yes, there will be an enumeration simila...Kryvich,<br><br> Yes, there will be an enumeration similar to what you describe and a function that returns the category of the given character. The categories map directly to those described by the unicode.org.<br><br>Allen.Allen Bauerhttp://blogs.codegear.com/abauer/noreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-90115266934569186982008-01-14T18:57:11.000-08:002008-01-14T18:57:11.000-08:00Note that there is a lot of unicode helper functio...Note that there is a lot of unicode helper functions in the Delphi Jedi (JCL) library from former Delphi-Gem Unicode Library see "JclWideStrings.pas" and example .\jcl\examples\windows\widestring\WideStringExample.dprEmin Onadnoreply@blogger.com