ceckovy kviz
Ladislav Vaiz
spam na nagano.cz
Pondělí Září 4 10:32:35 CEST 2023
Ještě je mi podezřelé dělat mínus z unsigned (size_t) a předávat ho do
funkce jako uint32_t.
L.
Dne 04.09.2023 v 8:28 Miroslav Šinko napsal(a):
> -co znamena "nefunguje"?
> -preco sizeof a nie strlen)? Pre "xyz" je sizeof 4 a pre char str[8]
> je sizeof vzdy 8
>
> miro
>
> On 04.09.2023 07:44, wek wrote:
>> Hm tak to som sice neskusil, mal som tam vzdy len "xyz", ale preco
>> by v tom mal byt rozdiel?
>>
>> wek
>>
>>
>> On 4 September 2023 00:51:28 CEST, tomas mainzer
>> <t.mainzer na gmail.com> wrote:
>>
>> 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
>> <mailto: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
>> <http://www.HW.cz>
>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>> http://list.hw.cz/mailman/listinfo/hw-list
>> <http://list.hw.cz/mailman/listinfo/hw-list>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list