<div dir="ltr"><div dir="ltr">sizeof(retazec) - tady zavisi co mu predhodite - string constant ("xyz") vs array (char str[8]) - a ani jedno nebude fungovat uplne korektne (resp. dle "ocekavani").</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ne 3. 9. 2023 v 23:00 odesílatel Jan Waclawek <<a href="mailto:konfera@efton.sk">konfera@efton.sk</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mam funkciu<br>
<br>
void LcdBPrint(uint32_t x, uint32_t y, char * s);<br>
<br>
ktora vypise retazec na LCD s rozmermi LCD_XMAX, LCD_YMAX na poziciu x, y<br>
pixelov od laveho horneho rohu.<br>
<br>
Vypisuje to neproporcionalnym fontom s rozmermi znaku FONT_XSIZE,<br>
FONT_YSIZE. <br>
<br>
Z nejakych dovodov chcem vypisovat retazce zarovnane jeden za druhym; ale<br>
niekedy chcem vypisovat retazce pod seba zarovnane na pravy okraj. To prve<br>
vedie na volania typu:<br>
<br>
LcdBPrint(doteraz_napocitane_znaky_od_laveho_okraja * FONT_XSIZE, riadok<br>
* FONT_YSIZE , retazec);<br>
<br>
a to druhe na <br>
<br>
LcdBPrint(LCD_XMAX - strlen(retazec) * FONT_XSIZE, riadok * FONT_YSIZE,<br>
retazec);<br>
<br>
Vravim si, takto je to dost neprehladne, a pritom sa tam to nasobenie furt<br>
opakuje. A tiez, tie dve veci su navzajom dostatocne podobne. Tak co keby<br>
ze si napisem makro, do ktoreho bud zadam kladne x, co znamena pocet<br>
znakov od laveho okraja, alebo zaporne x, co znamena pocet znakov od<br>
praveho okraja:<br>
<br>
#define LcdBXPrint(xx, yy, s) LcdBPrint( (((xx) < 0) ? LCD_XMAX : 0) +<br>
(xx) * FONT_XSIZE, (yy) * FONT_YSIZE, s)<br>
<br>
Ked pisem zlava, tak mam <br>
<br>
LcdBXPrint(doteraz_napocitane_znaky_od_laveho_okraja, riadok, retazec);<br>
<br>
co je pekne, prehladne, a funguje. Ale ked pisem zlava, tak<br>
<br>
LcdBXPrint(-sizeof(retazec), riadok, retazec);<br>
<br>
nefunguje.<br>
<br>
Preco?<br>
<br>
wek<br>
<br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>