Thank you Tomas for tracking down the bug and filing the bug report. It was much appreciated.

Cheers,
 Noel
----- Original Message ----- From: "Tomas Hajny" <xhaj...@hajny.biz>
To: "FPC-Pascal users discussions" <fpc-pascal@lists.freepascal.org>
Cc: <gan...@narod.ru>; "Noel and Marie" <na...@adam.com.au>
Sent: Tuesday, July 06, 2010 5:32 AM
Subject: Re: [fpc-pascal] question about changing default ASCII table in thefpc 2.2.0 IDE


On 25 Jun 10, at 8:07, Noel and Marie wrote:


Hi Noel,

Thanks Tomas.  I didn't see your promise to look at the problem.

Sorry, it took somewhat longer, but the results are here:

1) It works as expected if _not_ using unit Crt.

2) There is a bug in implementation of unit Crt for Windows. This bug
stems from May 2006 already and it was a result of a patch from Maxim
Ganetsky trying to fix bug #6785
(http://bugs.freepascal.org/view.php?id=6785). Since that patch, all
output with unit Crt uses the so called ANSI code page under Windows
which is IMHO wrong. I've added a comment to bug #6785 and filed a
new bug report (http://bugs.freepascal.org/view.php?id=16846) - you
may want to monitor that one in order to be notified when it gets
fixed.

Until the bug is fixed, there are several possible solutions for you,
e.g.:

- You may comment line 699 (and preferably also line 743) in your
local copy of rtl/win/crt.pp (trunk version from SVN) and recompile
RTL (and packages). That isn't a complete fix, but it should probably
be sufficient for your needs.

- If you only need to output this one particular character, you may
do so using the particular Win32 API directly. Admittedly not very
nice and certainly not portable, but at least a possible workaround.

- If you don't need unit Crt, you may simply remove it from your uses
clause.


I have just relied on email replies for comments etc. How do I look at all
comments, other questions, etc on the Web?

Sorry, I'm not sure if I understand this question. Do you refer to an
archive of this mailing list? If so, you can find a link on the FPC
WWW pages (under Mailing lists).

Hope this helps

Tomas


----- Original Message ----- From: "Tomas Hajny" <xhaj...@hajny.biz>
To: "FPC-Pascal users discussions" <fpc-pascal@lists.freepascal.org>
Sent: Thursday, June 24, 2010 11:59 PM
Subject: Re: [fpc-pascal] question about changing default ASCII table in the
fpc 2.2.0 IDE


On Thu, June 24, 2010 06:41, Noel and Marie wrote:
> Hello,
>
> I would like to print a square root symbol using  write(chr(251)); as I
> could before SP3 for XP was installed on my PC.
>
> Currently am getting a superscript 1 rather than the square root symbol
> from
> write(chr(251)).
>
> I've tried the following kind suggestions of Tomas Hajny, unfortunately
> without success:
>
> 1.   In a command shell I entered
>          CHCP 437     and then ran the program
>
> 2.  Modified the source code to include the Windows unit and added line
> setConsoleOutputCP(437);,
>         compiled and then ran the program.
>
>
> I  examined the registry settings   in directory Codepage.
>         Name              Data
>       (default )         (value not set)
>         ...
>         ACP                1252
>         MACCP        10000
>         OEMCP            850
>         OEMHAL        vgaoem.fon
>
> Changed OEMCP to 437 and got an accented 'u'. Then > restored
> the system.
>
> I wonder if anyone can suggest a solution to the problem.

I still intend to have a look at it (as promised previously), just had no
time for that (if noone else provides answer till then).

Tomas

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


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

Reply via email to