Hallo,
danke erstmal für Deine Zeit. aber auch Deine Vorschläge brachten keinen Erfolg.
Ich habe mir gedacht, wenn die "uid" eines Termins ein "item" des "events" ist, dann müsste ich vllt. den abzugleichenden Wert der vorhandenen Datensätze auch als "item" anlegen.
Habe es so versucht:
- Code: Alles auswählen
iCal2FileMaker("Arbeit")
on iCal2FileMaker(Kalendername)
--Abfrage der vorhandenen Datensätze der Tabelle (Das Layout hat nur eine Tabelle "id")
tell application "FileMaker Pro"
tell database "StefanBurgerDB.fp7"
show layout "iCal"
set iCalTabelle to get every record of current layout
set vorhandeneDS to {}
repeat with i from 1 to the count of the iCalTabelle
set Datensatz to item i of the iCalTabelle
set the end of vorhandeneDS to Datensatz
end repeat
end tell
end tell
log vorhandeneDS
--Abfrage aller Termine des Kalenders "Arbeit" (hier nur die "uid", damit die Liste "clean" ist, da sonst zu jedem Event die "event id" mit ausgegeben wird)
tell application "iCal"
set iCalTermine to uid of every event of calendar Kalendername
set gefundeneID to {}
repeat with i from 1 to the count of the iCalTermine
set Liste to item i of the iCalTermine
set the end of gefundeneID to Liste
end repeat
log gefundeneID
return gefundeneID
Hier die Ausgabe vom Script-Editor:
- Code: Alles auswählen
tell application "FileMaker Pro"
show layout "iCal" of database "StefanBurgerDB.fp7"
get every record of current layout of database "StefanBurgerDB.fp7"
--> {{"C2E282BF-8991-45C6-AB66-6A5202E85B7E"}, {"1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1
"}}
end tell
(*C2E282BF-8991-45C6-AB66-6A5202E85B7E, 1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1
*)
tell application "iCal"
get uid of every event of calendar "Arbeit"
--> {"C2E282BF-8991-45C6-AB66-6A5202E85B7E", "4BA10ED6-F01A-4165-84A6-50A2AFFF887B", "E40FD5AF-7D46-4F7F-8F62-EE20FAA6FF20", "B2A4A4A9-71B6-4F77-9B49-B92C9A7AC977", "D3704CAB-90FD-41DE-B415-2A303DD6D9F1", "876605EE-AB33-44D9-A42E-680B7A8AB343", "BE4884C2-7105-48E0-A606-A6DA33A4C1AD", "916EF445-F9FF-4244-B851-CABB4D6DAF07", "1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1", "1DEA92D4-A964-44E5-BBCF-00CC6004181C", "38D44C77-0F87-4E71-A503-D4F1AFC23F27"}
(*C2E282BF-8991-45C6-AB66-6A5202E85B7E, 4BA10ED6-F01A-4165-84A6-50A2AFFF887B, E40FD5AF-7D46-4F7F-8F62-EE20FAA6FF20, B2A4A4A9-71B6-4F77-9B49-B92C9A7AC977, D3704CAB-90FD-41DE-B415-2A303DD6D9F1, 876605EE-AB33-44D9-A42E-680B7A8AB343, BE4884C2-7105-48E0-A606-A6DA33A4C1AD, 916EF445-F9FF-4244-B851-CABB4D6DAF07, 1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1, 1DEA92D4-A964-44E5-BBCF-00CC6004181C, 38D44C77-0F87-4E71-A503-D4F1AFC23F27*)
end tell
Ergebnis:
{"C2E282BF-8991-45C6-AB66-6A5202E85B7E", "4BA10ED6-F01A-4165-84A6-50A2AFFF887B", "E40FD5AF-7D46-4F7F-8F62-EE20FAA6FF20", "B2A4A4A9-71B6-4F77-9B49-B92C9A7AC977", "D3704CAB-90FD-41DE-B415-2A303DD6D9F1", "876605EE-AB33-44D9-A42E-680B7A8AB343", "BE4884C2-7105-48E0-A606-A6DA33A4C1AD", "916EF445-F9FF-4244-B851-CABB4D6DAF07", "1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1", "1DEA92D4-A964-44E5-BBCF-00CC6004181C", "38D44C77-0F87-4E71-A503-D4F1AFC23F27"}
Und jetzt habe ich versucht, auf dem gleichen Weg, den "Vergleich" zu machen, aber er macht es nicht ? Warum ?
- Code: Alles auswählen
--suche nur neue Termine und erstelle die Liste mit den UID´s mit "nur" den neuen/noch nicht vorhandenen Terminen
set nurneueID to {}
repeat with Y from 1 to the count of the gefundeneID
set Liste2 to item Y of the gefundeneID
if gefundeneID is not equal to vorhandeneDS then
set the end of nurneueID to Liste2
end if
end repeat
return nurneueID
Ausgabe davon:
- Code: Alles auswählen
end tell
Ergebnis:
{"C2E282BF-8991-45C6-AB66-6A5202E85B7E", "4BA10ED6-F01A-4165-84A6-50A2AFFF887B", "E40FD5AF-7D46-4F7F-8F62-EE20FAA6FF20", "B2A4A4A9-71B6-4F77-9B49-B92C9A7AC977", "D3704CAB-90FD-41DE-B415-2A303DD6D9F1", "876605EE-AB33-44D9-A42E-680B7A8AB343", "BE4884C2-7105-48E0-A606-A6DA33A4C1AD", "916EF445-F9FF-4244-B851-CABB4D6DAF07", "1B88ADDE-1E31-4BA5-AFE0-362CA2CBDAE1", "1DEA92D4-A964-44E5-BBCF-00CC6004181C", "38D44C77-0F87-4E71-A503-D4F1AFC23F27"}
Oh, mann.... Ich weis wirklich nicht mehr, wie ich dem das beibringen soll, das muss doch möglich sein, oder ?
Im Netz sind noch vorschläge mit Unix-Shell-Programmen, aber das geht dann doch zu weit, denke ich...
Bitte um Hilfe !
Gruß
Stefan