Icon View Thread

The following is the text of the current message along with any replies.
Messages 21 to 30 of 36 total
Thread Problem with UPPER()
Wed, Sep 3 2014 8:56 AMPermanent Link

Malcolm Taylor

Mark Shapiro wrote:

> Here is a sample project with code and executable. Again this was
> developed with Delphi 7 on a Windows 8.1 machine.
>

Hi Mark

It seems to run OK in my W8.1 Virtual Machine.
My Locale is English (UK).

Malcolm
Wed, Sep 3 2014 8:58 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Windows 8.1 using Brazilian Portuguese.

It runs OK too.

Eduardo (HPro)
Wed, Sep 3 2014 9:34 AMPermanent Link

Raul

Team Elevate Team Elevate

On 9/3/2014 8:01 AM, Mark Shapiro wrote:
> Here is a sample project with code and executable. Again this was developed with Delphi 7 on a Windows 8.1 machine.
>
> Mark Shapiro
> infocus@swbell.net
>

Looks ok here - win 8.1 US English.

Output:

Children's Shelter     CHILDREN'S SHELTER
Community Education     COMMUNITY EDUCATION
Day Care     DAY CARE
Outreach Advocacy     OUTREACH ADVOCACY
Outreach/Family Care     OUTREACH/FAMILY CARE
School Violence Prevention     SCHOOL VIOLENCE PREVENTION
Transitional Housing     TRANSITIONAL HOUSING
Volunteer Services     VOLUNTEER SERVICES
Women's Shelter     WOMEN'S SHELTER


Raul
Wed, Sep 3 2014 9:36 AMPermanent Link

Raul

Team Elevate Team Elevate

On 9/2/2014 4:09 PM, Mark Shapiro wrote:
> I removed DBISAM 4.39 build 2 and replaced it with version 4.33 build 4. Neither UPPER() nor LOWER() worked. So this would appear to be an operating system issue rather than a DBISAM issue.
>
> I'm showing a locale of 1033, a locale_idefaultcodepage of 11, and a locale_idefaultansicodepage of 4100. The locale in the Windows 8.1 control panel is United States.
>
> I'm completely stumped and would welcome any suggestions about what to try next to get this code working properly.

Do you have anything installed that patches RTL or Win32 API calls ?

Raul
Wed, Sep 3 2014 11:48 AMPermanent Link

Mark Shapiro

Jose, Malcolm & Raul,

Thank you all for testing the code. I'm not sure what I might have on my system that could be modifying the RTL. Can you give me some suggestions?

Mark Shapiro
infocus@swbell.net
Wed, Sep 3 2014 12:29 PMPermanent Link

Raul

Team Elevate Team Elevate

On 9/3/2014 11:48 AM, Mark Shapiro wrote:
> Thank you all for testing the code. I'm not sure what I might have on my system that could be modifying the RTL. Can you give me some suggestions?

Actually now that i had some time to think about it some more I stand
corrected as i don't believe it's simple RTL patching. Any direct RTL
patching would get compiled into the delphi app so we should see it as
well - but upper/lower seems to work ok here.

So it's either at the Win API call level or your windows locale somehow
things upper/lower are all lower.

I tried to trace the dbisam to see how it deals with upper case and it
seems to use OSUpperString (in dbisamlb) which in turn uses either
"AnsiStrUpper" function or calls "Windows.LCMapStringA" if locale is not
LOCALE_ANSI_STD (value 0).

Can you test just calling the AnsiStrUpper function and see what it does
or better yet see if you can call OSUpperString - if either of those
return a invalid result it would narrow things down a lot at least

Raul


Thu, Sep 4 2014 3:03 PMPermanent Link

Mark Shapiro

Raul,

The UpperCase() and AnsiStrUpper functions both work properly. I also tried your suggestion of changing the locale in Control Panel, restarting Windows, changing it back to United States,and restarting. No change.

Let me come back again to DBSYS. Since the UPPER() and LOWER() functions work correctly in that utility, what is different about the implementation there compared with a DBISAMQuery component?

Mark Shapiro
infocus@swbell.net
Thu, Sep 4 2014 4:09 PMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Mark Shapiro

DBSys is a regular Delphi application compiled with the same DBISAM sources. If I am not wrong, this is compiled with Delphi 5.

If DBSys is working good. This is not a Windows issue.  

If you run your app in another computer, does it produce the correct results ?

Eduardo (HPro)
Thu, Sep 4 2014 4:51 PMPermanent Link

Raul

Team Elevate Team Elevate

On 9/4/2014 4:09 PM, Jose Eduardo Helminsky wrote:
> If you run your app in another computer, does it produce the correct results ?

No - Mark did make his test utility available (earlier in the thread)
and it produces correct results on other machines (like on mine).

This seems to rule out Delphi environment (like RTL and components since
thoise would be compiled into the app) and points to his OS.

However as per Mark dbsys on the same machine works OK so issue should
be with delphi dev environment which conflicts with previous.

Unless i missed something here the mystery deepens.

Raul
Thu, Sep 4 2014 4:52 PMPermanent Link

Raul

Team Elevate Team Elevate

On 9/4/2014 4:51 PM, Raul wrote:
> On 9/4/2014 4:09 PM, Jose Eduardo Helminsky wrote:
>> If you run your app in another computer, does it produce the correct
>> results ?
>
> No - Mark did make his test utility available (earlier in the thread)
> and it produces correct results on other machines (like on mine).

This should have been YES - it's correct on another computer.

Raul
« Previous PagePage 3 of 4Next Page »
Jump to Page:  1 2 3 4
Image