LEVEL 3 - The  4gl - PAGE 3

 

 

 Enduser4gl Web site
Bergougnoux Consulting
Enduser4gl Project
EndUser4gl Objectives
Enduser4gl  Presentation
Level 1 - The EndUser4gl -
Level 2 - Les User4gl -
Level 3 - The 4gl -
EndUser4gl Applications Download
EndUser4gl Sponsor
EndUser4gl Research
EndUser4gl  Licence
EndUser4gl FAQ
EndUser4gl Participation

 

 

  Recall :

Liste de la compilation Enduser4gl : programs

Liste de la compilation EndUser4gl : Tokens

Liste de la compilation EndUser4gl : KeyWord

Liste de la compilation EndUser4gl : Lexical

Liste de la compilation EndUser4gl : Rules

Liste de la compilation EndUser4gl : Relation

Liste de la compilation EndUser4gl : Codes execution

Liste de la compilation EndUser4gl : execute.cpp 

Depiler   Alnum:

Depiler   String

Depiler   Long

Depiler   Double

Depiler   Float

 Depiler   Integer 

 

Warning :

 All new instructions

created by you even

are valid that on your

computer

You do not have any right of

marketing of

EndUser4gl even in the event of

 

replication of

EndUser4gl.exe

under another name.  

 

If you wish to publish

your instructions:  

Contact:  

bergoux@wanadoo.fr

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Level 4gl : Page 1   >   Level 4gl : Page 2


 PAGE 3  :    TO TAKE PART A EVOLUTION OF ENDUSER4GL

 

 

*

EndUser4gl Tools : Enduser4gl.lib,EndUser4gl.dsw,endusercompif.cpp,execute.cpp,opcdefine.h, etc...

The path of the project : c:\endUser4gl\4gl\bin\User4gl\Enduser4gl\EndUser4gl.dsw

The program of EndUser4gl.exe is in the repertory :    c:\EndUser4gl\4gl\bin\EndUser4gl.exe. CIt's obligatary

With each new compilation of your codes executions, you must  transfer the new program : c:\endUser4gl\4gl\bin\User4gl\Enduser4gl\debug\EndUser4gl.exe

s in the repertory c:\EndUser4gl\4gl\bin\EndUser4gl.exe.

The few examples presented are included in the option of  remote loading.  

These examples show you the possiblities to include in ENDUSER4GL all  components MFC, WIN32, ATL, COM, DCOM, etc

compiler of Microsoft Visual 6.0.  IN YOUR TURN, TEST ENDUSER4GL....  

Examples of sources program CPP of ENDUSER4GL :

Instructions EndUser4gl : Calendar() :   It's one Control ActiveX de Microsoft : Calendar 8.0 :

ActiveXDialog.cpp    ActiveXDialog.h   calendar.h   calendar.cpp

long EndUser4glApp::OPCExecute_Calendar(long OPCcodeExe) 
  {      switch(OPCcodeExe)
{    case 
            CodeExeCalendar  :  
                
 OPC_Depile_All(); 
  Calendar();                        break;
int  Calendar(void)
{ 
       CActiveXDialog dlg;
        dlg.m_BackColor      = RGB(151, 184, 160); // light yellow
        COleDateTime  today = COleDateTime::GetCurrentTime();
        dlg.m_varValue  = COleDateTime(today.GetYear(), today.GetMonth(),
                              today.GetDay(), 0, 0, 0);
        if   (dlg.DoModal() == IDOK)
        {   COleDateTime  date(dlg.m_varValue);
                                AfxMessageBox(date.Format("%B  %d, %Y"));
        }
  return 
            0;
}

 Instructions EndUser4gl : Connect_MsExcel,Connect_MsWord etc. :   COleDispatchDriver default constructor :

 excel8.h  excel8.cpp   msword8.h msword8.cpp

 LPDISPATCH lpDispWord;

    _Document testDocAdd=NULL;

         _Document testDocOpen=NULL;

         Documents docs;

 RangeWord objRange=NULL;

   COleVariant

                   covTrue((short)TRUE),

                   covFalse((short)FALSE),

                  covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

 

  long EndUser4glApp::OPCExecute_Word(long OPCcodeExe) 
{  MSG msg;
  char zone1[C_CMP_TAILLE_NOM_DICT] = "\0";
  char zone2[C_CMP_TAILLE_NOM_DICT]= "\0";
  char valeur1 [MAXBUFLENSTRING] = "\0";
   int ReturnOpc    ;
  int Ival=0,a,b, d = 0,i=0    ;
  long  Lval = 0,Lval2  ;
    int NumberDialog , NumWin ;
     char far *pvaleur  ;  
switch(OPCcodeExe)
{ 
   case CodeExeConnectWord  :
                   OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* attn : ***NULL*/
                   OPCF_Pile_Depile( P_LONG, (void *)&Lval )  ;
               OPCF_Pile_Depile( P_NAMEVAR, (void *)zone1); /* attn : ***NULL*/
                        OPCF_Pile_Depile( P_STRING, (void *)valeur1);
                      OPC_Depile_All();
                           if(_access(valeur1,0) == 0)
                                 WordAccess(valeur1,Lval);
                          else{         OkMsgBox(
                        "  EndUser4gl                 ", \
                        "File not find/non trouvé : %s",valeur1) ;
                                        return EUError;
                          }
                         break;

 void WordAccess(char *FileWord,long visible)

{   HRESULT hr = CoInitialize(NULL);

   _ASSERTE(SUCCEEDED(hr));

     try

      {

       // Get the IDispatch pointer and attach it to the objWord object.

         if(!app.CreateDispatch("Word.Application"))

        {

        AfxMessageBox("Couldn't CreateDispatch on Word");

         return;

        }

            // Set visible.

      app.SetVisible(TRUE);

          POSITION  pos = AfxGetApp()->GetFirstDocTemplatePosition();

 

      Documents docs(app.GetDocuments());

                testDocOpen.AttachDispatch(docs.Open(

                               COleVariant(FileWord,VT_BSTR),

                         covFalse,    // Confirm Conversion.

                            covFalse,    // ReadOnly.

                             covFalse,    // AddToRecentFiles.

                           covOptional, // PasswordDocument.

                            covOptional, // PasswordTemplate.

                             covFalse,    // Revert.

                             covOptional, // WritePasswordDocument.

                             covOptional, // WritePasswordTemplate.

                             covOptional) // Format.

                         ); etc...

Instructions EndUser4gl : MiniCalendar() de Matt Gullett. :   CWnd, CDialog de MFC::

/MiniCalendar_Demo.zip

 long EndUser4glApp::OPCExecute_Calendar(long OPCcodeExe)

{  MSG msg;

  char zone1[C_CMP_TAILLE_NOM_DICT] = "\0";

  char zone2[C_CMP_TAILLE_NOM_DICT]= "\0";

  char valeur1 [MAXBUFLENSTRING] = "\0";

   int ReturnOpc    ;

  int Ival=0,a,b, d = 0,i=0    ;

  long  Lval = 0,Lval2  ;

    int NumberDialog , NumWin ;

      

switch(OPCcodeExe)

{

   case CodeExeMiniCalendar  :

                              OPC_Depile_All();

                                        MiniCalendar();

                        break;

 

          default :

                        return  EUError;//return                        EU_Error_Code_Exe(OPCcodeExe);  /* execute.c */

        }

    

  return 0;

}  

int MiniCalendar(void)

{  CMiniCalendarDlg dlg;

        int nResponse = dlg.DoModal();

        if (nResponse == IDOK)

        {

                // TODO: Place code here to handle when the dialog is

                //  dismissed with OK

        }

  else if (nResponse == IDCANCEL)

        {

                // TODO: Place code here to handle when the dialog is

                //  dismissed with Cancel

        }

        return 0; }

Instructions EndUser4gl : GIf Animed of de Oleg Bykov. :   COM, ATL de MFC:

PictureExWnd_demoATL.zip

Instructions EndUser4gl : OpendDialog(...), SwapColor  ButtonRegion etc.. :   Win32 API Windows:

Exewinob.cpp               Iconbmp.cpp

 Instructions EndUser4gl : ExecuteSQLDialog{ACCESS},QueryDialog("...:  ODBC:

 

Sql.cpp

Et bien d'autres exemples MAPI, WEBBROWSER (voir option de téléchargement)...+

Demain votre PARTICIPATION HTML,SECURITE,XML, NET etc. !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 Example of implementation :

 

 

 

 


Bergougnoux Consulting

14 rue Jean Moulin 37550 St Avertin, Tours FRANCE.

Copyright (c) 2001-2004 Enduser4gl,

Tous droits réservés.  All rights reserved

fax : 00 33 2 47 28 58 19

contact@enduser4gl.com