AnsiUpperCase nie działa

0

Witam,

Chciałem przekształcić do wielkich liter pewien łańcuch z polskimi literami, więc użyłem AnsiUpperCase (bo UpCase nie działa). Niestety to nie działa na polskie litery:

Edit1.Text := 'żółty';
AnsiUpperCase(Edit1.Text);

i dostaję:

żółTY

Co może być nie tak?

0

Obstawiam Win'a z innym locale, albo że ten łańcuch to unicode. Może spróbuj czegoś z Wide*.
b

0

A jest jakaś funkcja, która przekształca polskie znaki w zwykłe literki? Np ż -> z

0

Takową można bardzo łatwo napisać... ale takie problemy już dawno były i na pewno taka funkcja już jest.

0

Jakie Delphi? U mnie na 2006 działa prawidłowo:

uses windows,sysutils;

var s,p:string;
begin
  s:='żółty';
  p:=AnsiUpperCase(s);
  MessageBox(0,pchar(p),nil,mb_ok);
end.
0

Zamiast

Edit1.Text := 'żółty';
AnsiUpperCase(Edit1.Text);

Zastosuj jako wynik funkcji

Edit1.Text := AnsiUpperCase('żółty');

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