-
Data: 2018-10-14 12:36:39
Temat: Re: [Arduino] Switch... case
Od: Marek <t...@f...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 14.10.2018 o 10:20, Michal M. Lechanski pisze:
> switch ... case dopuszcza tylko dane typu int i char, mnie wygodnie by
> było użyć String.
> Czy istnieje podobna funkcja pozwalająca operować na danych typu string?
Enum Twoim przyjacielem, który Ci pomoże:
typedef enum TZwierzaki
{
enKotki,
enPieski,
enKrowki,
enKozki,
enSwinki
};
TZwierzaki zwierzaki = enPieski; //wartość domyślna
string ZwierzakiStr = "Pieski";
Przykład użycia:
if (miaauu)
{
ZwierzakiStr = "Kotki";
zwierzaki = enKotki;
}
if (haauu)
{
ZwierzakiStr = "Pieski";
zwierzaki = enPieski;
}
switch (zwierzaki)
{
case enKotki: {
}
break;
case enPieski: {
}
break;
case enKrowki: {
}
break;
default: { //dla enKozki i enSwinki
}
}
Można też po każdym "case" wstawić funkcję konwertująca łańcuch do elementu ze
zbioru
TZwierzaki (w necie pełno przykładów, wystarczy chwilę poszukać), ale powyższe
rozwiązanie
jest proste, przejrzyste i daje możliwość wykorzystania zmiennej "zwierzaki" do
różnych
celów, np. w GUI po rzutowaniu na int do ustawiania np. indeksu listy rozwijalnej
(ComboBox) lub po rzutowaniu indeksu z int na typ TZwierzaki do odczytu z tejże listy
wybranego zwierzęcia.
--
Pzdr.
Marek
Następne wpisy z tego wątku
- 14.10.18 13:58 J.F.
- 14.10.18 23:06 Michal M. Lechanski
- 19.10.18 21:27 Mateusz Bogusz
Najnowsze wątki z tej grupy
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
Najnowsze wątki
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-17 Warszawa => Senior Software Engineer PHP (BillPro) Contractor <=
- 2024-05-17 Warszawa => International freight forwarder <=
- 2024-05-17 Warszawa => Fullastack (Java) Developer <=
- 2024-05-17 Lublin => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Senior PHP Developer (Symfony) <=