Re: [fpc-pascal] Reading and writing char

2011-10-06 Thread Tomas Hajny
On Thu, October 6, 2011 10:21, Thomas Young wrote:
>
> Thank you for the article. It was very helpful.
>
> Why is it I can read and write a string that contains characters in the
> upper 128 but can't read & write them as individual char?

This is most probably due to the fact that your platform uses/requires a
multi-byte encoding of these characters nowadays (probably UTF-8) as
opposed to the platform / version you used those 'years ago' with
ThinkPascal. You need a different way for referring to the particular
characters than you used in the past, or you need to translate the
original meaning (based on a particular character set like Mac Roman you
may have used in the past).


> Specifically I need to read the copyright (169), trademark (170) and
> registration (168) characters. Any suggestions on how I can do this?

If you specifically need these, put those characters as constant strings
in your code and use those strings. Also, make sure to specify the
encoding used for your source code directly in the source code (using the
respective compiler directive or the UTF-8 marker) to avoid possible wrong
interpretation.

Tomas



>
> On Oct 6, 2011, at 2:23 AM, David Emerson wrote:
>
>> On Wed 5 Oct 2011, Thomas Young wrote:
>>> Hi,
>>>
>>> I'm trying to read and write ascii characters using FPC. I had no
>>> problems
>>> doing this years ago with Think Pascal & Code Warrior.
>>>
>>> For some reason I'm not able to read and write ascii characters above
>>> ascii
>>> 127 with FPC. Can someone explain this to me?
>>>
>>> Thanks in advance!
>>
>> The world has changed, and globalization has reached your computer. Your
>> computer is almost definitely using a different character set today than
>> it was
>> back in those days long ago. read this:
>> http://www.joelonsoftware.com/articles/Unicode.html
>> The Absolute Minimum Every Software Developer Absolutely, Positively
>> Must Know
>> About Unicode and Character Sets (No Excuses!)
>>
>> ~D.
>>
>>>
>>> Using this code:
>>> for i:= 33 to 226 do
>>> writeln('Character: ', chr(i), '   Ascii value: ', i:1);
>>>
>>> Character: !   Ascii value: 33
>>> Character: "   Ascii value: 34
>>> Character: #   Ascii value: 35
>>> Character: $   Ascii value: 36
 .
 .
>>> Character: ~   Ascii value: 126
>>> Character:Ascii value: 127
>>> Character: ?   Ascii value: 128
>>> Character: ?   Ascii value: 129
>>> Character: ?   Ascii value: 130
>>> Character: ?   Ascii value: 131
>>> Character: ?   Ascii value: 132
>>> Character: ?   Ascii value: 133


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


Re: [fpc-pascal] Reading and writing char

2011-10-06 Thread Thomas Young

Thank you for the article. It was very helpful.

Why is it I can read and write a string that contains characters in the upper 
128 but can't read & write them as individual char?

Specifically I need to read the copyright (169), trademark (170) and 
registration (168) characters. Any suggestions on how I can do this?

Thomas Young
cell: 330-256-7064
mobile email: tygraph...@me.com



On Oct 6, 2011, at 2:23 AM, David Emerson wrote:

> On Wed 5 Oct 2011, Thomas Young wrote:
>> Hi,
>> 
>> I'm trying to read and write ascii characters using FPC. I had no problems
>> doing this years ago with Think Pascal & Code Warrior. 
>> 
>> For some reason I'm not able to read and write ascii characters above ascii
>> 127 with FPC. Can someone explain this to me? 
>> 
>> Thanks in advance!
> 
> The world has changed, and globalization has reached your computer. Your 
> computer is almost definitely using a different character set today than it 
> was 
> back in those days long ago. read this: 
> http://www.joelonsoftware.com/articles/Unicode.html
> The Absolute Minimum Every Software Developer Absolutely, Positively Must 
> Know 
> About Unicode and Character Sets (No Excuses!)
> 
> ~D.
> 
>> 
>> Using this code:
>>  for i:= 33 to 226 do
>>  writeln('Character: ', chr(i), '   Ascii value: ', i:1);
>> 
>> Character: !   Ascii value: 33
>> Character: "   Ascii value: 34
>> Character: #   Ascii value: 35
>> Character: $   Ascii value: 36
>> Character: %   Ascii value: 37
>> Character: &   Ascii value: 38
>> Character: '   Ascii value: 39
>> Character: (   Ascii value: 40
>> Character: )   Ascii value: 41
>> Character: *   Ascii value: 42
>> Character: +   Ascii value: 43
>> Character: ,   Ascii value: 44
>> Character: -   Ascii value: 45
>> Character: .   Ascii value: 46
>> Character: /   Ascii value: 47
>> Character: 0   Ascii value: 48
>> Character: 1   Ascii value: 49
>> Character: 2   Ascii value: 50
>> Character: 3   Ascii value: 51
>> Character: 4   Ascii value: 52
>> Character: 5   Ascii value: 53
>> Character: 6   Ascii value: 54
>> Character: 7   Ascii value: 55
>> Character: 8   Ascii value: 56
>> Character: 9   Ascii value: 57
>> Character: :   Ascii value: 58
>> Character: ;   Ascii value: 59
>> Character: <   Ascii value: 60
>> Character: =   Ascii value: 61
>> Character: >   Ascii value: 62
>> Character: ?   Ascii value: 63
>> Character: @   Ascii value: 64
>> Character: A   Ascii value: 65
>> Character: B   Ascii value: 66
>> Character: C   Ascii value: 67
>> Character: D   Ascii value: 68
>> Character: E   Ascii value: 69
>> Character: F   Ascii value: 70
>> Character: G   Ascii value: 71
>> Character: H   Ascii value: 72
>> Character: I   Ascii value: 73
>> Character: J   Ascii value: 74
>> Character: K   Ascii value: 75
>> Character: L   Ascii value: 76
>> Character: M   Ascii value: 77
>> Character: N   Ascii value: 78
>> Character: O   Ascii value: 79
>> Character: P   Ascii value: 80
>> Character: Q   Ascii value: 81
>> Character: R   Ascii value: 82
>> Character: S   Ascii value: 83
>> Character: T   Ascii value: 84
>> Character: U   Ascii value: 85
>> Character: V   Ascii value: 86
>> Character: W   Ascii value: 87
>> Character: X   Ascii value: 88
>> Character: Y   Ascii value: 89
>> Character: Z   Ascii value: 90
>> Character: [   Ascii value: 91
>> Character: \   Ascii value: 92
>> Character: ]   Ascii value: 93
>> Character: ^   Ascii value: 94
>> Character: _   Ascii value: 95
>> Character: `   Ascii value: 96
>> Character: a   Ascii value: 97
>> Character: b   Ascii value: 98
>> Character: c   Ascii value: 99
>> Character: d   Ascii value: 100
>> Character: e   Ascii value: 101
>> Character: f   Ascii value: 102
>> Character: g   Ascii value: 103
>> Character: h   Ascii value: 104
>> Character: i   Ascii value: 105
>> Character: j   Ascii value: 106
>> Character: k   Ascii value: 107
>> Character: l   Ascii value: 108
>> Character: m   Ascii value: 109
>> Character: n   Ascii value: 110
>> Character: o   Ascii value: 111
>> Character: p   Ascii value: 112
>> Character: q   Ascii value: 113
>> Character: r   Ascii value: 114
>> Character: s   Ascii value: 115
>> Character: t   Ascii value: 116
>> Character: u   Ascii value: 117
>> Character: v   Ascii value: 118
>> Character: w   Ascii value: 119
>> Character: x   Ascii value: 120
>> Character: y   Ascii value: 121
>> Character: z   Ascii value: 122
>> Character: {   Ascii value: 123
>> Character: |   Ascii value: 124
>> Character: }   Ascii value: 125
>> Character: ~   Ascii value: 126
>> Character:Ascii value: 127
>> Character: ?   Ascii value: 128
>> Character: ?   Ascii value: 129
>> Character: ?   Ascii value: 130
>> Character: ?   Ascii value: 131
>> Character: ?   Ascii value: 132
>> Character: ?   Ascii value: 133
>> Character: ?   Ascii value: 134
>> Character: ?   Ascii value: 135
>> Character: ?   Ascii value: 136
>> Character: ?   Ascii value: 137
>> 
>> truncated for brevity.
>> 
>> 
>> Thomas Young
>> mobile ema

Re: [fpc-pascal] Reading and writing char

2011-10-06 Thread Marco van de Voort
In our previous episode, Thomas Young said:
> For some reason I'm not able to read and write ascii characters above
> ascii 127 with FPC.  Can someone explain this to me?

This is very logical, since ASCII only defines +/- 127 chars.

The upper 128 were used for vendor specific characters (aka codepages),
which were later somewhat standarized in ISO norms. 

So the first step is what characters you actualy expect above 127.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Reading and writing char

2011-10-05 Thread David Emerson
On Wed 5 Oct 2011, Thomas Young wrote:
> Hi,
> 
> I'm trying to read and write ascii characters using FPC. I had no problems
> doing this years ago with Think Pascal & Code Warrior. 
> 
> For some reason I'm not able to read and write ascii characters above ascii
> 127 with FPC. Can someone explain this to me? 
> 
> Thanks in advance!

The world has changed, and globalization has reached your computer. Your 
computer is almost definitely using a different character set today than it was 
back in those days long ago. read this: 
http://www.joelonsoftware.com/articles/Unicode.html
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know 
About Unicode and Character Sets (No Excuses!)

~D.

> 
> Using this code:
>   for i:= 33 to 226 do
>   writeln('Character: ', chr(i), '   Ascii value: ', i:1);
> 
> Character: !   Ascii value: 33
> Character: "   Ascii value: 34
> Character: #   Ascii value: 35
> Character: $   Ascii value: 36
> Character: %   Ascii value: 37
> Character: &   Ascii value: 38
> Character: '   Ascii value: 39
> Character: (   Ascii value: 40
> Character: )   Ascii value: 41
> Character: *   Ascii value: 42
> Character: +   Ascii value: 43
> Character: ,   Ascii value: 44
> Character: -   Ascii value: 45
> Character: .   Ascii value: 46
> Character: /   Ascii value: 47
> Character: 0   Ascii value: 48
> Character: 1   Ascii value: 49
> Character: 2   Ascii value: 50
> Character: 3   Ascii value: 51
> Character: 4   Ascii value: 52
> Character: 5   Ascii value: 53
> Character: 6   Ascii value: 54
> Character: 7   Ascii value: 55
> Character: 8   Ascii value: 56
> Character: 9   Ascii value: 57
> Character: :   Ascii value: 58
> Character: ;   Ascii value: 59
> Character: <   Ascii value: 60
> Character: =   Ascii value: 61
> Character: >   Ascii value: 62
> Character: ?   Ascii value: 63
> Character: @   Ascii value: 64
> Character: A   Ascii value: 65
> Character: B   Ascii value: 66
> Character: C   Ascii value: 67
> Character: D   Ascii value: 68
> Character: E   Ascii value: 69
> Character: F   Ascii value: 70
> Character: G   Ascii value: 71
> Character: H   Ascii value: 72
> Character: I   Ascii value: 73
> Character: J   Ascii value: 74
> Character: K   Ascii value: 75
> Character: L   Ascii value: 76
> Character: M   Ascii value: 77
> Character: N   Ascii value: 78
> Character: O   Ascii value: 79
> Character: P   Ascii value: 80
> Character: Q   Ascii value: 81
> Character: R   Ascii value: 82
> Character: S   Ascii value: 83
> Character: T   Ascii value: 84
> Character: U   Ascii value: 85
> Character: V   Ascii value: 86
> Character: W   Ascii value: 87
> Character: X   Ascii value: 88
> Character: Y   Ascii value: 89
> Character: Z   Ascii value: 90
> Character: [   Ascii value: 91
> Character: \   Ascii value: 92
> Character: ]   Ascii value: 93
> Character: ^   Ascii value: 94
> Character: _   Ascii value: 95
> Character: `   Ascii value: 96
> Character: a   Ascii value: 97
> Character: b   Ascii value: 98
> Character: c   Ascii value: 99
> Character: d   Ascii value: 100
> Character: e   Ascii value: 101
> Character: f   Ascii value: 102
> Character: g   Ascii value: 103
> Character: h   Ascii value: 104
> Character: i   Ascii value: 105
> Character: j   Ascii value: 106
> Character: k   Ascii value: 107
> Character: l   Ascii value: 108
> Character: m   Ascii value: 109
> Character: n   Ascii value: 110
> Character: o   Ascii value: 111
> Character: p   Ascii value: 112
> Character: q   Ascii value: 113
> Character: r   Ascii value: 114
> Character: s   Ascii value: 115
> Character: t   Ascii value: 116
> Character: u   Ascii value: 117
> Character: v   Ascii value: 118
> Character: w   Ascii value: 119
> Character: x   Ascii value: 120
> Character: y   Ascii value: 121
> Character: z   Ascii value: 122
> Character: {   Ascii value: 123
> Character: |   Ascii value: 124
> Character: }   Ascii value: 125
> Character: ~   Ascii value: 126
> Character:Ascii value: 127
> Character: ?   Ascii value: 128
> Character: ?   Ascii value: 129
> Character: ?   Ascii value: 130
> Character: ?   Ascii value: 131
> Character: ?   Ascii value: 132
> Character: ?   Ascii value: 133
> Character: ?   Ascii value: 134
> Character: ?   Ascii value: 135
> Character: ?   Ascii value: 136
> Character: ?   Ascii value: 137
> 
> truncated for brevity.
> 
> 
> Thomas Young
> mobile email: tygraph...@me.com
> 



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


[fpc-pascal] Reading and writing char

2011-10-05 Thread Thomas Young
Hi,

I'm trying to read and write ascii characters using FPC. I had no problems 
doing this years ago with Think Pascal & Code Warrior.

For some reason I'm not able to read and write ascii characters above ascii 127 
with FPC. Can someone explain this to me?

Thanks in advance!

Using this code:
for i:= 33 to 226 do
writeln('Character: ', chr(i), '   Ascii value: ', i:1);

Character: !   Ascii value: 33
Character: "   Ascii value: 34
Character: #   Ascii value: 35
Character: $   Ascii value: 36
Character: %   Ascii value: 37
Character: &   Ascii value: 38
Character: '   Ascii value: 39
Character: (   Ascii value: 40
Character: )   Ascii value: 41
Character: *   Ascii value: 42
Character: +   Ascii value: 43
Character: ,   Ascii value: 44
Character: -   Ascii value: 45
Character: .   Ascii value: 46
Character: /   Ascii value: 47
Character: 0   Ascii value: 48
Character: 1   Ascii value: 49
Character: 2   Ascii value: 50
Character: 3   Ascii value: 51
Character: 4   Ascii value: 52
Character: 5   Ascii value: 53
Character: 6   Ascii value: 54
Character: 7   Ascii value: 55
Character: 8   Ascii value: 56
Character: 9   Ascii value: 57
Character: :   Ascii value: 58
Character: ;   Ascii value: 59
Character: <   Ascii value: 60
Character: =   Ascii value: 61
Character: >   Ascii value: 62
Character: ?   Ascii value: 63
Character: @   Ascii value: 64
Character: A   Ascii value: 65
Character: B   Ascii value: 66
Character: C   Ascii value: 67
Character: D   Ascii value: 68
Character: E   Ascii value: 69
Character: F   Ascii value: 70
Character: G   Ascii value: 71
Character: H   Ascii value: 72
Character: I   Ascii value: 73
Character: J   Ascii value: 74
Character: K   Ascii value: 75
Character: L   Ascii value: 76
Character: M   Ascii value: 77
Character: N   Ascii value: 78
Character: O   Ascii value: 79
Character: P   Ascii value: 80
Character: Q   Ascii value: 81
Character: R   Ascii value: 82
Character: S   Ascii value: 83
Character: T   Ascii value: 84
Character: U   Ascii value: 85
Character: V   Ascii value: 86
Character: W   Ascii value: 87
Character: X   Ascii value: 88
Character: Y   Ascii value: 89
Character: Z   Ascii value: 90
Character: [   Ascii value: 91
Character: \   Ascii value: 92
Character: ]   Ascii value: 93
Character: ^   Ascii value: 94
Character: _   Ascii value: 95
Character: `   Ascii value: 96
Character: a   Ascii value: 97
Character: b   Ascii value: 98
Character: c   Ascii value: 99
Character: d   Ascii value: 100
Character: e   Ascii value: 101
Character: f   Ascii value: 102
Character: g   Ascii value: 103
Character: h   Ascii value: 104
Character: i   Ascii value: 105
Character: j   Ascii value: 106
Character: k   Ascii value: 107
Character: l   Ascii value: 108
Character: m   Ascii value: 109
Character: n   Ascii value: 110
Character: o   Ascii value: 111
Character: p   Ascii value: 112
Character: q   Ascii value: 113
Character: r   Ascii value: 114
Character: s   Ascii value: 115
Character: t   Ascii value: 116
Character: u   Ascii value: 117
Character: v   Ascii value: 118
Character: w   Ascii value: 119
Character: x   Ascii value: 120
Character: y   Ascii value: 121
Character: z   Ascii value: 122
Character: {   Ascii value: 123
Character: |   Ascii value: 124
Character: }   Ascii value: 125
Character: ~   Ascii value: 126
Character:Ascii value: 127
Character: ?   Ascii value: 128
Character: ?   Ascii value: 129
Character: ?   Ascii value: 130
Character: ?   Ascii value: 131
Character: ?   Ascii value: 132
Character: ?   Ascii value: 133
Character: ?   Ascii value: 134
Character: ?   Ascii value: 135
Character: ?   Ascii value: 136
Character: ?   Ascii value: 137

truncated for brevity.


Thomas Young
mobile email: tygraph...@me.com
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

[fpc-pascal] Reading and writing char

2011-10-05 Thread Thomas Young
Hi,

I'm trying to read and write ascii characters using FPC. I had no problems 
doing this years ago with Think Pascal & Code Warrior.

For some reason I'm not able to read and write ascii characters above ascii 127 
with FPC. Can someone explain this to me?

Thanks in advance!

Using this code:
for i:= 33 to 226 do
writeln('Character: ', chr(i), '   Ascii value: ', i:1);

Character: !   Ascii value: 33
Character: "   Ascii value: 34
Character: #   Ascii value: 35
Character: $   Ascii value: 36
Character: %   Ascii value: 37
Character: &   Ascii value: 38
Character: '   Ascii value: 39
Character: (   Ascii value: 40
Character: )   Ascii value: 41
Character: *   Ascii value: 42
Character: +   Ascii value: 43
Character: ,   Ascii value: 44
Character: -   Ascii value: 45
Character: .   Ascii value: 46
Character: /   Ascii value: 47
Character: 0   Ascii value: 48
Character: 1   Ascii value: 49
Character: 2   Ascii value: 50
Character: 3   Ascii value: 51
Character: 4   Ascii value: 52
Character: 5   Ascii value: 53
Character: 6   Ascii value: 54
Character: 7   Ascii value: 55
Character: 8   Ascii value: 56
Character: 9   Ascii value: 57
Character: :   Ascii value: 58
Character: ;   Ascii value: 59
Character: <   Ascii value: 60
Character: =   Ascii value: 61
Character: >   Ascii value: 62
Character: ?   Ascii value: 63
Character: @   Ascii value: 64
Character: A   Ascii value: 65
Character: B   Ascii value: 66
Character: C   Ascii value: 67
Character: D   Ascii value: 68
Character: E   Ascii value: 69
Character: F   Ascii value: 70
Character: G   Ascii value: 71
Character: H   Ascii value: 72
Character: I   Ascii value: 73
Character: J   Ascii value: 74
Character: K   Ascii value: 75
Character: L   Ascii value: 76
Character: M   Ascii value: 77
Character: N   Ascii value: 78
Character: O   Ascii value: 79
Character: P   Ascii value: 80
Character: Q   Ascii value: 81
Character: R   Ascii value: 82
Character: S   Ascii value: 83
Character: T   Ascii value: 84
Character: U   Ascii value: 85
Character: V   Ascii value: 86
Character: W   Ascii value: 87
Character: X   Ascii value: 88
Character: Y   Ascii value: 89
Character: Z   Ascii value: 90
Character: [   Ascii value: 91
Character: \   Ascii value: 92
Character: ]   Ascii value: 93
Character: ^   Ascii value: 94
Character: _   Ascii value: 95
Character: `   Ascii value: 96
Character: a   Ascii value: 97
Character: b   Ascii value: 98
Character: c   Ascii value: 99
Character: d   Ascii value: 100
Character: e   Ascii value: 101
Character: f   Ascii value: 102
Character: g   Ascii value: 103
Character: h   Ascii value: 104
Character: i   Ascii value: 105
Character: j   Ascii value: 106
Character: k   Ascii value: 107
Character: l   Ascii value: 108
Character: m   Ascii value: 109
Character: n   Ascii value: 110
Character: o   Ascii value: 111
Character: p   Ascii value: 112
Character: q   Ascii value: 113
Character: r   Ascii value: 114
Character: s   Ascii value: 115
Character: t   Ascii value: 116
Character: u   Ascii value: 117
Character: v   Ascii value: 118
Character: w   Ascii value: 119
Character: x   Ascii value: 120
Character: y   Ascii value: 121
Character: z   Ascii value: 122
Character: {   Ascii value: 123
Character: |   Ascii value: 124
Character: }   Ascii value: 125
Character: ~   Ascii value: 126
Character:Ascii value: 127
Character: ?   Ascii value: 128
Character: ?   Ascii value: 129
Character: ?   Ascii value: 130
Character: ?   Ascii value: 131
Character: ?   Ascii value: 132
Character: ?   Ascii value: 133
Character: ?   Ascii value: 134
Character: ?   Ascii value: 135
Character: ?   Ascii value: 136
Character: ?   Ascii value: 137

truncated for brevity.


Thomas Young
mobile email: tygraph...@me.com
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal