select - case
select - case
Ezt a select case kapcsolatot nem tudom az agyammal sehogy sem felfogni nincs róla valami szájbarágós doksi mert én nem találtam semmit sem.
Vagy valakinek nincs kedve róla írni valamit. Néztem a bascom sample között de akkor sem értettem meg nagyjából értem mire való de ennyi.
Szóval valami átfogó leírás sokat segítene köszi.
Vagy valakinek nincs kedve róla írni valamit. Néztem a bascom sample között de akkor sem értettem meg nagyjából értem mire való de ennyi.
Szóval valami átfogó leírás sokat segítene köszi.
Kicsit hosszú lesz, de ezért "szájbarágós", és teljesen "megvilágosodtam" tőle én is anno 
A feltételes utasítások segítségével a programban lehetőség van bizonyos feltételek teljesülése esetén egy utasítás vagy egy programrészlet végrehajtására. Ezek az utasítások elágazásokat biztosítanak a programban. Ezen elágazásoknak két fajtája van: az if és a case.
Az if utasítás kétirányú, feltételes utasítást hajt végre. Általános formája:
if logikai kifejezés then utasítás1 else utasítás2
Az if után logikai változó vagy logikai kifejezés állhat, amelynek teljesülésétől függ, hogy melyik utasítás kerül végrehajtásra. Ha a feltétel igaz (true), akkor a then utáni utasítás1 fog végrehajtódni, ha a feltétel hamis (false), akkor az else utáni utasítás2 kerül végrehajtásra.
Egy példa az if-then-else szerkezetre:
Az utasítás folyamatábrája:

Az if utasításnak egy egyszerűbb formája is használható, ha egy utasítást csak egy feltételtől függően végre akarunk hajtani, vagy át akarunk ugrani. Ez esetben így fest:
if logikai kifelyezés thenutasítás1
Egy példa az if-then szerkezetre:
A folyamatábra:

A case utasítással többirányú elágazást hozhatunk létre a programunkban. A Select Case utasítás tartalmazza a szelektort, amelyet vizsgálunk. Ezt követi egy vagy több ún. case konstans és a hozzá tartozó utasítások és végül nem kötelezően egy else ág. A case utasítást az End Select zárja.
Általános formája:
Case szelektor
Case 1: utasítás_1
...
Case n: utasítás_n
Else utasítás_m
End
A case konstansok (címke) típusának meg kell egyeznie a szelektor típusával. Azon utasítás vagy utasítások kerülnek végrehajtásra, amelynek a címkéje megegyezik a szelektor értékével, ha nincs ilyen címke, az else utáni utasítás kerül végrehajtásra.
Egy példa a case szerkezetre:
Az utasítás folyamatábrája:

A feltételes utasítások segítségével a programban lehetőség van bizonyos feltételek teljesülése esetén egy utasítás vagy egy programrészlet végrehajtására. Ezek az utasítások elágazásokat biztosítanak a programban. Ezen elágazásoknak két fajtája van: az if és a case.
Az if utasítás kétirányú, feltételes utasítást hajt végre. Általános formája:
if logikai kifejezés then utasítás1 else utasítás2
Az if után logikai változó vagy logikai kifejezés állhat, amelynek teljesülésétől függ, hogy melyik utasítás kerül végrehajtásra. Ha a feltétel igaz (true), akkor a then utáni utasítás1 fog végrehajtódni, ha a feltétel hamis (false), akkor az else utáni utasítás2 kerül végrehajtásra.
Egy példa az if-then-else szerkezetre:
Kód: Egész kijelölése
If X<Y then
Min=X
Else if X=Y then
Min=X
Else
Min=Y
End

Az if utasításnak egy egyszerűbb formája is használható, ha egy utasítást csak egy feltételtől függően végre akarunk hajtani, vagy át akarunk ugrani. Ez esetben így fest:
if logikai kifelyezés thenutasítás1
Egy példa az if-then szerkezetre:
Kód: Egész kijelölése
If Old=New then
Print "A régi ertek ugyanaz mint az új"
End

A case utasítással többirányú elágazást hozhatunk létre a programunkban. A Select Case utasítás tartalmazza a szelektort, amelyet vizsgálunk. Ezt követi egy vagy több ún. case konstans és a hozzá tartozó utasítások és végül nem kötelezően egy else ág. A case utasítást az End Select zárja.
Általános formája:
Case szelektor
Case 1: utasítás_1
...
Case n: utasítás_n
Else utasítás_m
End
A case konstansok (címke) típusának meg kell egyeznie a szelektor típusával. Azon utasítás vagy utasítások kerülnek végrehajtásra, amelynek a címkéje megegyezik a szelektor értékével, ha nincs ilyen címke, az else utáni utasítás kerül végrehajtásra.
Egy példa a case szerkezetre:
Kód: Egész kijelölése
Select Case I
Case 1 : Print "1"
Case 2 : Print "2"
Case 3 To 5 : Print "3-5"
Case Is >= 10 : Print ">= 10"
Case Else : Print "Not in Case statement"
End Select

Kis kiegészítés:
A case feltételek közt nem lehet átfedés! A case az tartományokat is le tud fedni...
A case végrehajtás sokkal gyorsabb, mintha sok IF lenne egymás után....
A case feltételek közt nem lehet átfedés! A case az tartományokat is le tud fedni...
Kód: Egész kijelölése
select case I
case 1: utasítás 1
case 2 to 5: utasítás 2
case 6 to 15: utasítás 3
case else : különben
end select
Egy WikiPedia szerű gyűjtemény is lehetne...
A kezdő TippekTrükkök fejezetbe készítek egy ilyet éppen... ~4 oldalnál jérok (abban is van select case).
Bár itt a feltételes elágazások(IfThen / SelectCase), ismétlődések (For/Next / DoLoop / DoLoopUntil) érdekes lehet....
ha valai tud ilyen önálló szerkesztőcsomagot külön vagy PHPNuke alá, ne kíméljen, Olyan ami mintegy nyomkövetéssel menne, hogy ki és mikor mit változtatott....
A kezdő TippekTrükkök fejezetbe készítek egy ilyet éppen... ~4 oldalnál jérok (abban is van select case).
Bár itt a feltételes elágazások(IfThen / SelectCase), ismétlődések (For/Next / DoLoop / DoLoopUntil) érdekes lehet....
ha valai tud ilyen önálló szerkesztőcsomagot külön vagy PHPNuke alá, ne kíméljen, Olyan ami mintegy nyomkövetéssel menne, hogy ki és mikor mit változtatott....
Kód: Egész kijelölése
Sub 010vadc(byref Channel5 As Word , Z As Word )
Z = 0
Z = Getadc(channel5)
If Z > 1 Then Autoled = 1
Select Case Z
Case Is < 4 : Exit Sub
Case 5 To 46 : ide hogyan tegyem be
Case Else : Exit Sub
End Selectezt ?
If A < 1imp10 Then
If A > 1imp9 And A < 1imp11 Then
1motorfel = 1
1motorle = 1
Else
1motorfel = 0
1motorle = 1
End If
End If
If A > 1imp10 Then
If A > 1imp9 And A < 1imp11 Then
1motorfel = 1
1motorle = 1
Else
1motorfel = 1
1motorle = 0
End If
End If
If B < 2imp10 Then
If B > 2imp9 And B < 2imp11 Then
2motorfel = 1
2motorle = 1
Else
2motorfel = 0
2motorle = 1
End If
End If
If B > 2imp10 Then
If B > 2imp9 And B < 2imp11 Then
2motorfel = 1
2motorle = 1
Else
2motorfel = 1
2motorle = 0
End If
End If
a wiki ingyenes cmsRobert írta:Egy WikiPedia szerű gyűjtemény is lehetne...
A kezdő TippekTrükkök fejezetbe készítek egy ilyet éppen... ~4 oldalnál jérok (abban is van select case).
Bár itt a feltételes elágazások(IfThen / SelectCase), ismétlődések (For/Next / DoLoop / DoLoopUntil) érdekes lehet....
ha valai tud ilyen önálló szerkesztőcsomagot külön vagy PHPNuke alá, ne kíméljen, Olyan ami mintegy nyomkövetéssel menne, hogy ki és mikor mit változtatott....
opensourceforge.net
„Case 5 To 46 : ide hogyan tegyem be ezt!”
Na ne már! Mondjuk : gosub ezt
Ezt:
…
return
Na ne már! Mondjuk : gosub ezt
Ezt:
…
return
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2009. március 6. péntek, 17:13-kor.
Mondjuk Bascom így is elfogadta:
És szimulátorban mükszik! 
Kód: Egész kijelölése
Select Case I
Case 1 : Print "1"
Case 2 : Print "2"
: Print "3-5"
: Print ">= 10"
Case 3 To 5 : Print "3-5"
Case Is >= 10 : Print ">= 10"
Case Else : Print "Not in Case statement"
End Select
Üdv!
Hogyan lehetne megoldani egy olyen elágazást IF utasítással amely a következő lenne :
Hogy is van ez?
Hogyan lehetne megoldani egy olyen elágazást IF utasítással amely a következő lenne :
Kód: Egész kijelölése
Ha commnad értéke nagyobb mint 0 de kisebb mint 255 akkor ugrás a xy pontaKód: Egész kijelölése
if command > 0 ................ then gosub XYVégülis ha command értéke 0 és 255 közé esik és ez váltja ki az ugrást akkor lehet az utasítás?
??
Kód: Egész kijelölése
IF command <255 THEN GOTO XY '???