skema påmindet e - mail med applescript

tidsplan påmindet e - mail med applescript,,,,,,, har vi for nylig gået over, hvordan vi skal bruge to meget vigtige elementer i applescript: betinget erklæringer og gentager loops.når de kombineres, styrken af disse to instrumenter er meget magtfuld.nu skal vi bruge det, vi har lært at bygge en enkel og praktisk arbejdsgang, der automatisk e - mail - en liste over deres ufuldstændige opgaver fra påmindelser app.,,,, trin 1.skabe en algoritme, hvad vi har brug for, er en enkelt, klart sprog liste over foranstaltninger til at guide os, før vi begynder at skrive vores kodeks, er det afgørende, at vi finder ud af, hvad det er, vi laver.vi har allerede en god idé i det endelige resultat, som vi søger at opnå, men blindt at opfylde dette mål ikke er den mest effektive måde at opnå det. i stedet, hvad vi ønsker at gøre, er at arbejde på en grundlæggende algoritme, der vil tjene som en køreplan for, hvordan vi lægger vores kodeks.det, vi har brug for, er en enkelt, klart sprog liste over foranstaltninger til at guide os. det sværeste er her, at vi skal bygge vores algoritme, samtidig med at glemme, hvad vi ved om det indre af applescript.vores indsats vil ikke have kode i dem, men de er nødt til at være en kode bevidst.ellers ville vi ende med sådan noget, få påmindelser, påmindelser i e - mail, sende en besked, er det måske noget nyttigt, men sandheden er, vi kan holde styr på denne proces mentalt uden nogensinde at stave et særlig algoritme.virkeligheden er, at denne proces er meget mere kompleks og kræver en dybere ind i, hvordan vi skal gennemføre hvert stykke.her er en mere grundig og nyttigt forsøg på en algoritme, få alle påmindelser på en bestemt liste, kun være rettet mod disse påmindelser, som ikke er afsluttet, finde ud af om påmindelsen er en forfaldsdato, hvis påmindelsen er en forfaldsdato, tag både navn og dato, hvis påmindelse har ikke en forfaldsdato, bare tag navn, over alle de relevante oplysninger i applescript liste, der minder om, at skabe en ny post og dets egenskaber, produktion af vores liste punkter til den besked, der modtager af meddelelsen, sender det budskab, tidsplan budskab forekommer dagligt eller ugentligt, nu snakker vi.det er meget mere konkret og effektivt beskriver, hvordan vores kode skal struktureres.vores første forsøg var skuffende primitivt og virkede som om det kunne være sket i tre eller fire linier.vores andet forsøg, er en meget mere realistisk se på, hvor meget arbejde skal gå ind i manuskriptet, trin 2.målet er påmindelser app, vores første kodning opgave er at få applescript til at kommunikere med de nye påmindelser app i puma.vi selvfølgelig gøre det med en sige blok, som hvis vi kommunikerer med andre app., [applescript], fortæl anvendelse " påmindelser ", fortæl, [/applescript], vores sige blok vil indeholde alle de ordrer, som vi ønsker at kaste på påmindelser app.en kode placeret mellem disse to linjer, må antages at være rettet mod denne særlige app.,, trin 3.starte en gentagelse loop, todo punkt øverst på vores algoritme, er at få alle de opfordringer i en specificeret liste.vi kan faktisk ikke vil have dem alle på en gang.vi ønsker i stedet at tage en ad gangen, test for at se, om det matcher vores kriterier, og handle i overensstemmelse hermed. for at opnå dette cykling virkning, kan vi bruge endnu en sløjfe, som vi lærte om i en tidligere artikel.denne situation kræver en, jeg gentager, loop: [applescript], fortæl anvendelse " påmindelser ", gentager jeg, fra den 1. til tælling af alle påmindelse om listen " påmindelser "), gentager, fortæl, [/applescript], det fører etablere en blok af kode, der vil endnu en gang for alle påmindelse i en liste med titlen "mål".du skal have en af disse ved misligholdelse i din påmindelser app.,, at vi er ude over påmindelser.hver gang den kode blok er den variable, jeg vil tilvækst, indtil det er lig med antallet af poster i vores rykkere liste.,, trin 4.sæt variabler, det næste, vi skal gøre, er at skabe en masse variabler.nogle af disse vil blive anvendt på vej, andre vil du ikke se til senere i vores manuskript, det er en god idé at få dem ud af den måde, alle på en gang., [applescript] - dato, der er fastsat datoen for " rykkerskrivelser " & dato række (nuværende dato), - - tomme variabler, der kan etablere til " ", listen til {}, der theoutput til " ", fortæl anvendelse " påmindelser ", gentager jeg, fra den 1. til tælling af alle påmindelse om listen " påmindelser ") - påmindelse variabler, der thereminder til påmindelse jeg liste " påmindelser ", der remindername til navnet på thereminder, gentager, fortæl, [/applescript], den første variabel griber den aktuelle dato.vi gør dette ved at henvise til "dato string" af den aktuelle dato.dette tager følgende format:, fredag den 1. februar 2012.sig, "nuværende tidspunkt" er meget større, og som indeholder det tidspunkt, samt datoen, efter at vi har datoen, skaber vi tre tomme variabler.det er en underlig ting at gøre, men der er en logik bag det.vi er nødt til at tilføje, at manipulere med disse variabler i vores gentager, og hvis gader, og vi har brug for, at de har et grundlæggende niveau af eksistens, før vi kan gøre det. endelig inde i vores gentager loop, skaber vi to variabler., thereminder, er simpelthen en genvej, så vi behøver ikke at stå "minder om, at jeg i liste påmindelser" en masse gange., remindername, griber fat i navnet på hvert enkelt påmindelse, som vi cyklus igennem listen.,, trin 5.kast ud afsluttet poster, problemet med vores nuværende struktur er det er cyklusser gennem alle deres opfordringer, selv dem, der har gennemført.vi er ikke interesseret i dem, så vi er nødt til at filtrere dem ud med en simpel betinget angivelse.det går ind for at gentage loop lige efter påmindelse variabler fra det foregående trin., [applescript] - påmindelse variabler, der thereminder til påmindelse jeg liste " påmindelser ", der remindername til navnet på thereminder, - - er afsluttet?hvis thereminder ikke er afsluttet, hvis [/applescript], som du kan se, er det så enkelt som en, hvis udtalelse om, at mål, ikke afsluttet, påmindelser.nu en kode, der smider vi i dette vil henrette kun på de relevante påmindelser.,, trin 6.skabe en liste over verserende påmindelser, nu hvor vi har en betinget angivelse som filter for ikke - gennemførte punkter, vi må finde en måde at fylde, listen med titlen, og forfaldsdatoen for hver indtil påmindelse.det svære er, påmindelser app kræver ikke en forfaldsdato, hvilket betyder, at nogle påmindelser, vil have dem, og andre ikke gør, at klare det, vi har brug for, at der oprettes to forskellige scenarier.først skal vi prøve at se, om en frist, der findes.hvis det gør, så er vi klar, 'tiltræden, at fristen og påmindelse navn.hvis en forfaldsdato, som ikke eksisterer, vi springer den forfaldsdato, og bare tilføje afsnit, kan etablere sig.til sidst vil vi tilføje, at etablere, til listen.igen, og denne proces vil blive truffet på alle ikke - afsluttede påmindelser, gradvist at opbygge, listen, således at den indeholder alle de oplysninger, vi har brug for., [applescript]... er afsluttet?hvis thereminder ikke er afsluttet, - - er på grund af date?hvis forfaldsdato for thereminder findes så, der duedate til forfaldsdato for thereminder, etablere til remindername & linefeed & duedate, andre, at etablere remindername, hvis fastsætte listen til listen & etablere, hvis [/applescript], som du kan se, har vi satte en betinget angivelse inden for en anden.generelt er jeg undgå det, når det er muligt, for at holde det enkelt og let læselige, men i dette tilfælde, et lag af russisk, er helt acceptabel.bemærker også, at jeg har lagt, linefeed, mellem en påmindelse navn og forfaldsdagen, så de ikke anføres på samme linje i vores endelige output.,, trin 7.format, produktionen, vi er næsten færdig med påmindelser app - block.vi er nødt til at tage alle af den tekst, der blev lagt i listen, og format det pænt for produktion i en e - mail, for at opnå det, vi har brug for at få en fornemmelse af, hvordan vores produktion er i sin nuværende form.hvis du har brug for at få et glimt af en lagret værdi, så prøv med en tilbagevenden til udtalelse.her er alle af den kode, som vi har skrevet hidtil, efterfulgt af en erklæring om, at de vender tilbage til indholdet af listen, som en række tekst., [applescript] er der fastsat datoen for " rykkerskrivelser " & dato række (nuværende dato), 'tiltræden til " og quot;, listen til {}, der theoutput til " ", fortæl anvendelse " påmindelser ", gentager jeg, fra den 1. til tælling af alle påmindelse om listen " påmindelser "), - - sæt variabler, der thereminder til påmindelse jeg liste " påmindelser ", der remindername til navnet på thereminder, - - er afsluttet?hvis thereminder ikke er afsluttet, - - er på grund af date?hvis forfaldsdato for thereminder findes så, der duedate til forfaldsdato for thereminder, etablere til remindername & linefeed & duedate, andre, at etablere remindername, hvis fastsætte listen til listen & etablere, hvis, gentager, sig tilbage listen som snor, - /applescript], hvis vi stikker af, vil vi se en flok tekst op i "betyder" del af applescript redaktør.det er den tekst, der er oplagret i listen, men som du kan se nedenfor, det er lidt rodet.,, produktionen af vores script hidtil.vi har helt sikkert en linje bryde spørgsmål.lad os rydde op, skal vi?den første ting, du vil, er at fjerne denne tilbagevenden erklæring.det var bare en midlertidig trick for afprøvning og har ingen plads i vores sidste manuskript. næste, indsæt det stykke kode nedenfor i stedet for tilbagesendelse erklæring.det vi laver her er cyklisk gennem de punkter, listen, ekstra linefeeds efter hver, og at indsætte et par stiplede linjer for at få alting ser godt ud., [applescript], gentager jeg, fra den 1. til tælling af hvert punkt på listen), der blev theoutput (theoutput & punkt i i listen som snor) & linefeed & " - " & linefeed, gentager, [/applescript], hvis vi nu tilføje, i en midlertidig tilbagevenden erklæring for at kontrollere, theoutput, hvad vi ser, er meget smukkere og lettere at læse.bemærker, at vores manuskript er behandling af påmindelser med og uden forfaldsdatoer fint og skiller hver påmindelse til de tegn, som jeg nævnte før, produktionen af vores script hidtil.trin 8.send en e - mail, vi er næsten færdige!nu hvor vi har et pænt formaterede liste over de nuværende påmindelser, vi har bare brug for at få denne information i en e - mail og send det. her er det lidt besvaerligt.scripting post er ret besynderlige opgave, og man skal bare vide hvordan det fungerer, for at gøre det hele ender godt.den applescript ordbog, vil hjælpe, men det er ikke så ligetil, som de er i andre programmer, så har ikke modet, hvis du bliver forvirret. det grundlæggende proces er som følger.først skal du sætte en variabel, der kan skabe en ny meddelelse, som de tildeler et sæt af egenskaber (synlig, afsender, emne og indhold).så du faktisk indlede en sige blok, om, at de variable (som er den nye udgående besked) og en ny modtager.så er du jo sende besked.her er, hvad det ser ud i praksis: [applescript], - - sende e - mail, fortæl anvendelse " post ", aktiver, der er budskabet til nye udgående besked med egenskaber (synlig: det er rigtigt, afsender: " senderemail @ gmail. kom ", om: datoen, indhold: theoutput}, fortæl budskabet, at modtageren med egenskaber (adresse: " recipientemail @ gmail. kom "}, sende, fortæl, fortæl, [/applescript], bemærker, at vi har en afsender og modtager.du kan få den samme e - mail, hvis du ønsker at sende en besked til dig, eller måske du ønsker at inddrage flere medarbejdere, så de kan bruge denne daglige e - mail til at holde alle på opgave.det er op til dig.vi har også et emne med den dato, der udnytter vores, datoen, varierende fra før.indholdet er sat til, theoutput, så det ligner det, vi så i vores undersøgelser. vores manuskript er nu afsluttet.bare for at være sikker på, du har det hele, her er den fulde ting: [applescript] er der fastsat datoen for " rykkerskrivelser " & dato række (nuværende dato), 'tiltræden til " ", listen til {}, der theoutput til " ", fortæl anvendelse " påmindelser ", gentager jeg, fra den 1. til tælling af alle påmindelse om listen " påmindelser "), - - sæt variabler, der thereminder til påmindelse jeg liste " påmindelser ", der remindername til navnet på thereminder, - er afsluttet?hvis thereminder ikke er afsluttet, - - er på grund af date?hvis forfaldsdato for thereminder findes så, der duedate til forfaldsdato for thereminder, etablere til remindername & linefeed & duedate, andre, at etablere remindername, hvis fastsætte listen til listen & etablere, hvis, gentager, fortæl, gentager jeg. (tælling af hvert punkt på listen), der blev theoutput (theoutput & punkt i i listen som snor) & linefeed & " - " & linefeed, gentager, - - sende e - mail, fortæl anvendelse " post ", aktiver, der er budskabet at finde nye udgående besked med egenskaber (synlig: det er rigtigt, afsender: " senderemail @ gmail. kom ", om: datoen, indhold: theoutput}, fortæl budskabet, få nye til recipient med egenskaber (adresse: " recipientemail @ gmail. kom "}, sende, fortæl, fortæl, [/applescript], trin 9.planlægningen af manuskriptet, nu hvor manuskriptet er perfekt funktionelle, er vi nødt til at finde en måde at gøre det på løb regelmæssigt hver mandag morgen, så du kan se din uge.for at gøre det, red manuskript, som en ansøgning, der hvor som helst på din harddisk, så åbn den kalender app. fra nu, vil du sandsynligvis vil skabe en ny tidsplan specifikt til automatiserede opgaver (så de vil ikke fylde din anden kalendere).så skabe en ny begivenhed, der gentager hver mandag.endelig en indberetning for det tilfælde, at der åbnes en fil og vælge dit manuskript anvendelse.,, tidsplanlægning manuskriptet i kalenderen.med dette sted, hver mandag kl. 8.00, om jeg er på min computer eller en e - mail - vil blive sendt til mig, med mit påmindelser om ugen.,, om e - mail, gøre det bedre!hvis du fulgte de skridt, hele vejen til dette punkt, tillykke, du har lige bygget en fantastisk lille manuskript, som vil hjælpe med at holde de produktive år.nu er det tid til at tage, hvad jeg har gjort, og vil den, så den passer til dine egne behov.hvordan kan du gøre det bedre egnet til din arbejdsgang.,

reminders app
The output of our script thus far.
The output of our script thus far.
Scheduling the Script
Reminder Email



Previous:
Next Page: