![]() |
Einzelne Kontakte mit Delphi aus Outlook 2007 /2010 löschen
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:
Lade Befehl:
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; -------------------------------------------------------------------------------
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 |
AW: Einzelne Kontakte mit Delphi aus Outlook 2007 /2010 löschen
ich habs hinbekommen
procedure TFormMain.Loeschfunktion; var outlook, NameSpace, Contacts : OleVariant; entfernen : Integer; begin outlook := CreateOleObject('Outlook.Application'); NameSpace := outlook.GetNameSpace('MAPI'); Contacts := NameSpace.GetDefaultFolder(olFolderContacts); entfernen := StrToInt(ListView.Items[Auswahl].SubItems[14]); Contacts.Items.Item(entfernen).Delete; entfernen := ListView.Items.Count; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz