}
+ // Process the DTSTART.
+
+ if (DateTimeStartData.size() > 0){
+
+ DataLine += "DTSTART";
+
+ if (DateTimeStartDataValue.size() > 0){
+
+ DataLine += ";VALUE=";
+ DataLine += DateTimeStartDataValue;
+
+ }
+
+ if (DateTimeStartDataTimeZoneID.size() > 0){
+
+ DataLine += ";TZID=";
+ DataLine += DateTimeStartDataTimeZoneID;
+
+ }
+
+ if (DateTimeStartDataTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += DateTimeStartDataTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += DateTimeStartData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the LAST-MODIFIED value.
+
+ if (LastModifiedData.size() > 0){
+
+ if (LastModifiedTokens.size() > 0){
+
+ DataLine += "LAST-MODIFIED;";
+ DataLine += LastModifiedTokens;
+
+ } else {
+
+ DataLine += "LAST-MODIFIED";
+
+ }
+
+ DataLine += ":";
+ DataLine += LastModifiedData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the ORGANIZER value.
+
+ if (OrganiserData.size() > 0){
+
+ DataLine += "ORGANIZER";
+
+ if (OrganiserDataCommonName.size() > 0){
+
+ DataLine += ";CN=";
+ DataLine += OrganiserDataCommonName;
+
+ }
+
+ if (OrganiserDataDirectoryEntry.size() > 0){
+
+ DataLine += ";DIR=\"";
+ DataLine += OrganiserDataDirectoryEntry;
+ DataLine += "\"";
+
+ }
+
+ if (OrganiserDataSentByParam.size() > 0){
+
+ DataLine += ";SENT-BY=\"";
+ DataLine += OrganiserDataSentByParam;
+ DataLine += "\"";
+
+ }
+
+ if (OrganiserDataLanguage.size() > 0){
+
+ DataLine += ";LANGUAGE=";
+ DataLine += OrganiserDataLanguage;
+
+ }
+
+ if (OrganiserDataTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += OrganiserDataTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += OrganiserData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the RECURRENCE-ID value.
+
+ if (RecurranceIDData.size() > 0){
+
+ DataLine += "RECURRENCE-ID";
+
+ if (RecurranceIDDataTimeZoneParam.size() > 0){
+
+ DataLine += ";TZID=";
+ DataLine += RecurranceIDDataTimeZoneParam;
+
+ }
+
+ if (RecurranceIDDataRangeParam.size() > 0){
+
+ DataLine += ";RANGE=";
+ DataLine += RecurranceIDDataRangeParam;
+
+ }
+
+ if (RecurranceIDDataValue.size() > 0){
+
+ DataLine += ";VALUE=";
+ DataLine += RecurranceIDDataValue;
+
+ }
+
+ if (RecurranceIDDataTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += RecurranceIDDataTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += RecurranceIDData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the SEQUENCE value.
+
+ if (SequenceData > -1 && SequenceData < 10){
+
+ DataLine += "SEQUENCE";
+
+ if (SequenceTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += SequenceTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += to_string(SequenceData);
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the STATUS value.
+
+ if (StatusData.size() > 0){
+
+ DataLine += "STATUS";
+
+ if (StatusLanguage.size() > 0){
+
+ DataLine += ";LANGUAGE=";
+ DataLine += StatusLanguage;
+
+ }
+
+ if (StatusTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += StatusTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += StatusData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the URL value.
+
+ if (URLData.size() > 0){
+
+ DataLine += "URL";
+
+ if (URLDataTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += URLDataTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += URLData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the RRULE value.
+
+ if (RecurranceRuleData.size() > 0){
+
+ DataLine += "RRULE";
+
+ if (RecurranceRuleDataTokens.size() > 0){
+
+ DataLine += ";";
+ DataLine += RecurranceRuleDataTokens;
+
+ }
+
+ DataLine += ":";
+ DataLine += RecurranceRuleData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ // Process the ATTACH values.
+
+ if (AttachList.size() > 0){
+
+ for (int AttachListSeek = 0; AttachListSeek < AttachList.size();
+ AttachListSeek++){
+
+ DataLine += "ATTACH";
+
+ if (AttachListFormatType[AttachListSeek].size() > 0){
+
+ DataLine += ";FMTTYPE=";
+ DataLine += AttachListFormatType[AttachListSeek];
+
+ }
+
+ if (AttachListValue[AttachListSeek].size() > 0){
+
+ DataLine += ";VALUE=";
+ DataLine += AttachListValue[AttachListSeek];
+
+ }
+
+ if (AttachListEncoding[AttachListSeek].size() > 0){
+
+ DataLine += ";ENCODING=";
+ DataLine += AttachListEncoding[AttachListSeek];
+
+ }
+
+ if (AttachListTokens[AttachListSeek].size() > 0){
+
+ DataLine += ";";
+ DataLine += AttachListTokens[AttachListSeek];
+
+ }
+
+ DataLine += ":";
+ DataLine += AttachList[AttachListSeek];
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the ATTENDEE value.
+
+ if (AttendeeList.size() > 0){
+
+ for (int AttendeeListSeek = 0; AttendeeListSeek < AttendeeList.size();
+ AttendeeListSeek++){
+
+ DataLine += "ATTENDEE";
+
+ if (AttendeeListMember[AttendeeListSeek].size() > 0){
+
+ DataLine += ";MEMBER=\"";
+ DataLine += AttendeeListMember[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListDelegatedFrom[AttendeeListSeek].size() > 0){
+
+ DataLine += ";DELEGATED-FROM=\"";
+ DataLine += AttendeeListDelegatedFrom[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListDelegatedTo[AttendeeListSeek].size() > 0){
+
+ DataLine += ";DELEGATED-TO=\"";
+ DataLine += AttendeeListDelegatedTo[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListRole[AttendeeListSeek].size() > 0){
+
+ DataLine += ";ROLE=";
+ DataLine += AttendeeListRole[AttendeeListSeek];
+
+ }
+
+ if (AttendeeListRSVP[AttendeeListSeek].size() > 0){
+
+ DataLine += ";RSVP=";
+ DataLine += AttendeeListRSVP[AttendeeListSeek];
+
+ }
+
+ if (AttendeeListDirectoryEntry[AttendeeListSeek].size() > 0){
+
+ DataLine += ";DIR=\"";
+ DataLine += AttendeeListDirectoryEntry[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListSentBy[AttendeeListSeek].size() > 0){
+
+ DataLine += ";SENT-BY=\"";
+ DataLine += AttendeeListSentBy[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListCommonName[AttendeeListSeek].size() > 0){
+
+ DataLine += ";CN=\"";
+ DataLine += AttendeeListCommonName[AttendeeListSeek];
+ DataLine += "\"";
+
+ }
+
+ if (AttendeeListCalendarUserType[AttendeeListSeek].size() > 0){
+
+ DataLine += ";CUTYPE=";
+ DataLine += AttendeeListCalendarUserType[AttendeeListSeek];
+
+ }
+
+ if (AttendeeListParticipationStatus[AttendeeListSeek].size() > 0){
+
+ DataLine += ";PARTSTAT=";
+ DataLine += AttendeeListParticipationStatus[AttendeeListSeek];
+
+ }
+
+ if (AttendeeListLanguage[AttendeeListSeek].size() > 0){
+
+ DataLine += ";LANGUAGE=";
+ DataLine += AttendeeListLanguage[AttendeeListSeek];
+
+ }
+
+ if (AttendeeListTokens[AttendeeListSeek].size() > 0){
+
+ DataLine += ";";
+ DataLine += AttendeeListTokens[AttendeeListSeek];
+
+ }
+
+ DataLine += ":";
+ DataLine += AttendeeList[AttendeeListSeek];
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ }
+
*SaveData += "END:VJOURNAL\n";
}
\ No newline at end of file