Datumsberechnung

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von nobillings, 27.02.2007.

  1. nobillings

    nobillings Thread Starter MacUser Mitglied

    Beiträge:
    105
    Zustimmungen:
    0
    MacUser seit:
    20.01.2007
    Hallo,

    ich bin noch Anfaenger in der WElt des Applescript und habe ein Problem beim Einlesen von Daten und dem anschliessenden Berechnen aus einer Textdatei. Die Datei ist Tab-separiert und hat pro Zeile einen Datensatz, aus dem ich ein iCal-Event erstellen moechte.
    Ich habe verschiedene Formen des Datums:
    1. So, 18.03.2007
    2. 08.03.2007.

    Das erste Datum kann ich mit folgenden Code lesen und als property fuer das make new event nutzen:
    Code:
    	set theDatum to item 1 of item i of theBigList
    	set theStartDatum to date (text 5 thru 15 of theDatum)
    
    Das funktioniert.

    Das zweite Format brauche ich fuer eine Berechnung. Ich will einen Alarm 6 Stunden vor dem Datum setzen. Die Variable sollte dann als property trigger date fuer make new sound alarm genutzt werden.
    Code:
    set deltaT to 6 * hours
    set theMeldeschluss to date (theMeldeschluss - deltaT)			
    
    Ich bekomme immer folgende Fehlermeldung:
    "08.03.2007" kann nicht in Typ number umgewandelt werden.
    Habe schon ohne date versucht aber es klappt nicht, was mich wundert, da ich das erste Datum doch auch verwenden kann.
    Kann mir jemand weiterhelfen? Danke.

    Gruss
    nobillings
     
  2. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.807
    Zustimmungen:
    940
    MacUser seit:
    06.06.2006
    Hallo,

    verwende den Typ "date".
    Dabei sind zum Beispiel eingaben möglich:

    Code:
    set meinDatum to date "18.03.2007"
    
    oder

    Code:
    set meinDatum to date "So, 18.03.2007"
    
    Als Ergebnis erhälst Du dann immer der Wert

    Code:
    date "Sonntag, 18. März 2007 0:00:00 Uhr"
    
    Viel Erfolg!
     
  3. nobillings

    nobillings Thread Starter MacUser Mitglied

    Beiträge:
    105
    Zustimmungen:
    0
    MacUser seit:
    20.01.2007
    Kein Erfolg

    Ich schrieb ja schon, dass ich date benutzt habe.
    Egal ob ich das Datum aus der Textdatei als Variable nehme oder ob ich das Datum selber setzte mit set jetzt bekomme ich den Fehler, dass "08.03.2007" nicht in Typ reference ungewandelt werden kann.

    Gruss
    nobillings
     
  4. safari

    safari MacUser Mitglied

    Beiträge:
    146
    Zustimmungen:
    3
    MacUser seit:
    02.11.2004
    Sauber sollte man das über day, month und year machen (versch. Sprachversionen/Datumsformate!!!)!

    copy (current date) to theDate
    set day of theDate to 18
    set month ...
    set year ...

    Hier ein Link zu einem KalenderScript - der Inhalt dürfte dem Datumsbastler mehr als genug beschäftigen ...

    http:/www.alle-brandts.de/dl/KalenderScriptX.zip
     
  5. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    MacUser seit:
    05.10.2005
    Kann ich hier (OS 10.4.7 + ScriptEditor 2.1.1 build 81) nicht nachvollziehen:
    Ciao
    Farid
     
  6. nobillings

    nobillings Thread Starter MacUser Mitglied

    Beiträge:
    105
    Zustimmungen:
    0
    MacUser seit:
    20.01.2007
    Wenn ich das Beispiel nehme, bekomme ich einen Syntaxfehler:
    Datum und Uhrzeit sind ungültig: Domenica, 1 aprile 2007 0:00:00.
    Habe Domenica mit Sonntag und aprile mit April ersetzt. Dann geht es. Das Datum ist eine Konstante.

    Aber: Wenn ich dann meine Eingangsvariable nehme, dann bekomme ich den beruechtigten Fehler wieder.

    Ah jetzt ja, habe die Loesung. Ich muss meine Variable erst in date ueberfuehren bevor ich irgendwas anderes damit mache.

    Vielen Dank. :clap:

    Gruss
    nobillings
     

Diese Seite empfehlen