Compartir con vosotros un trozo de código

Compartir con vosotros un trozo de código

Postby informaticaeloy » Fri Jan 17, 2014 5:00 pm

Hola. Tengo una parte del código de mi programa principal de gestión. Querría compartirlo con vosotros por si a alguien le sirve de referencia para algo y también por si os apetece echarle un ojo y hacer cualquier comentario para mejorar mi forma de trabajar. No se si hay algún sitio para subirlo. Están los PRG, las DBF, los BMP, ... y el EXE.
Antonio, te lo mando y lo cuelgas en algún sitio? o lo puedo poner en el foro?

Cualquier crítica o comentario será bienvenido.
Un saludo.
Windows 10 + FWH 20.08 + BCC 7.4 + Harbour 3.2.0 + PSPad 5.0.3
User avatar
informaticaeloy
 
Posts: 118
Joined: Fri Dec 20, 2013 10:39 am
Location: Zaragoza, España

Re: Compartir con vosotros un trozo de código

Postby karinha » Fri Jan 17, 2014 7:47 pm

Puedes usar:

http://www.4shared.com

un excelente anfitrión para sus archivos.

Salu2
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7251
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Compartir con vosotros un trozo de código

Postby FranciscoA » Sun Jan 19, 2014 5:30 am

+1
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2111
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Compartir con vosotros un trozo de código

Postby informaticaeloy » Sun Jan 19, 2014 3:47 pm

Hola. Como tengo una cuenta lo subo al dropbox

https://www.dropbox.com/s/z7me5lpy6v7k8tv/agenda.rar

Si a alguien le sirve como referencia genial, y si alguien lo revisa y me comenta mejoras en mi forma de programar pues entonces ......
genial:=genial*100

Un saludo
Windows 10 + FWH 20.08 + BCC 7.4 + Harbour 3.2.0 + PSPad 5.0.3
User avatar
informaticaeloy
 
Posts: 118
Joined: Fri Dec 20, 2013 10:39 am
Location: Zaragoza, España

Re: Compartir con vosotros un trozo de código

Postby FranciscoA » Mon Jan 20, 2014 3:21 pm

Gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2111
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Compartir con vosotros un trozo de código

Postby mastintin » Mon Jan 20, 2014 5:33 pm

Muchas Gracias por compartir tu código .
Como nos dices que podemos hacer comentarios ( siempre constructivos :-) ) sobre el código , quiero decirte que veo que en la edicion de la agenda usas los arrays para sostener los objetos get y las variables . Yo tambien los usaba hasta que descubrí los Hash que permiten que mi codigo sea mucho mas "comprensible" cuando se alarga el numero de lineas a realizar ....
Me explico un poco : tu codigo
Code: Select all  Expand view


    GNRL:={}
 
         OBJ_GNRL=ARRAY(FCOUNT())
         FOR N=1 TO FCOUNT()
             AADD(GNRL,FIELDGET(N))
         NEXT
         DBSETORDER(INDICE)
         GO POS

            DEFINE DIALOG EDIT_GNRL FROM 0, 0 TO 27, 72;
            TITLE  "Gestión de la Agenda";
            font ofontdlg

            @ 15,  15  SAY "Código" PIXEL SIZE 50,10 right
            IF NUEVO
               GNRL[1]=ULT
               @ 15,  70  GET OBJ_GNRL[1] VAR GNRL[1] PIXEL  SIZE 26,10  UPDATE;
                          VALID TRATAR_AGEN(1) COLOR CLR_AZULETE,CLR_AMARILLO
               OBJ_GNRL[1]:bLostFocus={||OBJ_GNRL[1]:SetColor(CLR_AMARILLO,CLR_AZULETE)}
               OBJ_GNRL[1]:bGotFocus={||OBJ_GNRL[1]:SetColor(CLR_AZULETE,CLR_AMARILLO)}

 


mi codigo seria asi :
Code: Select all  Expand view


    GNRL:= {=>}
    OBJ_GNRL:= {=>}

        FOR N=1 TO FCOUNT()
             GNRL[ fieldname(n) ] := FIELDGET(N)            
         NEXT
         DBSETORDER(INDICE)
         GO POS

            DEFINE DIALOG EDIT_GNRL FROM 0, 0 TO 27, 72;
            TITLE  "Gestión de la Agenda";
            font ofontdlg

            @ 15,  15  SAY "Código" PIXEL SIZE 50,10 right
            IF NUEVO

               GNRL["codigo"]=ULT

               @ 15,  70  GET OBJ_GNRL["codigo"] VAR GNRL["codigo"] PIXEL  SIZE 26,10  UPDATE;
                          VALID TRATAR_AGEN(1) COLOR CLR_AZULETE,CLR_AMARILLO
               OBJ_GNRL["codigo"]:bLostFocus={||OBJ_GNRL["codigo"]:SetColor(CLR_AMARILLO,CLR_AZULETE)}
               OBJ_GNRL["codigo"]:bGotFocus={||OBJ_GNRL["codigo"]:SetColor(CLR_AZULETE,CLR_AMARILLO)}

 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Compartir con vosotros un trozo de código

Postby Joaquim Ferrer » Mon Jan 20, 2014 8:12 pm

Como apunte, intenta no incluir llamadas a función en la iteracion de bucles, es decir
Code: Select all  Expand view
for n:=1 to fcount() o for n:=1 to len()

es preferible
Code: Select all  Expand view
nCount:= fcount(); for n:=1 to nCount

o
Code: Select all  Expand view
nLen := len(a); for n:=1 to nLen

Tambien puedes simplificar este codigo
Code: Select all  Expand view
OBJ_GNRL["codigo"]:bGotFocus={||OBJ_GNRL["codigo"]:SetColor(CLR_AZULETE,CLR_AMARILLO)}

Por este otro
Code: Select all  Expand view
OBJ_GNRL["codigo"]:bGotFocus={|this|this:SetColor(CLR_AZULETE,CLR_AMARILLO)}
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
User avatar
Joaquim Ferrer
 
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 8 guests