- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Aliexpress tapasztalatok
- Windows 11
- Amazon Prime Video
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Letartóztatták a bitcoin-Jézust
- Adobe Lightroom topic
- Linux kezdőknek
-
IT café
Új hozzászólás Aktív témák
-
veterán
válasz kanyi51 #3698 üzenetére
Felteszem ide az elejét, meg a végét.
Három változót (lv) használok a rendszerváltozókon felül.
Egyszer használok egy integer típusút {lv=dofm}, amibe Mcrazy tanácsa alapján a {dayofmonth} rendszerváltozó értékét másolom be, hogy ne legyen előtte a nulla kifejezés.
Aztán használok egy string típusút {lv=dike}, amibe a ciklusok a nap száma alapján beillesztik a hányadika kifejezést (ha a dofm egyelő 13, akkor azt illeszti be, hogy 'tizenharmadika'). Ehhez a behelyettesítéshez írtam parasztosan 31 if -> endif ciklust, ezt biztosan egyszerűbben is meg lehetne csinálni, de annyira küzdök a macrodroid szintaktikájával, hogy nem volt energiám elegánsabb megoldást keresni.
A 31 if ->endif ciklusból csak az elő 1-2 és az utolsó 1-2 szerepel a képkivágáson, a többi pont ugyanilyen közte.
Aztán definiáltam egy {lv=hetnapja} string típusú változót is, ez csak ahhoz kell, hogy a pénteket beazonosítsam, ez el is hagyható.
A macro végén meg csak annyi van, hogy felolvassa, hogy milyen hónap van, hanyadika van és milyen nap van.
Minden jó, ha a vége jó. Ha nem jó, akkor még nincs vége.
-
kanyi51
senior tag
válasz Donki Hóte #3702 üzenetére
Köszönöm a részletes leirásodat is hozzá.
-
Topikgazda
-
Topikgazda
válasz Donki Hóte #3700 üzenetére
Az összefoglalóban az alapok vannak benne. Nincs minden apróság ott, de azért elég részletes.
A másolás, ha nem sok minden kell, akkor van a Makrószerkesztőn belül a másolás/beillesztés, de ezt már Te is megtaláltad.
Viszont, ha több mindent akarsz másolni, akkor tegyél be mindent egy If-Endif közé és az IF másolásával az egész hóbelebancot, ami az If-ben van, azt tudod másolni/beilleszteni.
Pld ha 1 változóból kell 20 példány. akkor az elsőt létrehozod majd egyszer ráböksz - Másolás. Ezután a műveleti ablak fejlécében megjelenik a beillesztés ikon. Itt nyomkodod pld 20x vagy csak ötször és ezt az ötöt teszed be egy IF-be majd az IF-et másolod és azt illeszted be 4x, majd törlöd az IF-eket. És meg is van a 20db változó. Természetesen az eltérő adatokat miatt egyesével kell megszerkeszteni őket, ez alól nincs kivétel.Üdv: Mcrazy
-
-
Topikgazda
válasz kanyi51 #3706 üzenetére
Szia.
Valószínű, hogy nem Te vagy az egyedüli, csak a többiek szégyenlősek egy picit és nem merték bevallani.Mielőtt az Értékekre ugranánk, elmagyarázom, hogy is működik az egész és miért nincs szükség sok változó műveletre és IF-re.
Én még úgy tanultam, hogy a Sorszámnevek után pontot teszünk és a kiejtésnél (az 1. kivéve) a -dik végződést kapja mindegyik.
Na most a Google féle Szövegfelolvasó is ott volt ezeken az órákon és ő is szépen megtanulta, hogy kell kiejteni egy számot ha pontot teszünk utána.
Innen már egyszerű volt, jön a hónap napja számokkal (dayofmonth) vagyis nálam a makróban a (lv=day) lokális változó és ezután már csak utána kellet írni a pontot, ami azért kell, hogy sorszámnévként ejtse ki a szövegfelolvasó a nap számát és az "a" vagy "e" végződést, attól függően, hogy mire végződik az adott szám kiejtése.
(lv=day).a vagy (lv=day).e
Tehát Tizenhatodika vagy Tizenhetedike
A .a vagy .e beírása a változóba attól függ, hogy hányadik napja van a hónapnak. Ezeket kellett ledefiniálni az "Értékek összehasonlítása" című feltételben .Az Értékek összehasonlításánál az 1. érték az a változó, amelyik a nap(ok) számát tartalmazza, vagyis, hogy hányadika van.
A 2. érték pedig azoknak a napoknak a számát tartalmazza, amelyek kiejtése a-ra vagy e-re végződnek.
Itt a számok a reguláris (Regex) kifejezéseknek megfelelő formátumban vannak megadva, ezzel szűkítve a feltételek és az értékek számát, valamint egyszerűsítve és stabilizálva az összehasonlítást.Remélem tudtam segíteni eme rövidke magyarázattal.
Szerk: A Reguláris kifejezésekről rengeteg dokumentum található az interneten. Használatuk némi tanulást és gyakorlást igényel.
[ Szerkesztve ]
Üdv: Mcrazy
-
DrKapocs
őstag
Köszönöm szépen!
A stopper órát benne hagytam. Sokszor, miután kikapcsolom a képernyőt, eszembe jut még valami és újra bekapcsolom. Ilyenkor jó egy kis "puffer time", ameddig nem törli a vágólapot. Csinosítottam rajta az Else bevezetésével, illetve mixeltem a Te megoldásod az enyémmel. Ezt tekintem számomra véglegesnek: -
veterán
-
-
kanyi51
senior tag
Köszönjük, kiprobáltam , müködik szépen. Viszont nekem van egy olyan alkalmazásom a Playból ami szintén tud ilyent sokkal egyszerübb a Neve: Beszélö Óra. ezzel is sok mindent ki lehet iratni - nap -honap-dátum -óra-idöjárás napihömérsékklet és ébreszt is beállitott idökben akár ismétlésekkel is. Persze félreértés ne legye a Mako és az elgondolás is nagyon jo de ugye én nem tudok programozni, ezért csak tanulmányozom az egész rendszert és a müködését.
-
Topikgazda
válasz kanyi51 #3724 üzenetére
"Viszont nekem van egy olyan alkalmazásom"
Igen, ez is egy megoldást, de én több alkalmazást váltok ki a MD-al. És van olyan makróm is, amit "talán" semmilyen más app nem tud helyettesíteni."én nem tudok programozni, ezért csak tanulmányozom"
Én sem tudok programozni, bár korábban pár Batch skriptet írtam, de ez a közelébe sincs a programozásnak.
Az igaz, hogy a változók kezelése és a Reguláris kifejezések nem a kezdő színt, de némi utánajárás, kérdezgetés, próbálkozás után bele lehet jönni.
Alap dolgok létrehozásához nem kell nagy tudomány. Átnézed az eseményeket, műveleteket és abból már látod, hogy egyáltalán megoldható-e az adott kívánság makróval vagy sem. Ha nem tudod eldönteni, akkor meg szépen idefáradsz és megkérdezed. Bárkinek bármilyen nehézsége akad, azért van ez a fórum, hogy jöjjön és segítsünk egymásnak.
Hidd el, hogy egyikünk sem a MD-al született. Picit belemélyedsz, kapsz támogatást innen is és azt veszed észre, hogy már szépen építgeted a makróidat.
Az általam használt Regex-hez pedig írok egy kis help-et, hogy miként kel értelmezni.
Úgy, hogy hajrá!Üdv: Mcrazy
-
Topikgazda
Szóval akkor vesézzük ki, hogy mit is jelentenek az alábbi számhalmazok.
. a - \b[2368]\b|[12][368]|[23]0
Itt ugyebár a kiejtésben "-dika" végződésű számokra kell hivatkozni.
Másodika, Harmadika, stb
A "|" vagyis elválasztó a "Vagy" megfelelője. Vagy az egyik vagy másik oldalán lévő karakterek lehetnek csak a változóban, különben a felétel nem lesz igaz.
A "\b és \b" egy határoló jelző. Azt jelenti, hogy a feltétel csak akkor lesz igaz, ha azok a karakterek (jelen esetben számok) valamelyike szerepelnek a változóban, amik a szögletes [ ] zárójel között vannak. Jelen esetben [2368] vagy 2 vagy 3 vagy 6 vagy 8..stb
Ami még fontos. Az egyedülálló szögletes zárójelek esetében egy pár zárójel, egy karaktert jelent.
Tehát az "|" elválasztó jobb oldalán 2 pár szögletes zárójel van, ami azt jelenti, hogy a következő szám már 2 jegyű lesz. A zárójelek közt lévő számok pedig azt mutatják, hogy mely számok lehetnek csak a változóban.
A makró feltételnél a következők vannak: [12][368]
Ez azt jelenti, hogy a két jegyű számnak az első karaktere csak 1 vagy 2 lehet. A második pedig csak 3, 6, vagy 8.
Innen már lehet következtetni, hogy az érvényes számok a 13, 16, 18, 23, 26, 28.
Az utolsó "|" elválasztó után ez látható: [23]0
Gondolom innen már mindenki tudja, hogy a lehetséges számok a 20 és a 30.. e - \b[4579]\b|[12][124579]|10|31
Vagyis a kiejtésben "-dike" végződésű számokra kell hivatkozni.
A fentiek alapján úgy gondolom, hogy ezt már mindenki le tudja vezetni, ezért nem írom le még 1x.[ Szerkesztve ]
Üdv: Mcrazy
-
Obyboy
addikt
Sziasztok segítséget szeretnék kérni.
Szeretném beállítani, hogy ha jön egy SMS akkor azt továbbítsa egy másik telefonszámra, kivéve ha az üzenet "alma" vagy "körte" szóval kezdődik, hogy tudom a kivételeket összefűzni? Jelen esetben vagy csak az egyik vagy csak a másik szó szerepel az üzenetben.
Köszi."Ha a kacsa nem tud úszni, nem a víz a hülye."
-
Obyboy
addikt
Köszi.
Három kérdésem lenne még:
- Ha pedig azt szeretném, hogy az "alma" vagy "körte" szóval kezdő SMS-eket ne továbbítsa akkor elég átjelölnöm a "Nem tartalmazza"-ba?
- Ez a kritérium akkor is teljesül ha "alma123" vagy "körte456" szavak vannak az üzenet elején vagy az első szóközig figyeli az egyezést?
- mit jelentenek speciális karakterek? "^(?!)\b" miért nem elég csak az "alma|körte" ?"Ha a kacsa nem tud úszni, nem a víz a hülye."
-
Topikgazda
1. Nem kell semmit sem átjelölni, mert ezzel a kóddal már eleve nem is fog elindulni az SMS érkezett esemény, ha az SMS-ben a szöveg az alma vagy a körte szavakkal kezdődik.
Ezzel kapcsolatban már nincs szükséged semmilyen feltétel hozzáadására sem az eseményhez, sem pedig a műveletekhez.2. Igen, vagyis teljesen mindegy, hogy a fenti szavak utána mi van (szóköz vagy egyéb karakter), nem fog teljesülni az SMS feldolgozása.
Viszont, ha megelőzi az adott szavakat bármilyen karakter, akkor már nem fog teljesülni a feltétel és feldolgozásra kerül az SMS.3. Reguláris kifejezések avagy Regexp.
Ezek nélkül nehéz vagy egyáltalán nem lehetséges adott feltételeket beállítani.
Az "alma|körte" azért nem elég, mert ebben a formában bárhol elhelyezkedhet a szövegben. Viszont a speciális karakterekkel be van állítva, hogy hol figyelje a MD a megfelelést.[ Szerkesztve ]
Üdv: Mcrazy
-
Obyboy
addikt
Kicsit összezavarodtam. Bár az első kérdésemet rosszul tettem fel, ha azt szeretném, hogy az "alma" és a "körte" kezdetű SMS-eket ne továbbítsa de az összes többit igen akkor kell a #3739-es hozzászólásod szerint beállítanom?
^(?!alma|körte)\b ezt elemeire bontva:
^: a minta eleje
?!: ez tagadja azaz jelen esetben negálja a feltételt
|: vagyolja a () közt lévő két szót"Ha a kacsa nem tud úszni, nem a víz a hülye."
-
Topikgazda
Pontosan. Minden SMS továbbitásra kerül, amelyik a feltételnek megfelel, vagyis nem az adott szavakkal kezdődik a szövegük.
Ha valamiért ez nem működne, mert mondjuk az összehasonlításban benne lesz a feladó neve, tel száma, akkor a kódot ki kell venni az eseményből és az SMS küldése művelet alá kell feltételként betenni az Értékek összehasonlítása feltétellel.[ Szerkesztve ]
Üdv: Mcrazy
-
szimi57
őstag
A MD módokkal kapcsolatban lenne kérdésem. Pl. műveleteknél MD mód beállítása >> Éjszaka. Ez mit takar?
A MOSOLY egy olyan vezeték nélküli kapcsolat, amely nem igényel külső áramforrást.
-
Oldman2
Topikgazda
válasz szimi57 #3748 üzenetére
Ahogy a Beállítások/Macrodroid módok megnyitásakor is olvasható:
"A Macrodroid mód egy globális változó, amely az alábbiakban felsorolt értékek egyikére álíltható be. Ez az érték feltételként vagy Makróként is használható.
A Módnak nincs társított állapota vagy viselkedése, ezért itt csak a módok megnevezése állítható be."
Ezek után, van még ami nem tiszta számodra?
A kérdésedre válasz:
A Műveletek / Macrodroid mód beállítása => Éjszaka beállítja ezt a globális változót Éjszaka állapotúra.
Ezt feltételként tudod használni bárhol utána.[ Szerkesztve ]
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- Milyen monitort vegyek?
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- AMD off topik: VGA, CPU, APU és minden, ami AMD
- Robot fűnyírók
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- matrix2012 károsultjainak megbeszélő topikja
- Honor Magic5 Pro - kamerák bűvöletében
- Milyen asztali médialejátszót?
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Bomba ár! Lenovo E31-80 - i5-6200U I 8GB I 256GB SSD I 13,3" I HDMI I Cam I Win10 I Garancia!
- Bomba ár! Lenovo ThinkPad L530 - i5-3GEN I 8GB I 500GB I DVDRW I 15,6" HD I mDP I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T570 - i7-7GEN I 8GB I 256GB SSD I 15,6" FHD I HDMI I Cam I W10 I Gari!
- Bomba ár! Lenovo X1 Carbon 6th: i7-8GEN I 16GB I 256GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Dell Latitude E6430, E5430, E6410 i5 - i7 - 14" laptopok - számla, garancia
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest