Einzelnen Beitrag anzeigen

wolves232

Registriert seit: 17. Feb 2012
8 Beiträge
 
#1

Einzelne Kontakte mit Delphi aus Outlook 2007 /2010 löschen

  Alt 25. Okt 2012, 15:22
Hallo,

ich möchte gerne mit delphi outlook kontakte verwalten.

speichern und laden geht ... aber wie kann ich in einer listview ein markierten eintrag aus

Outlook löschen ?





Speicher Befehl:
-------------------------------------------------------------------------------

Delphi-Quellcode:
procedure TFormMain.ButtonSaveClick(Sender: TObject);
var
   Stream : TFileStream;
   Pfad1, Pfad2, PfadAll : string;
   Vorname, Nachname : string;
   gefunden : Boolean;
   i : Integer;
begin
  Vorname := EditFirstName.Text;
  Nachname := EditLastName.Text;
  gefunden := False;

  if (EditFirstName.Text <> '') or (EditLastName.Text <> '') then
  begin
    gefunden := false;
    for i := 0 to ListView.Items.Count - 1 do
    if (ListView.Items[i].Caption = EditFirstName.Text) and (ListView.Items[i].SubItems[0] = EditLastName.Text)then
    begin
      gefunden := true;
      case MessageDlg('Kontakt schon vorhanden' + #13#10#13#10 +
        'Trotzdem erstellen ?', mtInformation, [mbYes, mbNo], 0) of
        mrYes:
          begin
            gefunden := False;
          end;
        mrNo:
          begin
            gefunden := True;
          end;
      end;
      break;
    end;
    if gefunden = False then
    begin
      with ListView.Items.Add do
      begin
        Caption := EditFirstName.Text ;
        SubItems.Add(EditLastName.Text);
        SubItems.Add(EditPosition.Text);
        SubItems.Add(EditCompany.Text );
        SubItems.Add(EditStreet.Text);
        SubItems.Add(EditCity.Text);
        SubItems.Add(EditPostcode.Text);
        SubItems.Add(EditCountry.Text);
        SubItems.Add(EditPhone.Text);
        SubItems.Add(EditMobile.Text);
        SubItems.Add(EditInternet.Text);
        SubItems.Add(EditEMail.Text );
        SubItems.Add(EditFax.Text );
      end;
    end
    else
    begin
      ShowMessage('Kontakt wurde nicht erstellt');
      Exit;
    end;
  end;
  begin
    LabelUser.Caption := GetCurrentUserName;
    LabelUser.Caption := Copy(LabelUser.Caption, 1, 4);
    Pfad1 :='C:\Users\';
    Pfad2 :='\Documents\Kontakte.csv';
    PfadAll := Pfad1+LabelUser.Caption+Pfad2;
    Stream := TFileStream.Create(PfadAll, fmCreate);
    Stream.WriteComponentRes('', ListView);
    Stream.Free;
  end;
  NewContactItem;
  begin
    EditFirstName.Text := '';
    EditLastName.Text := '';
    EditPosition.Text := '';
    EditCompany.Text := '';
    EditStreet.Text := '';
    EditCity.Text := '';
    EditPostcode.Text := '';
    EditCountry.Text := '';
    EditPhone.Text := '';
    EditMobile.Text := '';
    EditInternet.Text := '';
    EditEMail.Text := '';
    EditFax.Text := '';
  end;
  GroupBoxListView.Caption := Format('%d Einträge',[ListView.Items.Count]);
end;
Lade Befehl:
-------------------------------------------------------------------------------

Delphi-Quellcode:
procedure TFormMain.FormCreate(Sender: TObject);
var
  outlook, NameSpace, Contacts, Contact: OleVariant;
  i: Integer;
begin
  LabelUser.Caption := GetCurrentUserName;
  MemoMessage.Lines.Add('');
  MemoMessage.Lines.Add(' Herzlich');
  MemoMessage.Lines.Add(' Willkommen');
  outlook := CreateOleObject('Outlook.Application');
  NameSpace := outlook.GetNameSpace('MAPI');

  Contacts := NameSpace.GetDefaultFolder(olFolderContacts);
  for i := 1 to Contacts.Items.Count do
  begin
    Contact := Contacts.Items.Item(i);
   begin
    with ListView.Items.Add do
    begin
      Caption := Contact.FirstName ;
      SubItems.Add(Contact.LastName);
      SubItems.Add(Contact.JobTitle);
      SubItems.Add(Contact.CompanyName);
      SubItems.Add(Contact.BusinessAddressStreet);
      SubItems.Add(Contact.BusinessAddressCity);
      SubItems.Add(Contact.BusinessAddressPostalCode);
      SubItems.Add(Contact.BusinessAddressCountry);
      SubItems.Add(Contact.BusinessTelephoneNumber);
      SubItems.Add(Contact.MobileTelephoneNumber);
      SubItems.Add(Contact.BusinessHomePage);
      SubItems.Add(Contact.Email1Address);
      SubItems.Add(Contact.BusinessFaxNumber);
    end;
   end;
   Outlook := UnAssigned;
  end;
  GroupBoxListView.Caption := Format('%d Einträge',[ListView.Items.Count]);
end;
------------------------------------------------------------------------------------

wäre schön wenn mir einer helfen könnte

Geändert von mkinzler (25. Okt 2012 um 15:26 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat