Hi,
falls es noch einen Interessiert. Das Problem an der ganzen Geschichte ist
das Leerzeichen. Es darf zwischen dem StatusTime und dem
Gleichheitszeichen
kein Leerzeichen sein.
richtig:
timeRange = "Default StatusTime=\"7-23-2004 10:16:13 - 7-24-2004
23:59:59\""
falsch:
timeRange = "Default StatusTime = \"7-23-2004 10:16:13 - 7-24-2004
23:59:59\""
Hallo Joerg,
in dieser NG hab ich ein paar alte Beitrage gefunden. Kann aber nicht
garantieren dass die auch funktioniert.
Ich hab nämlich selbstSchwierigkeiten nach bestimmten Dingen zu filtern und
so "schaue" ich mir jedes Item (Archive.AllItems) direkt an und entscheide
danach, was damit passieren soll.
Aber hilfts dir weiter:schrieb im Newsbeitrag news:2013999740@news.tobit.com... Hi,
falls es noch einen Interessiert. Das Problem an der ganzen Geschichte ist
das Leerzeichen. Es darf zwischen dem StatusTime und dem
Gleichheitszeichen
kein Leerzeichen sein.
richtig:
timeRange = "Default StatusTime=\"7-23-2004 10:16:13 - 7-24-2004
23:59:59\""
falsch:
timeRange = "Default StatusTime = \"7-23-2004 10:16:13 - 7-24-2004
23:59:59\""
Und diesen hier:schrieb im Newsbeitrag
news:207127213@news.tobit.com...
Guten Tag.
Wenn das stimmt:
"StatusTime = "7-23-2004 10:16:13 - 7-24-2004 23:59:59"" -> for a time range
müßte der Code eigentlich anders lauten, denn das Ergebnis des alten wäre:
Default SendTime = "12-31-2005 - 12-31-2005"
daher:
static void Main(string[] args)
{
DateTime dateFrom = DateTime.Now;
DateTime dateTo = DateTime.Now.AddDays(3);
string dFrom = dateFrom.ToString("MM-dd-yyyy");
string dTo = dateTo.ToString("MM-dd-yyyy");
// Falsch
string timeRange = @"Default SendTime = """ + dFrom + " - " + dTo +
@"""";
Console.WriteLine(timeRange);
// Ergebnis: Default SendTime = "12-31-2005 - 01-03-2006"
// Richtig
timeRange = "Default \"SendTime = \"" + dFrom + " - " + dTo + "\"\"";
Console.WriteLine(timeRange);
// Ergebnis: Default "SendTime = "12-31-2005 - 01-03-2006""
// Alternative: Übersichtlicher und ohne zusätzliche String-Variablen
timeRange = String.Format("Default \"SendTime = \"{0} - {1}\"\"",
dateFrom.ToString("MM-dd-yyyy"),
dateTo.ToString("MM-dd-yyyy"));
Console.WriteLine(timeRange);
// Alternative 2: Die kompakte Variante
timeRange = String.Format("Default \"SendTime = \"{0:MM-dd-yyyy} -
{1:MM-dd-yyyy}\"\"",
dateFrom, dateTo);
Console.WriteLine(timeRange);
Console.ReadLine();
}
-Martin Ehrlichschrieb im Newsbeitrag
news:1000800043A7FF1F0000524F@news.tobit.com...
GetArchiveEntries
Allowed string types:
"StatusTime = "7-23-2004 10:16:13 - 7-24-2004 23:59:59"" -> for a time range
Musst Du nicht die Zeitangaben auf MM-dd-yyyy hh:min:sec oder ähnlich
umformatieren?
Ob die Syntax @"Default SendTime ... stimmt, kann ich mangels C# Kenntnisse
nicht checken.
Mir erscheint das @ aber eigentümlich.
Gruß, Franz
Original Message processed by David InfoCenter
Subject: GetArchiveEntries unter C# (19-Dez-2005 16:05)
From: ingo.hoeckenschnieder
To: tobit.public.de.developer.api
Hallo,
ich versuche gerade alle Termine in einem bestimmten Zeitabschnitt
einzulesen. Leider liefert mit dir Routine immer die verfügbaren Items, egal
ob sie im Zeitraum sind oder nicht.
Ich habe schon versucht verschiedene FilterBits anzuwenden (default gibt
z.B. alles wieder), bislang ohne Erfolg.
oArchive =
oAcc.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalCalendar);
string dFrom = dateFrom.ToString("MM-dd-yyyy");
string dTo = dateTo.ToString("MM-dd-yyyy");
string timeRange = @"Default SendTime = """ + dFrom + " - " + dTo + @"""";
oItems2 = oArchive.GetArchiveEntries(timeRange);
Zurück zu David Developer API DvAPI
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste