Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Übernahme der Uhrzeit aus iCal ohne Sekunden möglich?

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
paed-feld
•->
•->


Anmeldedatum: 22.01.2011
Beiträge: 6
Wohnort: Oldenburg (Oldb)

BeitragVerfasst am: 22.01.2011 - 18:53    Titel: Übernahme der Uhrzeit aus iCal ohne Sekunden möglich? Antworten mit Zitat

Hallo,
ich benutze ein vorgefertigtes Script (kenne mich mit dem Schreiben von Scripts nicht aus), um Termine aus iCal in einer Website zu übernehmen. Dabei werden die Uhrzeiten im Format Stunde:Minute:Sekunde angezeigt, z.B. 12:24:53
Ist es möglich, dass nur die Stunde und Minute angezeigt werden, z.B. 12:24?
Ich bin für jede Hilfe dankbar.
Volker

Hier das Script:

Code:
set myCal to "GS-Sandkrug" -- change it as appropriate
set myPageContents to "<h2>Zukünftige Termine - Schulj. 2010/2011</h2>"
set myPageContents to myPageContents & "<p>Diese Termine wurden zuletzt aktualisiert am:<br /> " & (current date) & "</p>" & getdata(myCal)
return myPageContents
on getdata(calName)
   tell application "iCal"
      set sd to date "Montag, 1. Januar 2007 12:00:00 Uhr"
      set ed to date "Freitag, 30. Dezember 2011 12:00:00 Uhr"
      try
         set this_calendar to the first calendar whose title is the calName
         set the returned_events to every event of this_calendar whose start date is greater than or equal to (current date) and start date is greater than or equal to sd and start date is less than or equal to ed
         set these_events to {}
         repeat with i from 1 to the count of the returned_events
            set this_item to item i of the returned_events
            if the class of this_item is event then
               set the end of these_events to this_item
            else if the class of this_item is list then
               repeat with z from 1 to the count of this_item
                  set this_event to item z of this_item
                  if the class of this_event is event then
                     set the end of these_events to this_event
                  end if
               end repeat
            end if
         end repeat
         set total_events to the count of the returned_events
      on error
         return "<font color=\"#FF0000\">An error occurred while fetching events in iCal.</font>"
      end try
      try
         set temp_events to these_events
         repeat with i from 1 to total_events - 1
            set z to i
            set found_item to item i of these_events
            repeat with j from i to total_events
               set test1_item to item z of the these_events
               set test2_item to item j of the these_events
               set date1 to start date of test1_item
               set date2 to start date of test2_item
               if date2 is less than date1 then
                  set item j of temp_events to test1_item
                  set item z of temp_events to test2_item
               end if
            end repeat
         end repeat
      on error
         return "<font color=\"#FF0000\">An error occurred while sorting data.</font>"
      end try
      try
         set resultString to "<ul>"
         repeat with this_event in temp_events -- loop in the list
            --set the_name to summary of theEvent
            --set the_date to short date string of (get start date of the theEvent)
            set the event_properties to the properties of this_event
            --set this_description to description of the event_properties
            set this_summary to the summary of the event_properties
            if this_summary is missing value then
               set this_summary to "N/A"
            end if
            set this_location to the location of the event_properties
            if this_location is missing value then
               set this_location to "N/A"
            end if
            set start_date to short date string of (get start date of the event_properties)
            set start_time to time string of (get start date of the event_properties)
            set end_date to short date string of (get end date of the event_properties)
            set end_time to time string of (get end date of the event_properties)
            set event_description to the description of the event_properties
            if event_description is missing value then
               set event_description to "N/A"
            end if
            set event_URL to the url of the event_properties
            if event_URL is missing value then
               set event_URL to "N/A"
            end if
            set the event_recurrence to the recurrence of the event_properties
               if event_recurrence is missing value then
            set event_recurrence to "N/A"
         end if
            set prevTIDs to AppleScript's text item delimiters
            set AppleScript's text item delimiters to "="
            set repeatList to every text item of event_recurrence
            set repeater to 0
            if the (count of every text item of event_recurrence) is greater than 1 then
               set repeater to 1
               set newItem to last text item of repeatList as text
               set newYear to text 3 thru 4 of newItem as string
               if (item 5 of newItem) is equal to "0" then
                  set newMonth to item 6 of newItem as string
               else
                  set newMonth to text 5 thru 6 of newItem as string
               end if
               if (item 7 of newItem) is equal to "0" then
                  set newDay to item 8 of newItem as string
               else
                  set newDay to text 7 thru 8 of newItem as string
               end if
               set end_date to newMonth & "/" & newDay & "/" & newYear
               set AppleScript's text item delimiters to prevTIDs
            end if
            set notimes to the allday event of event_properties
            set resultString to resultString & "<i>" & start_date
         
            if repeater is equal to 1 then
               set resultString to resultString & " bis " & end_date
            end if
            set resultString to resultString & "</i> -- <b>"
            if event_URL is equal to "N/A" then
               set resultString to resultString & this_summary & "</b><ul>"
            else
               set resultString to resultString & "<a href=\"" & event_URL & "\">" & this_summary & "</a></b></u><ul>"
            end if
            if this_location is not equal to "N/A" then
               set resultString to resultString & "Ort: " & this_location & ""
            end if
            if not notimes then
               set resultString to resultString & "<b>Zeit:</b> " & start_time & " bis " & end_time & " Uhr"
            end if
            if event_description is not equal to "N/A" then
               set resultString to resultString & "<b></b> " & event_description & ""
            end if
            set resultString to resultString & "</ul></li><br />"
         end repeat
         set resultString to resultString & "</ul>"
         return resultString
      on error
         return "<font color=\"#FF0000\">An error occurred while ending the script.</font>"
      end try
   end tell
end getdata
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hubionmac
•--->
•--->


Anmeldedatum: 26.02.2004
Beiträge: 245
Wohnort: Münster

BeitragVerfasst am: 23.01.2011 - 01:42    Titel: Antworten mit Zitat

In diesem Code werden die Sekunden abgeschnitten...

Code:
set myCal to "GS-Sandkrug" -- change it as appropriate
set myPageContents to "<h2>Zukünftige Termine - Schulj. 2010/2011</h2>"
set myPageContents to myPageContents & "<p>Diese Termine wurden zuletzt aktualisiert am:<br /> " & (current date) & "</p>" & getdata(myCal)
return myPageContents
on getdata(calName)
   tell application "iCal"
      set sd to date "Montag, 1. Januar 2007 12:00:00"
      set ed to date "Freitag, 30. Dezember 2011 12:00:00"
      try
         set this_calendar to the first calendar whose title is the calName
         set the returned_events to every event of this_calendar whose start date is greater than or equal to (current date) and start date is greater than or equal to sd and start date is less than or equal to ed
         set these_events to {}
         repeat with i from 1 to the count of the returned_events
            set this_item to item i of the returned_events
            if the class of this_item is event then
               set the end of these_events to this_item
            else if the class of this_item is list then
               repeat with z from 1 to the count of this_item
                  set this_event to item z of this_item
                  if the class of this_event is event then
                     set the end of these_events to this_event
                  end if
               end repeat
            end if
         end repeat
         set total_events to the count of the returned_events
      on error
         return "<font color=\"#FF0000\">An error occurred while fetching events in iCal.</font>"
      end try
      try
         set temp_events to these_events
         repeat with i from 1 to total_events - 1
            set z to i
            set found_item to item i of these_events
            repeat with j from i to total_events
               set test1_item to item z of the these_events
               set test2_item to item j of the these_events
               set date1 to start date of test1_item
               set date2 to start date of test2_item
               if date2 is less than date1 then
                  set item j of temp_events to test1_item
                  set item z of temp_events to test2_item
               end if
            end repeat
         end repeat
      on error
         return "<font color=\"#FF0000\">An error occurred while sorting data.</font>"
      end try
      try
         set resultString to "<ul>"
         repeat with this_event in temp_events -- loop in the list
            --set the_name to summary of theEvent
            --set the_date to short date string of (get start date of the theEvent)
            set the event_properties to the properties of this_event
            --set this_description to description of the event_properties
            set this_summary to the summary of the event_properties
            if this_summary is missing value then
               set this_summary to "N/A"
            end if
            set this_location to the location of the event_properties
            if this_location is missing value then
               set this_location to "N/A"
            end if
            set start_date to short date string of (get start date of the event_properties)
            set prevTIDs to AppleScript's text item delimiters
            set AppleScript's text item delimiters to ""
            set start_time to (characters 1 through -4 of (time string of (get start date of the event_properties))) as text
            set end_date to short date string of (get end date of the event_properties)
            set end_time to (characters 1 through -4 of (time string of (get end date of the event_properties))) as text
            set AppleScript's text item delimiters to prevTIDs
            set event_description to the description of the event_properties
            if event_description is missing value then
               set event_description to "N/A"
            end if
            set event_URL to the url of the event_properties
            if event_URL is missing value then
               set event_URL to "N/A"
            end if
            set the event_recurrence to the recurrence of the event_properties
            if event_recurrence is missing value then
               set event_recurrence to "N/A"
            end if
            set prevTIDs to AppleScript's text item delimiters
            set AppleScript's text item delimiters to "="
            set repeatList to every text item of event_recurrence
            set repeater to 0
            if the (count of every text item of event_recurrence) is greater than 1 then
               set repeater to 1
               set newItem to last text item of repeatList as text
               set newYear to text 3 thru 4 of newItem as string
               if (item 5 of newItem) is equal to "0" then
                  set newMonth to item 6 of newItem as string
               else
                  set newMonth to text 5 thru 6 of newItem as string
               end if
               if (item 7 of newItem) is equal to "0" then
                  set newDay to item 8 of newItem as string
               else
                  set newDay to text 7 thru 8 of newItem as string
               end if
               set end_date to newMonth & "/" & newDay & "/" & newYear
               set AppleScript's text item delimiters to prevTIDs
            end if
            set notimes to the allday event of event_properties
            set resultString to resultString & "<i>" & start_date
            
            if repeater is equal to 1 then
               set resultString to resultString & " bis " & end_date
            end if
            set resultString to resultString & "</i> -- <b>"
            if event_URL is equal to "N/A" then
               set resultString to resultString & this_summary & "</b><ul>"
            else
               set resultString to resultString & "<a href=\"" & event_URL & "\">" & this_summary & "</a></b></u><ul>"
            end if
            if this_location is not equal to "N/A" then
               set resultString to resultString & "Ort: " & this_location & ""
            end if
            if not notimes then
               set resultString to resultString & "<b>Zeit:</b> " & start_time & " bis " & end_time & " Uhr"
            end if
            if event_description is not equal to "N/A" then
               set resultString to resultString & "<b></b> " & event_description & ""
            end if
            set resultString to resultString & "</ul></li><br />"
         end repeat
         set resultString to resultString & "</ul>"
         return resultString
      on error
         return "<font color=\"#FF0000\">An error occurred while ending the script.</font>"
      end try
   end tell
end getdata

_________________
hubionmac.com akzeptiere Paypal und Pizza
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
paed-feld
•->
•->


Anmeldedatum: 22.01.2011
Beiträge: 6
Wohnort: Oldenburg (Oldb)

BeitragVerfasst am: 23.01.2011 - 12:13    Titel: Antworten mit Zitat

Funktioniert genau so, wie ich es mir vorgestellt hatte.
Danke!
Volker
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter