Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Mit Delphi auf Android Handy Kalender auslesen

  Alt 5. Mär 2018, 13:11
Delphi-Quellcode:
Function TForm1.GetCalEvents(DTNow: TDateTime): Boolean;
var
  Cursor: JCursor;
  l_eventUri: Jnet_Uri;
  SortOrder: JString;
  Selection: JString;
  SelectionArgs: TJavaObjectArray<JString>;
  l_projection: TJavaObjectArray<JString>;
  sSQLEventAbfrage, title: String;
  EventCount: integer;
  EventId: integer;
begin
  Result := False;
  l_eventUri := StrToJURI('content://com.android.calendar/events');
  l_projection := TJavaObjectArray<JString>.Create(8);

   l_projection.Items[0] := StringToJString(TokTitle);
   l_projection.Items[1] := StringToJString(TokDTStart);
   l_projection.Items[2] := StringToJString(TokDTEnd);
   l_projection.Items[3] := StringToJString(TokEventTimeZone);
   l_projection.Items[4] := StringToJString(TokHasAlarm);
   l_projection.Items[5] := StringToJString(TokOriginal_ID);
   l_projection.Items[6] := StringToJString(TokAllDay);
   l_projection.Items[7] := StringToJString(TokID);
  SortOrder := StringToJString('dtstart ASC, dtend ASC');
  // vom ältesten zum neuesten Eintrag
  Selection := nil;
  Selection := StringToJString(sSQLEventAbfrage);
  SelectionArgs := nil; // im Moment nicht genutzt
  // hier die Abfrage der Termine im jeweiligem Zeitraum
  Cursor := TAndroidHelper.Activity.getContentResolver.query(l_eventUri,
    l_projection, Selection, SelectionArgs, SortOrder);
  if not Assigned(Cursor) then
  begin
    // Log('GetCalEvents not Assigned(Cursor)', []);
    Exit;
  end else
  begin
    while Cursor.moveToNext do
    begin
      title := Cursor.getString(0);
      // usw. usf.
      EventId := Cursor.getLong(7);
    end;
  end;
  EventCount := Cursor.getCount;
  Result := EventCount > 0;
end;
Einfach das Beispiel aus meinen Link in Delphi umsetzen, ist nicht so schwer.
  Mit Zitat antworten Zitat