-
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
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
- zagadka sieciowa
Najnowsze wątki
- 2025-09-12 Koniec dopłat
- 2025-09-12 Odszkodowanie
- 2025-09-12 Warszawa => Senior SAP Consultant - PP area <=
- 2025-09-12 Adopcja "na organy" jest/będzie legalna (dla "psów ze schroniska")?
- 2025-09-12 Białystok => Kotlin Developer <=
- 2025-09-12 Myśl prawna bodnarów tuskistanu podbiła Brazylię? [wyrok za "organizacje przestępczą"]
- 2025-09-12 Czy zwrot na kartę zmniejsza kwotę wydatków powodujących niepobieranie opłat za obsługę?
- 2025-09-11 Warszawa => Asystent/tka ds. Administracji <=
- 2025-09-11 Gdynia => Sales Executive / KAM <=
- 2025-09-11 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-09-11 Warszawa => Dyrektor IT <=
- 2025-09-11 Wypadek w Chrzanowie. Czas na zmianę w Ustawie?
- 2025-09-11 Własny dzwonek
- 2025-09-11 Lublin => Delphi Programmer <=
- 2025-09-11 Lublin => Programista Delphi <=