Problem z Upper/LowerCase

dział ogólny

Problem z Upper/LowerCase

Nowy postprzez mckri » wtorek, 17 marca 2009, 23:07

Witam. spotkałem się dziś z dość dziwnym problemem. Otóż w pętli for przelatuję po kolumnie StringGrid i zawartą w niej treść zmieniam do UpperCase, jednak dla polskich znaków funkcja nie zmienia znaku na wysoki. Tak samo jest w przypadku zmiany znaków na małe dla funkcji LowerCase. Nie rozumiem dlaczego tak jest. Do tej pory nie spotkałem sie z takim problemem. Działam obecnie na CG2009 i Vista.
Fragment kodu:
Kod: Zaznacz cały
for(int x=1;x<FormMain->Sg1->RowCount;x++)   //przelatuje po kolumnie w tabeli sg1
   {
     TMenuItem *NewItem=new TMenuItem(FormMain->Popup1 ); 
     FormMain->Wszystkiekonf1->Add(NewItem);  //dynamicznie tworze elementy submenu w popupmenu
     NewItem->Caption=FormMain->Sg1->Cells[1][x].UpperCase().Trim();  //TUTAJ nastepuje zmiana znaków na duze (dla polskich znaków diakrytycznych nie dziaÅ‚a:()
     FormMain->Wszystkiekonf1->Items[x-1]->OnClick=PozMenuListKonf;  //przypisuje funkcje zdarzenia onclick
   }
Avatar użytkownika
mckri
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): piątek, 15 sierpnia 2008, 13:48
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows Vista SP2
Kompilator: BCB 5/2007/2009
    NieznanyNieznana

Re: Problem z Upper/LowerCase

Nowy postprzez Witold » Å›roda, 18 marca 2009, 01:06

Sprawdzałem na CG2009 testowa, bez uaktualnienia:
Kod: Zaznacz cały
JakisString = JakisString.UpperCase() // nie zmienie znaków PL
JakisString = UpperCase(JakisString ,loUserLocale  );  // zmienia prawidÅ‚owo
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana

Re: Problem z Upper/LowerCase

Nowy postprzez Cyfrowy Baron » Å›roda, 18 marca 2009, 11:59

Sprawdziłem w środowisku CodeGear RAD Studio C++ Builder 2007:

Kod: Zaznacz cały
String tekst = "ąęśćźźó";
tekst = tekst.UpperCase();
Edit1->Text = tekst; // wynik: ĄĘŚĆŻŹÓ


Działa prawidłowo, zmienia polskie litery z małych na wielkie i z tego co pamiętam, a używałem środowiska C++ BUilder wersje 1, 4, 6, 2006 i 2007 nigdy nie wystąpił podobny problem.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Problem z Upper/LowerCase

Nowy postprzez Corvis » Å›roda, 18 marca 2009, 12:39

umnie też działa mam C++ Builder'a 2008
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
PodziÄ™kowaÅ‚ : 80
OtrzymaÅ‚ podziÄ™kowaÅ„: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    NieznanyNieznana

Re: Problem z Upper/LowerCase

Nowy postprzez mckri » piÄ…tek, 20 marca 2009, 16:32

Dzieki Witold. Twój przykład działa.
Do tej pory, jak pisałem, równiez nie spotkałem sie z tym problemem. Swoją drogą, gdyby komus sie zachciało przechodzić na wersję 2009 to spotka go napewno kilka niespodziewanek, głównie z konwersją typów zmiennych.
Pozdrawiam.
Avatar użytkownika
mckri
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): piątek, 15 sierpnia 2008, 13:48
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows Vista SP2
Kompilator: BCB 5/2007/2009
    NieznanyNieznana

Re: Problem z Upper/LowerCase

Nowy postprzez Cyfrowy Baron » piÄ…tek, 20 marca 2009, 17:19

Przypuszczam, ze to tylko kwestia odpowiedniej konfiguracji środowiska...
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości