Page 1 of 1

Includes en .prg (SOLUCIONADO)

Posted: Thu Nov 01, 2018 3:26 pm
by Compuin
Buenas tardes

Es posible agregar las definiciones de una archivo .ch (Include) en el .prg para asi no tener que agregar el mismo en los includes de FWH ? Si es posible, algun ejemplo ?

Atento a sus comentarios

Re: Includes en .prg

Posted: Thu Nov 01, 2018 5:10 pm
by karinha
Te basta crear un único archivo.ch y en el agregar todos los includes.ch del proyecto.

Ejemplo:

Code: Select all

#Include "Fivewin.Ch"
#Include "Dll.ch"
#include "dbinfo.ch"
#Include "FastReph.Ch"
#Include "Directry.ch"
#Include "DSay.Ch"
#include "fileio.ch"
#include "Image.ch"
#Include "Mail.Ch"
#Include "Ord.Ch"
#Include "Report.Ch"
#Include "SSay.Ch"
#Include "URLLink.ch"
// colores
#Define CLR_LGRAY      nRGB( 230, 230, 230 )
#Define CLR_LGREEN     nRGB( 190, 215, 190 )
#Define CLR_VERMELHO   nRGB( 255, 000, 000 )
#Define CLR_AMARELO    nRgb( 255, 255, 000 )
#Define CLR_BOMBOM     nRGB( 000, 000, 000 )
#Define CLR_MARROM     nRGB( 135, 206, 250 )
#Define CLR_MENTA      nRGB( 221, 255, 238 )
#Define CLR_HMENTA     nRGB( 000, 128, 000 )
#Define CLR_SOFTYELLOW nRGB( 255, 251, 225 )
#Define COLOR_BTNFACE  15

#Define TRUE  .T.
#Define FALSE .F.

#Define PAD_LEFT            0
#Define PAD_RIGHT           1
#Define PAD_CENTER          2

#Define SW_SHOWMAXIMIZED 3

#ifndef XPP
   #define  HKEY_CLASSES_ROOT       2147483648
   #define  HKEY_CURRENT_USER       2147483649
   #define  HKEY_LOCAL_MACHINE      2147483650
   #define  HKEY_USERS              2147483651
   #define  HKEY_PERFORMANCE_DATA   2147483652
   #define  HKEY_CURRENT_CONFIG     2147483653
   #define  HKEY_DYN_DATA           2147483654
#else
   #define  HKEY_CLASSES_ROOT       1
   #define  HKEY_CURRENT_USER       2
   #define  HKEY_LOCAL_MACHINE      3
   #define  HKEY_USERS              4
   #define  HKEY_PERFORMANCE_DATA   5
   #define  HKEY_CURRENT_CONFIG     6
   #define  HKEY_DYN_DATA           7
#endif

#define SUCCESS_SUCCESS                      0
#define MAPI_USER_ABORT                      1
#define MAPI_E_FAILURE                       2
#define MAPI_E_LOGIN_FAILURE                 3
#define MAPI_E_DISK_FULL                     4
#define MAPI_E_INSUFFICIENT_MEMORY           5
#define MAPI_E_ACCESS_DENIED                 6
#define MAPI_E_TOO_MANY_SESSIONS             8
#define MAPI_E_TOO_MANY_FILES                9
#define MAPI_E_TOO_MANY_RECIPIENTS          10
#define MAPI_E_ATTACHMENT_NOT_FOUND         11
#define MAPI_E_ATTACHMENT_OPEN_FAILURE      12
#define MAPI_E_ATTACHMENT_WRITE_FAILURE     13
#define MAPI_E_UNKNOWN_RECIPIENT            14
#define MAPI_E_BAD_RECIPTYPE                15
#define MAPI_E_NO_MESSAGES                  16
#define MAPI_E_INVALID_MESSAGE              17
#define MAPI_E_TEXT_TOO_LARGE               18
#define MAPI_E_INVALID_SESSION              19
#define MAPI_E_TYPE_NOT_SUPPORTED           20
#define MAPI_E_AMBIGUOUS_RECIPIENT          21
#define MAPI_E_MESSAGE_IN_USE               22
#define MAPI_E_NETWORK_FAILURE              23
#define MAPI_E_INVALID_EDITFIELDS           24
#define MAPI_E_INVALID_RECIPS               25
#define MAPI_E_NOT_SUPPORTED                26

... Continua
 
Saludos.

Re: Includes en .prg

Posted: Thu Nov 01, 2018 5:11 pm
by Compuin
Gracias

La idea es no crear archivos .ch

Re: Includes en .prg

Posted: Thu Nov 01, 2018 5:17 pm
by cnavarro
A ver si te he entendido

Code: Select all

// Por ejemplo
#ifndef CLR_LGRAY
#Define CLR_LGRAY      nRGB( 230, 230, 230 )
#endif
 

Re: Includes en .prg

Posted: Thu Nov 01, 2018 5:20 pm
by Compuin
cnavarro wrote:A ver si te he entendido

Code: Select all

// Por ejemplo
#ifndef CLR_LGRAY
#Define CLR_LGRAY      nRGB( 230, 230, 230 )
#endif
 
Algo como esto:

Code: Select all

#INCLUDE "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg
   LOCAL cGet := 'Code   '
   LOCAL dGet := Date()

//   SET 3D ON

   SET DATE ITALIAN

   DEFINE DIALOG oDlg  TITLE "TBmpGet"

#command @ <nRow>, <nCol> BMPGET [ <oGet> VAR ] <uVar> ;
            [ <dlg: OF, WINDOW, DIALOG> <oWnd> ] ;
            [ PICTURE <cPict> ] ;
            [ VALID <uValid> ] ;
            [ <color:COLOR,COLORS> <nClrFore> [,<nClrBack>] ] ;
            [ SIZE <nWidth>, <nHeight> ]  ;
            [ FONT <oFont> ] ;
            [ <design: DESIGN> ] ;
            [ CURSOR <oCursor> ] ;
            [ <pixel: PIXEL> ] ;
            [ MESSAGE <cMsg> ] ;
            [ <update: UPDATE> ] ;
            [ WHEN <uWhen> ] ;
            [ <lCenter: CENTER, CENTERED> ] ;
            [ <lRight: RIGHT> ] ;
            [ ON CHANGE <uChange> ] ;
            [ <readonly: READONLY, NO MODIFY> ] ;
            [ <pass: PASSWORD> ] ;
            [ <lNoBorder: NO BORDER, NOBORDER> ] ;
            [ <help:HELPID, HELP ID> <nHelpId> ] ;
            [ <resource: NAME, RESNAME, RESOURCE> <cResName> ];
            [ ACTION <uAction> ] ;


   REDEFINE BMPGET cGet ID 101 OF oDlg ;
            RESOURCE "GET_BROWSE" ;
            ACTION MsgStop( Cancel() )

   REDEFINE BMPGET dGet ID 102 OF oDlg SPINNER ;
            RESOURCE "GET_CALENDAR" ;
            ACTION MsgStop( Cancel )

   @ 0,0 GET cGet OF oDLG 

   ACTIVATE DIALOG oDlg CENTER

RETURN NIL

Re: Includes en .prg

Posted: Fri Nov 02, 2018 11:01 am
by xmanuel
Si es posible...
Pero dos cosas al respecto...
1.- Ponlo al principio de tu PRG por que si hay una definición previa tendrás problemas ya que usará el primero.
2.- Es poco elegante e ilegible.

Lo mejor es un include y usar lo que te dice Cristobal:
#ifdef
#undef
#define
etc

Re: Includes en .prg

Posted: Fri Nov 02, 2018 12:05 pm
by Compuin
xmanuel wrote:Si es posible...
Pero dos cosas al respecto...
1.- Ponlo al principio de tu PRG por que si hay una definición previa tendrás problemas ya que usará el primero.
2.- Es poco elegante e ilegible.

Lo mejor es un include y usar lo que te dice Cristobal:
#ifdef
#undef
#define
etc
Muchas gracias a todos!!