Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 00:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 20 paź 2014, o 23:06 
Offline
Użytkownik

Dołączył(a): 12 mar 2014
Posty: 266
Lokalizacja: Warszawa
Zbananowany użytkownik

Pomógł: 2

Witam

Sorka za tytuł, ale nie wiedziałem jak inaczej to ująć. Buduję pewne urządzenie które zawiera między innymi kalendarz. Nazwy miesięcy mają być wyświetlane nazwami, stworzyłem więc taką tablicę:

Kod:
char* miesiac[]={
  "stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia", "wrzesnia", "pazdzier.", "listopada", "grudnia"};


Nazwy miesięcy wywołuję tak:

Kod:
lcd.print (miesiac[tm.Month-1])


Ale zapragnęło mi się mieć polskie znaki. Stworzyłem więc odpowiednie znaki specjalne. Ale żeby je wywołać muszę użyć funkcji: lcd.write(byte(2));

Czy da się jakoś ująć znaki specjalne w tablicy? Narazie mam taki pomysł, że nazwy tych dwóch miesięcy będą wyświetlane przy użyciu IF, a reszta z tablicy.

_________________
Wysłane z Nokii 3310



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 paź 2014, o 00:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Zamiast "wrzesnia" daj "wrze\x02nia", gdzie ta dwójka to numer znaku użytkownika zapisanego w pamięci wyświetlacza itd.
Wtedy konstrukcja "lcd.write(byte(2));" staje się zbędna. Musisz tylko pamiętać, aby nie zapisywać znaków o numerze 0, bo jest to specjalny znak kończący cały łańcuch znakowy i wtedy potrzebne są inne sposoby...


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 paź 2014, o 09:39 
Offline
Użytkownik

Dołączył(a): 12 mar 2014
Posty: 266
Lokalizacja: Warszawa
Zbananowany użytkownik

Pomógł: 2

Dzięki za odpowiedź. Niestety jednak to nie do końca rozwiązuje problem. O ile z "wrze\x02nia" nie ma problemu, to "pa\x03dzier.", wyświetla się "pa=zier.", czyli zamiast wstawić znak (03), wstawia się (3D), któremu odpowiada znak "=".

_________________
Wysłane z Nokii 3310



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 paź 2014, o 09:54 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Spróbuj zapisać "pa\x03""dzier."


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 paź 2014, o 10:10 
Offline
Użytkownik

Dołączył(a): 12 mar 2014
Posty: 266
Lokalizacja: Warszawa
Zbananowany użytkownik

Pomógł: 2

Dzięki, teraz jest OK.

_________________
Wysłane z Nokii 3310



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO