Hirdetés

Új hozzászólás Aktív témák

  • Mcrazy
    Topikgazda

    Köszi!

    Leírom, hogy mit szeretnék vele csináltatni:

    Bánk bán iroda makró feladatának szántam:
    Ez az iroda, ahol dolgozom. Hétfő-péntek 7:30-16:30 között ha a területre érek vegye vissza a hangerőt, kapcsoljon rezgésre, változtassa meg a MD ikont és kapcsolja be a sync-et.
    Továbbá, ha bekapcsolom a képernyőt, kapcsolja be a wifit, ha kikapcsolom a képernyőt, kapcsolja ki a wifit. (erre azért van szükség, mert egy programom a céges wifin beakad és meríti a telót, ha átvált mobilnetre, nincs baj).

    Bánk bán irodán kívül:
    Járok terepre, így ha elhagyom az iroda cella hatókörét, emelje meg a hangerőket, tiltsa a wifit, mert terepen úgysincs.
    Továbbá néha Home officeba vagyok, így ha az otthoni (Etele) cellába vagyok, engedélyezze a wifit.

    Korábban betettél egy összefűzött makrót, na azt én átírtam magamnak, nagyjából jól is működik, csak gondoltam szétszedem, legyen átláthatóbb, kategorizálható, de min dlátszik nem sikerül.

    Nagyon szépen köszönöm!

    Azt gondolom, hogy egy makró nem akkor látható át jól, ha 5 felé van szedve, hanem, ha egyben van, de jól van felépítve. A MD fejlődése folyamán többször átépítettem a makróimat az átláthatóság és a stabilabb működés miatt, de nem szedtem szét őket, ha nem volt muszáj, mert sokkal nehezebb lett volna átlátni, amit nem látni. :)
    1. Javaslat: És/And kapcsolót nem kell külön alkalmazni, ha előtte nincs Vagy/Or, mert az egymás után lévő feltételek enélkül is És/And kapcsolatban vannak.
    2.Javaslat: Ahol és amennyire csak lehet, minék kevesebb feltételt használj. Ezzel is stabilabb és átláthatóbb lesz a makród. Pld, ha az eseményeket feltételhez kötöd, akkor a műveleteknél nem minden esetben szükséges ugyanazokat megadni. Legtöbbször elég az "Esemény aktív" feltétel.
    Az egymásba ágyazott IF-eknél nagyon körültekintően kell eljárni a feltételeket illetően. Úgy kell elképzelni, mint egy folyosót, ami több részre van osztva, de mindenhova csak az egymást követő bejárati ajtón lehet bejutni. Pld az első, fő IF-nek olyan feltételt kell megadni, hogy az ne akadályozza a további IF-ekbe való belépést. Tehát, ha az első IF feltétele az, hogy "Cella-hatókörön belül, akkor a beágyazott 2. IF feltétele nem lehet az, hogy Cella-hatókörön kívül, mert soha nem fog teljesülni, ugyanis, ha a cella hatókörönén kívülre esik, akkor már az első IF nem fogja magán átengedni. Ilyenkor lehet olyan megoldást alkalmazni, hogy nem ágyazzuk egymásba az IF-eket, hanem a fő IF mellé - az IF-re bökve - az előugró menüből az "ElseIF" lehetőséget válasszuk. Az első feltétele a "Cella-hatókörben", a 2.(ElseIF) feltétele pedig "Cella-hatókörön kívül".

    Itt egy példa a teljesség igénye nélkül.
    Irodában és irodán kivül

    Esemény: Cella-cs.hatókörbe lépés - Bán bán - Feltétele: amit szeretnél
    Esemény: Cella-cs.hatókör elhagyás - Bánk bán - Feltétele: amit szeretnél
    Esemény: Cella-cs.hatókörbe lépés - Etele - Feltétele: amit szeretnél
    Esemény: Cella-cs.hatókör elhagyás - Etele - Feltétele: amit szeretnél
    Esemény: Képernyő be - Feltétel: Cella hatókörben - Bánk bán
    Esemény: Képernyő ki - Feltétel: Cella hatókörben - Bánk bán

    Műveletek:
    IF- Feltétele: Vagy/Or - Esemény aktív - Cella-cs.hatókörbe lépés - Bánk bán
    Műveletek: Sync, Rezgés, stb
    ElseIF- Feltétele: Esemény aktív - Cella-cs.hatókörbe lépés - Etele
    Műveletek: Sync, Rezgés,Wifi, stb
    ElseIF- Feltétele: Vagy/Or - Esemény aktív - Cella-cs.hatókör elhagyás Bánk bán, Etele
    Műveletek: Hangerő fel, Wifi tiltás
    ElseIF- Feltétele: Esemény aktív - Képernyő be
    Műveletek: Wifi Engedélyezés
    ElseIF- Feltétele: Esemény aktív - Képernyő ki
    Műveletek: Wifi Tiltás
    EndIF

Új hozzászólás Aktív témák