KSWabControl OCX Dokumentation

Library: KSWABLib (KSWab ActiveX Control module)
GUID: {290CA8F7-D7F5-11D3-8BE5-0000B4560A22}
Version: 1.0

Abhängigkeiten: keine

 
Allgemeines
Lizenzbedingungen
Download
Installation

Interface

Beispielcode


Allgemeines

Das KSWab-Control dient in erster Linie dem Auslesen von Adressdaten aus dem Windows-Adressbuch (WAB), welches u.a. von MS-Outlook-Express verwendet wird. Bei den *.wab-Dateien handelt es sich um ein proprietäres Datenformat, auf welches nur mit Hilfe der wab32.dll zugegriffen werden kann.

Dieses Control bietet Ihnen eine High-Level-Schnittstelle zu dieser API und ermöglicht Ihnen beispielsweise, mit geringem Programmieraufwand eine Import-Funktion aus dem WAB zu realisieren.

Zusätzlich bietet das Control weitere Funktionen:

Eine Demoanwendung für VB6 liegt dem Control bei.


Lizenzbedingungen

Disclaimer: KSWab-Control is provided "as is" with no warranty of any kind.

KSWab-Control ist nicht Freeware. Das Control ist jedoch in keiner Weise eingeschränkt. Sie dürfen es maximal 6 Wochen lang testen. Danach müssen Sie eine Lizenz erwerben, wenn Sie das Produkt weiterhin einsetzen wollen.

Eine Lizenz berechtigt Sie zum Einsatz auf einem Entwicklungsrechner. Auf diesem Rechner wird die Lizenzdatei "kswab.lic" installiert. Diese Lizenzdatei darf in keinem Fall weitergegeben werden.

Wenn Sie eine Lizenz erworben haben, dürfen Sie die Software, in welche Sie KSWab-Control eingebunden haben, beliebig oft weitergeben oder verkaufen; es fallen keine Runtime-Gebühren an. Zusammen mit Ihrer Software dürfen Sie dann die Datei "kswab.ocx" weitergeben.

Die Lizenz berechtigt Sie zu kostenlosen Updates aller kommenden Versionen von KSWab-Control.

Zahlungsweise:

Sie richten eine formlose Bestellung per Brief, Fax oder EMail an
Kroll-Software, Geßlerstr. 2, D-10829 Berlin
Tel.: +49-30-788 14 53
Fax: +49-30-787 11 282
Homepage: www.kroll-software.de
EMail: bestellung@kroll-software.de

Darauf erhalten Sie eine schriftliche Rechnung über den aktuellen Preis.
Nach Eingang des Rechnungsbetrages ist Ihre Version lizensiert.

Vor Ihrer Bestellung sollten Sie sich noch einmal über die aktuelle Version auf der Kroll-Software Homepage informieren.

Der Preis für die Version 1.x beträgt DM 148,- zuzügl. der gesetzl. MwSt.


Download

Die jeweils aktuelle Version können Sie unter www.kroll-software.de/download/kswabcontrol.zip downloaden. Beachten Sie, dass die unterschiedlichen Versionen denselben Dateinamen haben.

Weitere Infos zur aktuellen Version finden Sie unter www.kroll-software.de/produkte/


Installation

  1. Kopieren Sie kswab.ocx und kswab.lic in das gewünschte Verzeichnis
  2. Öffnen Sie die Windows Eingabeaufforderung
  3. Registrieren Sie das Control durch Eingabe von
    regsvr32.exe <Laufw:Pfad\>kswab.ocx

Die *.lic - Datei darf nur auf Ihren Entwicklungsserver kopiert werden. Geben Sie diese Datei nicht weiter.


Enumerations

Folgende Aufzählungstypen sind in der Typelib definiert:

wabSeekOptions

Konstante Wert Bemerkung
Seek_From_Beginning 0 Seek vom Anfang
Seek_From_Current 1 Seek von der aktuellen Position
Seek_From_End 2 Seek vom Ende

wabGenders

Konstante Wert Bemerkung
wab_Gender_Unknown 0 unbekanntes Geschlecht
wab_Gender_Female 1 weiblich
wab_Gender_Male 2 männlich

wabDefaultAddress

Konstante Wert Bemerkung
wab_Default_Address_Unknown 0 unbekannte Standard Adresse
wab_Default_Address_Private 1 Privat ist die Standard-Adresse
wab_Default_Address_Business 2 Geschäftlich ist die Standard-Adresse

wabFields

Die Konstantennamen sind selbsterklärend.
Vergleichen Sie die Registerkarten des WAB-Standarddialoges "Eigenschaften".

Konstante Wert Wab-Datentyp Wab-Konstante
wabf_Name_FirstName 1 PT_STRING8 PR_GIVEN_NAME
wabf_Name_SecondName 2 PT_STRING8 PR_MIDDLE_NAME
wabf_Name_LastName 3 PT_STRING8 PR_SURNAME
wabf_Name_Title 4 PT_STRING8 PR_DISPLAY_NAME_PREFIX
wabf_Name_DisplayName 5 PT_STRING8 PR_DISPLAY_NAME
wabf_Name_NickName 6 PT_STRING8 PR_NICKNAME
wabf_Name_EMail 7 PT_STRING8 PR_EMAIL_ADDRESS
wabf_Private_Street 8 PT_STRING8 PR_HOME_ADDRESS_STREET
wabf_Private_City 9 PT_STRING8 PR_HOME_ADDRESS_CITY
wabf_Private_State 10 PT_STRING8 PR_HOME_ADDRESS_STATE_OR_PROVINCE
wabf_Private_PostalCode 11 PT_STRING8 PR_HOME_ADDRESS_POSTAL_CODE
wabf_Private_Country 12 PT_STRING8 PR_HOME_ADDRESS_COUNTRY
wabf_Private_Phone 13 PT_STRING8 PR_HOME_TELEPHONE_NUMBER
wabf_Private_Fax 14 PT_STRING8 PR_HOME_FAX_NUMBER
wabf_Private_Mobile 15 PT_STRING8 PR_CELLULAR_TELEPHONE_NUMBER
wabf_Private_Homepage 16 PT_STRING8 PR_PERSONAL_HOMEPAGE
wabf_Business_Company 17 PT_STRING8 PR_COMPANY_NAME
wabf_Business_Street 18 PT_STRING8 PR_STREET_ADDRESS
wabf_Business_City 19 PT_STRING8 PR_LOCALITY
wabf_Business_State 20 PT_STRING8 PR_STATE_OR_PROVINCE
wabf_Business_PostalCode 21 PT_STRING8 PR_POSTAL_CODE
wabf_Business_Country 22 PT_STRING8 PR_COUNTRY
wabf_Business_Title 23 PT_STRING8 PR_TITLE
wabf_Business_Department 24 PT_STRING8 PR_DEPARTMENT_NAME
wabf_Business_Office 25 PT_STRING8 PR_OFFICE_LOCATION
wabf_Business_Phone 26 PT_STRING8 PR_BUSINESS_TELEPHONE_NUMBER
wabf_Business_Fax 27 PT_STRING8 PR_BUSINESS_FAX_NUMBER
wabf_Business_Pager 28 PT_STRING8 PR_PAGER_TELEPHONE_NUMBER
wabf_Business_IP_Phone 29 PT_STRING8 unknown 0x800a001e
wabf_Business_Homepage 30 PT_STRING8 PR_BUSINESS_HOMEPAGE
wabf_Personal_Gender 31 PT_I2 PR_GENDER
wabf_Personal_Birhday 32 PT_SYSTIME PR_BIRTHDAY
wabf_Object_Type 33 PT_LONG PR_OBJECT_TYPE
wabf_Record_Changed 34 PT_STRING8 unknown 0x30080040
wabf_Default_Address_Index 35 PT_STRING8 unknown 0x80110003
wabf_Address_Type 36 PT_STRING8 PR_ADDRTYPE
wabf_Contact_Email_Adresses 37 PT_MV_STRING8 PR_CONTACT_EMAIL_ADDRESSES
wabf_Contact_Address_Types 38 PT_MV_STRING8 PR_CONTACT_ADDRTYPES
wabf_Contact_Default_Address_Index 39 PT_LONG PR_CONTACT_DEFAULT_ADDRESS_INDEX
wabf_Send_Internet_Encoding 40 PT_LONG PR_SEND_INTERNET_ENCODING
wabf_Other_Comment 41 PT_STRING8 PR_COMMENT


Properties

Property Typ In/Out Default Bemerkung
RecordCount long read only 0 Anzahl der Datensätze
EOF Boolean read only True Dateiende


Methods

AboutBox()

Rückgabetyp: void
Parameter: keine
 
Zeigt die AboutBox.

 

OpenWab()

Rückgabetyp: Boolean
Parameter: Filename As String
 
Öffnet ein Windows-Adressbuch (*.wab).
Wenn kein Dateiname übergeben wird (Leerstring), wird das Standard-Adressbuch geöffnet.
Liefert True zurück, wenn die Aktion erfolgreich war.
Anschließend ist die Property RecordCount gültig.

 

CloseWab()

Rückgabetyp: void
Parameter: keine
 
Schließt das Adressbuch.
Wird automatisch aufgerufen, wenn die Instanz beendet wird.

 

SeekRow()

Rückgabetyp: Boolean
Parameter: Row As Long, SeekOption As wabSeekOptions
 
Springt zum ersten / nächsten / bestimmten Datensatz.

Beispiele:

OK = KSWab1.SeekRow(0, Seek_From_Beginning) Initialisierung nach OpenWab()
OK = KSWab1.SeekRow(1, Seek_From_Currrent) jeweils nächster Datensatz, solange EOF=False
OK = KSWab1.SeekRow(n, Seek_From_Beginning) n-ter Datensatz

 

GetField()

Rückgabetyp: VARIANT
Parameter: PropertyTag As wabFields
 
Liest ein bestimmtes Feld aus dem aktuellen Datensatz.

Beispiele:

S = KSWab1.GetField(wabf_Name_DisplayName) Liest das Feld DisplayName
(Datentyp Variant/String)
V = KSWab1.GetField(wabf_Contact_Email_Adresses)

S = ""
If Not IsEmpty(V) Then
    For i = 0 To UBound(V)
        S = S & V(i) & ";"
    Next
End If

Liest die Liste der EMail-Adressen
(Datentyp Variant/Array)

Anschließend wird durch Liste iteriert.

 

GetFieldEx()

Rückgabetyp: VARIANT
Parameter: PropType As long, PropID As long
 
Wie GetField().

Anstelle der Feldkonstanten wird ein PropType und eine PropID übergeben. Dadurch können Sie weitere Felder auslesen, sofern diese im Datensatz vorhanden sind. Weiteres dazu finden Sie im MSDN und in den entsprechenden C++ Headerdateien zur WAB-API (wab*.h). Da für alle wichtigen Felder Konstanten definiert sind, werden Sie diese Funktion nur in Ausnahmen benötigen.

Beispiele:

S = KSWab1.GetFieldEx(&H1E, &H3A51)

ist equivalent zu

S = KSWab1.GetField(wabf_Business_Homepage)

 

ShowStandardDialog()

Rückgabetyp: void
Parameter: ParentHwnd As long
 
Öffnet den Standarddialog Eigenschaften zum aktuellen Datensatz.
Der Datensatz kann darin bearbeitet werden.

Beispiel:

If KSWab1.SeekRow(Row, Seek_From_Beginning) Then
    KSWab1.ShowStandardDialog Me.hWnd
Else
    MsgBox "Invalid Row.", vbExclamation
End If

 

NewEntryDialog()

Rückgabetyp: void
Parameter: ParentHwnd As long
 
Öffnet den Standarddialog zum Anlegen eines neuen Datensatzes.

Beispiel:

KSWab1.NewEntryDialog Me.hWnd

 

DeleteEntry()

Rückgabetyp: void
Parameter: keine
 
Löscht den aktuellen Datensatz.

 


Beispielcode

VisualBasic

Dem Control ist ein VB6 Beispielprojekt beigelegt.

Das Control wurde mit dem Menüpunkt "Projekt / Komponenten" in das Projekt eingebunden. Das Control wurde aus dem Werkzeugkasten in die Form gezogen.

Typische Schritte:

  1. Aufruf von OpenWab ""
  2. Aufruf der Methode .SeekRow(0, Seek_From_Beginning)
  3. Testen auf Property EOF
  4. Auslesen der Felder mit GetFields()
  5. Aufruf von .SeekRow(1, Seek_From_Currrent)
  6. Weiter ab (3) bis EOF=True
  7. Schließen des Adressbuches mit CloseWab()

 
--- Ende ---