ceckovy kviz

tomas mainzer t.mainzer na gmail.com
Pondělí Září 4 00:51:28 CEST 2023


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").




ne 3. 9. 2023 v 23:00 odesílatel Jan Waclawek <konfera na efton.sk> napsal:

> Mam funkciu
>
>   void LcdBPrint(uint32_t x, uint32_t y, char * s);
>
> ktora vypise retazec na LCD s rozmermi LCD_XMAX, LCD_YMAX na poziciu x, y
> pixelov od laveho horneho rohu.
>
> Vypisuje to neproporcionalnym fontom s rozmermi znaku FONT_XSIZE,
> FONT_YSIZE.
>
> Z nejakych dovodov chcem vypisovat retazce zarovnane jeden za druhym; ale
> niekedy chcem vypisovat retazce pod seba zarovnane na pravy okraj. To prve
> vedie na volania typu:
>
>   LcdBPrint(doteraz_napocitane_znaky_od_laveho_okraja * FONT_XSIZE, riadok
> * FONT_YSIZE , retazec);
>
> a to druhe na
>
>   LcdBPrint(LCD_XMAX - strlen(retazec) * FONT_XSIZE, riadok * FONT_YSIZE,
> retazec);
>
> Vravim si, takto je to dost neprehladne, a pritom sa tam to nasobenie furt
> opakuje. A tiez, tie dve veci su navzajom dostatocne podobne. Tak co keby
> ze si napisem makro, do ktoreho bud zadam kladne x, co znamena pocet
> znakov od laveho okraja, alebo zaporne x, co znamena pocet znakov od
> praveho okraja:
>
>   #define LcdBXPrint(xx, yy, s) LcdBPrint( (((xx) < 0) ? LCD_XMAX : 0) +
> (xx) * FONT_XSIZE, (yy) * FONT_YSIZE, s)
>
> Ked pisem zlava, tak mam
>
>   LcdBXPrint(doteraz_napocitane_znaky_od_laveho_okraja, riadok, retazec);
>
> co je pekne, prehladne, a funguje. Ale ked pisem zlava, tak
>
>   LcdBXPrint(-sizeof(retazec), riadok, retazec);
>
> nefunguje.
>
> Preco?
>
> wek
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230904/1c4bc757/attachment.htm>


Další informace o konferenci Hw-list