Forum programistyczne

Języki programowania => C/C++ => Wątek zaczęty przez: dodda19 Maj 09, 2010, 19:17:01



Tytuł: bład w programie ... kody Unicode
Wiadomość wysłana przez: dodda19 Maj 09, 2010, 19:17:01
Witam.. mam problem i liczę na Wasza pomoc. Muszę stworzyć program który będzie odczytywał wartości binarne z "ciagbinarny" (TMemo) oraz litery z kontenera.Jeśli napotka w ciagubinarnym "1" to zamienia odpowiednia literę w kontenerze na tą samą ale o innym kodzie. Przykładowo
... litera "a" ma kod Unicode 97 oraz 65377
... litera "b" ma kod 98 i 65378 itd.
Zatem jeśli w ciągbinarny bedzie "1" to np kod 97 zamienia na 65377
Tablica "litery" jest typu Word bo np char obsługuje tylko wartości od 0 do 255... tylko teraz mam problem, gdyż te zmodyfikowane litery chciałam wpisać do nowego okienka Memo1 a wyświetlają mi się tylko liczby a nie odpowiadające im znaki. Rzutowania na char nie moze być.

Kod:
Word litery[200];
for(int i=1;i<=kontener->GetTextLen();i++)
       litery[i]=kontener->Lines->Text[i] ;
char ciag[200];
for(int j=1;j<=ciagbinarny->GetTextLen();j++)
       ciag[j]=ciagbinarny->Lines->Text[j] ;

for(int k=1;k<=ciagbinarny->GetTextLen();k++)
{
          if(ciag[k]=='1')
                 {
                  litery[k]+=65280; //bo taka jest różnica pomiędzy 97 a 65377 itd
                 }

}
for( int t=1;t<=kontener->GetTextLen();t++)
          Memo1->Lines->Text=Memo1->Lines->Text+litery[t];