Polecenie CHR błąd?

Odpowiedz Nowy wątek
2006-12-08 19:38
0

Witam Szanowne Grenium.

Zamieniem liczbę 132 na znak typu char w następujący sposób

var sum , Skon , n : integer;
odp : string;

// odp := '00712';
// Skon := 132;
odp := odp + chr(Skon)+'~';

i zamiast otrzymać 00712ä~ otrzymuje 00712"~

Gdzie może tkwić problem XP D7

Pozdrawiam
Janusz

Pozostało 580 znaków

2006-12-08 19:42
0

Byćmoże w ustawieniach strony kodowej (1250).


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-08 19:50
0

Opis z helpu D7

function Chr(X: Byte): Char;

Jak funkcja ma używać stromy kodowej skoro zmienna
wejściowa jest jedno bajtowa a nie typu word,
a wynik jest typu char jednoznakowy.

Pozostało 580 znaków

2006-12-08 20:08
0

Górna połówka kodów ASCII jest zależna właśnie od strony kodowej. To nie jest kwestia funkcji Delphi, tylko standardu ASCII.


Mam nadzieję, że pomogłem :)

Łukasz Brodny

Pozostało 580 znaków

2006-12-08 20:09
0

tablica ascii to 0..255 róznych znaków, teraz w zależności od strony kodowej (wartości przykładowe) dla mazovia ascii[80] = 'a', dla latin2 ascii[80] = 'b'.

Funkcja nie używa strony kodowej tylko wyswietla wartości, które tam są, a wartości te mogą się róznić między sobą.

Zadam pytanie, na jakiej podstawie twierdzisz, że powinieneś otrzymać znak taki a nie inny? Na podstawie ustawień językowych, w tym strony kodowej.


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-08 20:39
_Jasio605
0

Ok.

Tylko nie oto chodzi

ä kod 132
" kod 34

Jaki to jest znak jest to nieistotne.
Chodzi o zapamiętanie wartości.
Zamieniając spowrotem ten znak na bajt
otrzymuje zamiast 132 dostaję 34.

I tego nie mogę pojąc.

Pozostało 580 znaków

2006-12-08 21:45
0

Widać, że to Ty nie rozumiesz: nie dostajesz symbolu o kodzie 34. Wczytujesz ä (132) w pewnej stronie kodowej (mi wygląda to na kod używany w konsoli Windows), a wypisujesz " (132) w innej stronie kodowej (to z kolei wygląda jak ta, używana domyślnie w aplikacjach okienkowych).

Kod jest ten sam, ale strona kodowa powoduje, że ma inną reprezentację graficzną.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0