[NF] World class enterprise system in X#

2019-12-03 Thread Johan Nel
Azyra Systems report that their large scale Enterprise System used by 
100+ logistics businesses in 12 countries is now built with X# as the 
principal language and Microsoft Sql Server as the database.


Jimmy Cahill, Joint CEO of Azyra, told us

/“We are delighted with the unrivalled coding efficiency, compilation 
speed and runtime performance. X# not only allowed us to modernise our 
tried and tested code and business logic but put us at the forefront of 
everything IT.” /


/“We freely mix X# and C# giving our development team access to 
everything they need to race ahead of our competition. For example, 
we’ve moved the GUI to WPF and our designers are busy adding charts and 
dashboards everywhere for visual appeal and to give our //clients 
immediate insights to their business.”/


/“The X# Team have done a magnificent professional job of building on 
and completing the work done by generations of the xBase community. They 
have set the scene for the xBase syntax to be recognised as a much more 
efficient and elegant language than C# - and by far the best language 
for teaching object orientated development.”/




--- StripMime Report -- processed MIME parts ---
multipart/alternative
 text/plain (text body -- kept)
 text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/0e3eb6b5-54c5-7ce4-4c18-a49766024...@xsinet.co.za
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

World class enterprise system in X#

2019-12-03 Thread Johan Nel
Azyra Systems report that their large scale Enterprise System used by 
100+ logistics businesses in 12 countries is now built with X# as the 
principal language and Microsoft Sql Server as the database.


Jimmy Cahill, Joint CEO of Azyra, told us

/“We are delighted with the unrivalled coding efficiency, compilation 
speed and runtime performance. X# not only allowed us to modernise our 
tried and tested code and business logic but put us at the forefront of 
everything IT.” /


/“We freely mix X# and C# giving our development team access to 
everything they need to race ahead of our competition. For example, 
we’ve moved the GUI to WPF and our designers are busy adding charts and 
dashboards everywhere for visual appeal and to give our //clients 
immediate insights to their business.”/


/“The X# Team have done a magnificent professional job of building on 
and completing the work done by generations of the xBase community. They 
have set the scene for the xBase syntax to be recognised as a much more 
efficient and elegant language than C# - and by far the best language 
for teaching object orientated development.”/




--- StripMime Report -- processed MIME parts ---
multipart/alternative
 text/plain (text body -- kept)
 text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/b7518656-4272-cedb-6bc2-94c7df653...@xsinet.co.za
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Programatically saving the Outlook signature when using automation code

2019-12-03 Thread MB Software Solutions, LLC
Problem:  need to preserve Customer's email signature in Outlook 
automation code.  Tech:  VFP9SP2 app using the latest Outlook client.


This is an update to the 8/21/2019 thread I started about using Outlook 
to create an email with file attachments.  Got that code working (see 
below) but now need to find a way to preserve the customer's Outlook 
email signature.  As the code is below, it creates a blank email and 
does NOT use their signature.  I'm going to research this with fresh 
eyes tomorrow but wanted to throw this out in case others could chime in.


        * start outlook
        LOCAL oOutlook as Outlook.Application, oNamespace as 
Outlook.NameSpace, oMailItem as Outlook.MailItem, lcFilename as String, 
lcRange as String, llOK as Logical, lcDir as String

        LOCAL oRecipient as Outlook.Recipient
        oOutlook = CREATEOBJECT("Outlook.Application")
        #DEFINE olFolderDisplayNormal 0
        #DEFINE olMailItem 0
        #DEFINE olCC 2
        #DEFINE olBCC 3
        #DEFINE olOriginator 0
        #DEFINE olTo 1
        oNameSpace = oOutlook.GetNameSpace("MAPI")
        oExplorer = 
oOutlook.Explorers.Add(oNameSpace.Folders[1],olFolderDisplayNormal)

        oMailItem = oOutlook.CreateItem(olMailItem)
        WITH oMailItem
            .Subject = ALLTRIM(this.txtSubject.Value)
            .Body = ALLTRIM(this.edtBody.Value)
            *** mjb 10/21/2019 - added defensive coding for L vs. N and 
empty too
            IF ((VARTYPE(this.chkEmail.Value)="L" AND 
this.chkEmail.Value) OR (VARTYPE(this.chkEmail.Value)="N" AND 
this.chkEmail.Value = 1)) AND NOT EMPTY(this.txtEmail.Value) THEN

                .Recipients.Add(ALLTRIM(this.txtEmail.Value))
            ENDIF
            *** mjb 10/21/2019 - added CC
            IF ((VARTYPE(this.chkSRep.Value)="L" AND 
this.chkSRep.Value) OR (VARTYPE(this.chkSRep.Value)="N" AND 
this.chkSRep.Value = 1)) AND NOT EMPTY(this.txtSalesRepEmail.Value) THEN
                oRecipient = 
.Recipients.Add(ALLTRIM(this.txtSalesRepEmail.Value))

                oRecipient.Type = olCC
            ENDIF
            * first add the built PDF from MergeDocuments above
            IF liCnt > 0 THEN
                .Attachments.Add(lcFile)
            ENDIF && liCnt > 0
            * any non-PDFs to attach?
            SELECT curEmailThese
            SCAN FOR UPPER(JUSTEXT(cfilename)) <> "PDF"
.Attachments.Add(ADDBS(ALLTRIM(curEmailThese.cpath))+ALLTRIM(curEmailThese.cfilename))
            ENDSCAN

            .Display() && Save()
            *.Send()
        ENDWITH


___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/df8c1535-8e2f-7708-82c4-8d69907f4...@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: AW: Calling code in parent's parent class

2019-12-03 Thread Eric Selje
Same. Code smell.

On Tue, Dec 3, 2019 at 10:19 AM MB Software Solutions, LLC <
mbsoftwaresoluti...@mbsoftwaresolutions.com> wrote:

> I would agree that it seems kludgey.  Worked for a "genius" last gig and
> he used it and it was amazing to see it in action operate easily but my
> spidey sense said "yeah, no...I don't like it."
>
> On 12/3/2019 11:10 AM, Jürgen Wondzinski wrote:
> > Sounds a little bit like "bad design", but if life demands such
> > constructs
> >
> > You can always get the code from the upmost level by using the
> "QuatroDot"
> > operator  ::
> > like  class::MyMethod()
> >
> > If you would need one in between, then you need to do some clever IF
> > branching in the beginning of each level's code by providing a parameter
> > when calling the method:
> >
> > PROC MyMethod
> > LPARAMETER lSkipIt
> > IF lSkipIt
> >   RETURN DODEFAULT()
> > ENDIF
> > && regular code goes here
> >
> >
> > wOOdy
> >
> >
> > -Ursprüngliche Nachricht-
> > Von: ProFox  Im Auftrag von Paul Newton
> > Gesendet: Dienstag, 3. Dezember 2019 17:00
> > An: 'profox@leafe.com' 
> > Betreff: Calling code in parent's parent class
> >
> > Hi all
> > Let's say that I have the following situation:
> >
> > GreatGrandParent -> GrandParent -> Parent -> Class
> >
> > In Class I want to bypass the code in Parent but call the code in either
> > GrandParent OR GreatGrandParent.
> >
> > Is this possible and, if so, how?  Many thanks
> >
> > Paul Newton
> >
> >
> >
> > --- StripMime Report -- processed MIME parts --- multipart/alternative
> >text/plain (text body -- kept)
> >text/html
> > ---
> >
[excessive quoting removed by server]

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/CAAwxvUmn2urq_Qi0Na=u9fj2vdrc6g2vkyfju_6ej_fcask...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: AW: Calling code in parent's parent class

2019-12-03 Thread MB Software Solutions, LLC
I would agree that it seems kludgey.  Worked for a "genius" last gig and 
he used it and it was amazing to see it in action operate easily but my 
spidey sense said "yeah, no...I don't like it."


On 12/3/2019 11:10 AM, Jürgen Wondzinski wrote:

Sounds a little bit like "bad design", but if life demands such
constructs

You can always get the code from the upmost level by using the "QuatroDot"
operator  ::
like  class::MyMethod()

If you would need one in between, then you need to do some clever IF
branching in the beginning of each level's code by providing a parameter
when calling the method:

PROC MyMethod
LPARAMETER lSkipIt
IF lSkipIt
RETURN DODEFAULT()
ENDIF
&& regular code goes here


wOOdy


-Ursprüngliche Nachricht-
Von: ProFox  Im Auftrag von Paul Newton
Gesendet: Dienstag, 3. Dezember 2019 17:00
An: 'profox@leafe.com' 
Betreff: Calling code in parent's parent class

Hi all
Let's say that I have the following situation:

GreatGrandParent -> GrandParent -> Parent -> Class

In Class I want to bypass the code in Parent but call the code in either
GrandParent OR GreatGrandParent.

Is this possible and, if so, how?  Many thanks

Paul Newton



--- StripMime Report -- processed MIME parts --- multipart/alternative
   text/plain (text body -- kept)
   text/html
---


[excessive quoting removed by server]

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/910cc082-f32f-b4f9-f2e6-07d9c7272...@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

RE: Calling code in parent's parent class

2019-12-03 Thread Paul Newton
Many thanks to everybody who has replied - I had come across the :: operator 
many moons ago but had forgotten about it.
Paul Newton

-Original Message-
From: ProfoxTech  On Behalf Of Jürgen Wondzinski
Sent: 03 December 2019 16:10
To: profoxt...@leafe.com
Subject: AW: Calling code in parent's parent class

Sent by an external sender
--

Sounds a little bit like "bad design", but if life demands such constructs

You can always get the code from the upmost level by using the "QuatroDot"
operator  ::
like  class::MyMethod()

If you would need one in between, then you need to do some clever IF branching 
in the beginning of each level's code by providing a parameter when calling the 
method:

PROC MyMethod
LPARAMETER lSkipIt
IF lSkipIt
RETURN DODEFAULT()
ENDIF
&& regular code goes here


wOOdy


-Ursprüngliche Nachricht-
Von: ProFox  Im Auftrag von Paul Newton
Gesendet: Dienstag, 3. Dezember 2019 17:00
An: 'profox@leafe.com' 
Betreff: Calling code in parent's parent class

Hi all
Let's say that I have the following situation:

GreatGrandParent -> GrandParent -> Parent -> Class

In Class I want to bypass the code in Parent but call the code in either 
GrandParent OR GreatGrandParent.

Is this possible and, if so, how?  Many thanks

Paul Newton



--- StripMime Report -- processed MIME parts --- multipart/alternative
  text/plain (text body -- kept)
  text/html
---

[excessive quoting removed by server]

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/by5pr02mb685250eaf77362d16c71af04a1...@by5pr02mb6852.namprd02.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


AW: Calling code in parent's parent class

2019-12-03 Thread Jürgen Wondzinski
Sounds a little bit like "bad design", but if life demands such
constructs

You can always get the code from the upmost level by using the "QuatroDot"
operator  ::
like  class::MyMethod()

If you would need one in between, then you need to do some clever IF
branching in the beginning of each level's code by providing a parameter
when calling the method:

PROC MyMethod
LPARAMETER lSkipIt
IF lSkipIt
RETURN DODEFAULT()
ENDIF
&& regular code goes here


wOOdy


-Ursprüngliche Nachricht-
Von: ProFox  Im Auftrag von Paul Newton
Gesendet: Dienstag, 3. Dezember 2019 17:00
An: 'profox@leafe.com' 
Betreff: Calling code in parent's parent class

Hi all
Let's say that I have the following situation:

GreatGrandParent -> GrandParent -> Parent -> Class

In Class I want to bypass the code in Parent but call the code in either
GrandParent OR GreatGrandParent.

Is this possible and, if so, how?  Many thanks

Paul Newton



--- StripMime Report -- processed MIME parts --- multipart/alternative
  text/plain (text body -- kept)
  text/html
---

[excessive quoting removed by server]

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/00b901d5a9f4$2c73f950$855bebf0$@wondzinski.de
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Re: Calling code in parent's parent class

2019-12-03 Thread MB Software Solutions, LLC
Hmmm...See :: Scope Resolution Operator in VFP help.  That references 
calling the PARENT but not sure how you'd leapfrog back 2+ levels.  I'm 
sure the Foxperts here will answer shortly.



On 12/3/2019 11:00 AM, Paul Newton wrote:

Hi all
Let's say that I have the following situation:

GreatGrandParent -> GrandParent -> Parent -> Class

In Class I want to bypass the code in Parent but call the code in either 
GrandParent OR GreatGrandParent.

Is this possible and, if so, how?  Many thanks

Paul Newton



--- StripMime Report -- processed MIME parts ---
multipart/alternative
   text/plain (text body -- kept)
   text/html
---


[excessive quoting removed by server]

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/1a770ac9-afa4-866c-6c4b-cbcadbdb5...@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Re: Calling code in parent's parent class

2019-12-03 Thread Christof Wollenhaupt
> Let's say that I have the following situation:
> 
> GreatGrandParent -> GrandParent -> Parent -> Class
> 
> In Class I want to bypass the code in Parent but call the code in either 
> GrandParent OR GreatGrandParent.

GrandParent::Method ()

-- 
Christof
___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/f76db487-bdea-4050-9dd6-e15103875...@wollenhaupt.org
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.


Calling code in parent's parent class

2019-12-03 Thread Paul Newton
Hi all
Let's say that I have the following situation:

GreatGrandParent -> GrandParent -> Parent -> Class

In Class I want to bypass the code in Parent but call the code in either 
GrandParent OR GreatGrandParent.

Is this possible and, if so, how?  Many thanks

Paul Newton



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

___
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/by5pr02mb68526ec507292fde4cefd9d8a1...@by5pr02mb6852.namprd02.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.