Test Mapi
Moderator: Moderatoren
Test Mapi
Hallo zusammen,
ich habe gerade mal Test Mapi in Betrieb genommen. Hat auf Anhieb funktioniert und arbeitet mit Thunderbird zusammen.
ich habe mir mal den Code angeschaut, also die Klasse und die Include Datei. das ist schon recht komplex.
===================================================
result:= @kernel32:GetCurrentDirectoryW (0,0)
Dieser Syntax eines DLL-Aufrufes wird anscheinend in der Include Datei realisiert. So ganz verstanden habe ich das allerdings nicht
nf := nOr(nf,0x1000)
Diese Funktion NOR ist sehr praktisch. Ich habe allerdings nicht herausgefunden, wo sie definiert wurde. Steckt die vieleicht in der Lib drin ?
Gruss
Achim
ich habe gerade mal Test Mapi in Betrieb genommen. Hat auf Anhieb funktioniert und arbeitet mit Thunderbird zusammen.
ich habe mir mal den Code angeschaut, also die Klasse und die Include Datei. das ist schon recht komplex.
===================================================
result:= @kernel32:GetCurrentDirectoryW (0,0)
Dieser Syntax eines DLL-Aufrufes wird anscheinend in der Include Datei realisiert. So ganz verstanden habe ich das allerdings nicht
nf := nOr(nf,0x1000)
Diese Funktion NOR ist sehr praktisch. Ich habe allerdings nicht herausgefunden, wo sie definiert wurde. Steckt die vieleicht in der Lib drin ?
Gruss
Achim
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Test Mapi
Woher kommt das Beispiel?
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Re: Test Mapi
das ist das Testmapi Tool
ot4xb_001_006_004_049.zip
TestMAPI.zip
Copyright (c) 2004 - 2017 Pablo Botella Navarro
mit dem Teil koennen eMails ueber den vorhandenen eMail Client incl. Anhaenge verschickt werden. Den Tipp fuer dieses Tool hatt ich dieses Jahr hier im Forum bekommen und bin aktuell dabei, es zu implementieren.
Gruss
ot4xb_001_006_004_049.zip
TestMAPI.zip
Copyright (c) 2004 - 2017 Pablo Botella Navarro
mit dem Teil koennen eMails ueber den vorhandenen eMail Client incl. Anhaenge verschickt werden. Den Tipp fuer dieses Tool hatt ich dieses Jahr hier im Forum bekommen und bin aktuell dabei, es zu implementieren.
Gruss
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Test Mapi
Da kann ich natürlich lange in den Alaska-Samples suchen. Woher soll ich wissen, daß das ot4xb ist?
Ich nehme also mal an, das die gesuchte NOR-Funktion damit auch in der ot4xb liegt.
Jan
Ich nehme also mal an, das die gesuchte NOR-Funktion damit auch in der ot4xb liegt.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Test Mapi
Code: Alles auswählen
result:= @kernel32:GetCurrentDirectoryW (0,0)
der Name nOr() ist wohl die Abkürzung der XbToolsIII Funktion NumOr()OT4XB Anleitung hat geschrieben: Navigation: Reference > Functions By Category > Bitwise >
nOr() Performs a bitwise OR ( | ) operation betwen two or more 32 bit integers.
Syntax: nOr( <nInt1> , ..., <nIntN> )
in pur Xbase++ sollte bor() das Gleiche sein.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Test Mapi
bor() wie in dem Beispiel kann man verwenden, da ...
nWert := 12345
eine INTEGER Zahl im Speicher erzeugt.
Mit BOR() kann man dann eine Integermaske darüber legen und das Ergebnis wird 0 wenn die Bits falsch ergeben ...
Allerdings wird das meist mit DEFINE Konstanten verglichen ...
nf := nOr(nf,0x1000)
0x1000 => 1000 HEX (die Zahl nach 0FFF)
nWert := 12345
eine INTEGER Zahl im Speicher erzeugt.
Mit BOR() kann man dann eine Integermaske darüber legen und das Ergebnis wird 0 wenn die Bits falsch ergeben ...
Allerdings wird das meist mit DEFINE Konstanten verglichen ...
nf := nOr(nf,0x1000)
0x1000 => 1000 HEX (die Zahl nach 0FFF)
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Test Mapi
Neuerdings ( so ab der 1.90 wenn ich mich richtig entsinne) geht das auch direkt (Beispiel aus der Hilfe zu []):
Code: Alles auswählen
// This example shows how the index operator can be
// used with values of data type Numeric.
PROCEDURE Main
LOCAL n
? n := 6 // result: 6
? n[1] // result: .F. (bit for 2^0 not set)
? n[2] // result: .T. (bit for 2^1 is set)
? n[3] // result: .T. (bit for 2^2 is set)
n[1] := .T. // setting bit for 2^0
? n // result: 7
RETURN
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16508
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Test Mapi
Aber nur bei local-Variablen
Viele Grüße,
Martin
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Re: Test Mapi
Mein Post bezuwglich der Rundungsdifferenzen ist in den falschen thread geraten. Ich kann den vermutlich nicht verschieben ?
gruss
gruss
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Test Mapi
wir können
Ich hab den Beitrag zu den Rundungsfehlern verschoben.
PS: Danke Martin, hatte ich vergessen, da ich eigentlich nur mit Local arbeite
Ich hab den Beitrag zu den Rundungsfehlern verschoben.
PS: Danke Martin, hatte ich vergessen, da ich eigentlich nur mit Local arbeite
Gruß
Hubert
Hubert
Re: Test Mapi
Hallo Brandelh,
ich habe gerade die Anleitung zu ot4xb gefunden und heruntergeladen. Die ist anscheinend nicht Teil des Programm Paketes. Da steht alles drin.
Danke fuer den Hinweis.
Gruss
ich habe gerade die Anleitung zu ot4xb gefunden und heruntergeladen. Die ist anscheinend nicht Teil des Programm Paketes. Da steht alles drin.
Danke fuer den Hinweis.
Gruss
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Test Mapi
ja das ist Pablos Syntax.Statler hat geschrieben: ↑Di, 03. Apr 2018 11:28Code: Alles auswählen
result:= @kernel32:GetCurrentDirectoryW (0,0)
zunächst kommt @ mit dem DLL Namen also @kernel32
danach kommt dann der API Function Name mit den Parametern
Code: Alles auswählen
:GetCurrentDirectoryW (0,0)
wie Hubert schon sagte ist es das selbe wie bOR() womit man Konstanten "addiert" (getrennt durch Komma)Statler hat geschrieben:Code: Alles auswählen
nf := nOr(nf,0x1000)
Code: Alles auswählen
nStyle := nOr(nStyle, BS_PUSHLIKE,BS_CENTER,BS_VCENTER)
gruss by OHR
Jimmy
Jimmy
Re: Test Mapi
Hallo zusammen,
dieser oft unnoetige Zugriff auf Systhem-Dll's ist meiner Meinung nach nicht gut. Die meisten Dinge sind in Xbase bereits realisiert, man koennte Sie also einfach nutzen, und hat dann die Garantie, das die Sachen auch, unabhaengig vom Betriebssysthem, funktionieren.
Wenn schon DLl Zugriffe, dann sollte man die auch an zentraler Stelle sammeln und via Funktionsaufruf benutzen. Falls es mal Aerger geben sollte, kann dieser dann ueber einen zentralen Workaround beseitigt werden.
Ansonsten ist die Mapi Toolbox schon klasse und gehoert eigentlich in den Xbase Standart rein. Mails zu verschicken aus der Applikation heraus ist ja heutzutage nicht gerade exotisch. Das lokale eMail Programm zu nutzen ist meiner Meinung nach wesentlich besser als via SMTP-Zugriff zu kommunizieren. Fuer den Anwender ist das zudem transparent, da er sieht, was rausgegangen ist.
Gruss
dieser oft unnoetige Zugriff auf Systhem-Dll's ist meiner Meinung nach nicht gut. Die meisten Dinge sind in Xbase bereits realisiert, man koennte Sie also einfach nutzen, und hat dann die Garantie, das die Sachen auch, unabhaengig vom Betriebssysthem, funktionieren.
Wenn schon DLl Zugriffe, dann sollte man die auch an zentraler Stelle sammeln und via Funktionsaufruf benutzen. Falls es mal Aerger geben sollte, kann dieser dann ueber einen zentralen Workaround beseitigt werden.
Ansonsten ist die Mapi Toolbox schon klasse und gehoert eigentlich in den Xbase Standart rein. Mails zu verschicken aus der Applikation heraus ist ja heutzutage nicht gerade exotisch. Das lokale eMail Programm zu nutzen ist meiner Meinung nach wesentlich besser als via SMTP-Zugriff zu kommunizieren. Fuer den Anwender ist das zudem transparent, da er sieht, was rausgegangen ist.
Gruss
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Test Mapi
System-APIs sind genau die Teile, die M$ vorgesehen hat
Die allermeisten Xbase++ Befehle nutzen direkt die System-APIs (intern).
Für andere Zwecke braucht man andere DLLs (Excel Dateien ohne Excel, PDF verwalten etc.),
ob man dann die Syntax von Pablo im Quellcode streut oder lieber eigene Funktionen oder Klassen schreibt (wie ich)
hängt vom Geschmack ab. Pablo nutzt das so wie es unter C üblich ist, ich mag es lieber einfacher
Insoweit stimme ich dir zu ist es für uns besser alles thematisch zu sammeln.
Die allermeisten Xbase++ Befehle nutzen direkt die System-APIs (intern).
Für andere Zwecke braucht man andere DLLs (Excel Dateien ohne Excel, PDF verwalten etc.),
ob man dann die Syntax von Pablo im Quellcode streut oder lieber eigene Funktionen oder Klassen schreibt (wie ich)
hängt vom Geschmack ab. Pablo nutzt das so wie es unter C üblich ist, ich mag es lieber einfacher
Insoweit stimme ich dir zu ist es für uns besser alles thematisch zu sammeln.
Gruß
Hubert
Hubert