Calender koppelen aan een vb.net programma

Dit forum is voor Mozilla Sunbird, Lightning en Calendar. Dit zijn de agenda-toepassingen van Mozilla. Zie het Calendar-project voor meer info.
Plaats reactie
glda19
Berichten: 184
Lid geworden op: 16 oktober 2005, 11:12
    Windows 10 Firefox

Calender koppelen aan een vb.net programma

Bericht door glda19 »

Hi
weet iemand of het mogelijk zou zijn via vb.net code de gegevens uit te lezen.
Gebruikersavatar
nirwana
Beheerder
Berichten: 11528
Lid geworden op: 19 september 2003, 5:09
    Windows 10 Firefox
Contacteer:

Re: Calender koppelen aan een vb.net programma

Bericht door nirwana »

Ik zou dit dan eerder via een standaard-formaat laten verlopen, bijvoorbeeld het ICS-formaat.
Volgens mij kan Calender / Lightning naar dit formaat exporteren. En voor .Net zijn er dan weer libraries waarmee je een ICS-bestand kunt inlezen, bijvoorbeeld https://github.com/der-Daniel/ical.NET

Dat voorbeeld is dan voor C#, maar dat gooi ik voor het gemak op 1 hoop met VB.Net.
Het valt immers allemaal onder .Net en met beide programmeertalen kun je vrijwel hetzelfde.

Hier vindt je ook diverse libraries die ICS-bestanden kunnen parsen: https://www.nuget.org/packages?q=ics

Daar zou ik eens wat mee gaan exporteren als je hiermee wilt beginnen.
Als je met programmeren begint, dan zou ik direct met C# beginnen. Dit is niet veel moeilijker dan VB.Net en je kunt er wel meer mee. Zo is er bijvoorbeeld meer voorbeeldcode in C# beschikbaar. Dit is mijn eigen ervaring (ik kom uit het Visual Basic 6-tijdperk en via VB.Net programmeer ik nu vooral in C#).
Met vriendelijke groet,

Martijn
[ Mede-oprichter + webmaster MozBrowser | beheerder Startpagina's over freeware, GIMP, Mozilla en OpenOffice.org / LibreOffice, Ubuntu
glda19
Berichten: 184
Lid geworden op: 16 oktober 2005, 11:12
    Android Firefox

Re: Calender koppelen aan een vb.net programma

Bericht door glda19 »

Waarom naar c#
En waar vind ik daar uitleg over en wat kun je meer
glda19
Berichten: 184
Lid geworden op: 16 oktober 2005, 11:12
    Android Firefox

Re: Calender koppelen aan een vb.net programma

Bericht door glda19 »

Het is wel de bedoeling direct die file uit te lezen e" niet via een tussen stap
Gebruikersavatar
nirwana
Beheerder
Berichten: 11528
Lid geworden op: 19 september 2003, 5:09
    Windows 10 Firefox
Contacteer:

Re: Calender koppelen aan een vb.net programma

Bericht door nirwana »

Ik heb het niet over een tussenstap, maar over het gebruik van een "library", dus een functie-bibliotheek om het programmeren makkelijker te maken. Dat is een objectmodel dat je kunt gebruiken om beter / sneller / efficiënter zo'n bestand in te lezen, omdat deze library de structuur van zo'n bestand al kent.

Als je liever in VB.Net programmeert dan vind ik dat natuurlijk prima.
Voordeel van VB.Net is dat het niet case-sensitive is, dus er wordt geen verschil gemaakt tussen hoofd- en kleine letters.
Met vriendelijke groet,

Martijn
[ Mede-oprichter + webmaster MozBrowser | beheerder Startpagina's over freeware, GIMP, Mozilla en OpenOffice.org / LibreOffice, Ubuntu
Gebruikersavatar
nirwana
Beheerder
Berichten: 11528
Lid geworden op: 19 september 2003, 5:09
    Windows 10 Firefox
Contacteer:

Re: Calender koppelen aan een vb.net programma

Bericht door nirwana »

In Mozilla Lighting (Calendar zo je wilt) heb ik als test 1 gebeurtenis (EVENT) en een taak (TODO) aangemaakt.
Dat heb ik vervolgens geëxporteerd naar een ICS-bestand en dan is dit het resultaat:

Code: Selecteer alles

BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20161108T143615Z
LAST-MODIFIED:20161108T143637Z
DTSTAMP:20161108T143637Z
UID:79e6d901-8635-490e-b18c-4954bdb027c6
SUMMARY:Nieuw event
DTSTART;VALUE=DATE:20161108
DTEND;VALUE=DATE:20161109
TRANSP:TRANSPARENT
DESCRIPTION:Test 
END:VEVENT
BEGIN:VTODO
CREATED:20161108T143644Z
LAST-MODIFIED:20161108T143703Z
DTSTAMP:20161108T143703Z
UID:78f7a3a1-c2dc-45a0-aabc-30868a9b907c
SUMMARY:Nieuwe taak
DTSTART;TZID=Europe/Berlin:20161108T160000
DUE;TZID=Europe/Berlin:20161108T170000
END:VTODO
END:VCALENDAR
In deze brij zitten dan 2 "events" verstopt (of eigenlijk 1 EVENT en 1 TODO).

Veel plezier om dit allemaal te gaan parsen in iets leesbaars / begrijpbaars...
Met vriendelijke groet,

Martijn
[ Mede-oprichter + webmaster MozBrowser | beheerder Startpagina's over freeware, GIMP, Mozilla en OpenOffice.org / LibreOffice, Ubuntu
Gebruikersavatar
nirwana
Beheerder
Berichten: 11528
Lid geworden op: 19 september 2003, 5:09
    Windows 10 Firefox
Contacteer:

Re: Calender koppelen aan een vb.net programma

Bericht door nirwana »

Daarom zijn er libraries uitgevonden. Daarmee heb ik bijvoorbeeld dit stukje code gemaakt:

Code: Selecteer alles

            var calendarCollection = Calendar.LoadFromFile(@"c:\home\Algemeen.ics");

            var firstCalendar = calendarCollection.First();

            foreach (var oEvent in firstCalendar.Events)
            {
                Console.WriteLine(oEvent.Start.ToString());
                Console.WriteLine(oEvent.Summary);
            }

            foreach (var oTodo in firstCalendar.Todos)
            {
                Console.WriteLine(oTodo.Start.ToString());
                Console.WriteLine(oTodo.Summary);
            }
Naar aanleiding van dit code-voorbeeld: https://github.com/rianjs/ical.net/wiki ... n-ics-file
In dit ICS-bestand heb ik maar 1 Event en 1 Todo, dus de foreach is een beetje overkill. Maar dit geeft jou vast wel een idee hoe je dit dan kunt gebruiken.

PS: de library heb ik aan het project in Visual Studio toegevoegd via NuGet: https://www.nuget.org/packages/Ical.Net:

Code: Selecteer alles

Install-Package Ical.Net -Version 2.2.19 
Met vriendelijke groet,

Martijn
[ Mede-oprichter + webmaster MozBrowser | beheerder Startpagina's over freeware, GIMP, Mozilla en OpenOffice.org / LibreOffice, Ubuntu
Plaats reactie