-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Marek <t...@f...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [Arduino] Switch... case
Date: Sun, 14 Oct 2018 12:36:39 +0200
Organization: ATMAN - ATM S.A.
Lines: 61
Message-ID: <ppv67o$u50$1@node2.news.atman.pl>
References: <ppuu8j$ahb$1$michal@news.chmurka.net>
NNTP-Posting-Host: host8.router8.tygrys.net
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1539513400 30880 213.108.119.8 (14 Oct 2018 10:36:40
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 14 Oct 2018 10:36:40 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.2.1
In-Reply-To: <ppuu8j$ahb$1$michal@news.chmurka.net>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:737457
[ ukryj 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
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
Najnowsze wątki
- 2025-04-07 Warszawa => Manual tester <=
- 2025-04-07 Warszawa => Administrator Systemów OSS <=
- 2025-04-07 Warszawa => Node.js / Fullstack Developer <=
- 2025-04-07 Położyłem dwa telefony obok siebie
- 2025-04-07 Warszawa => Key Account Manager IT <=
- 2025-04-07 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-07 Warszawa => Generative AI Engineer <=
- 2025-04-07 Warszawa => BI Developer / Analityk BI <=
- 2025-04-07 Warszawa => IT Recruiter <=
- 2025-04-07 Warszawa => Gen AI Engineer <=
- 2025-04-07 Co jest większym przestępstwem?
- 2025-04-06 czy Niemcy wyłączą zdalnie Ałdi
- 2025-04-06 Przekaźnik na szynę DIN (?)
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu