FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Compartir con vosotros un trozo de c贸digo
Posts: 118
Joined: Fri Dec 20, 2013 10:39 AM
Compartir con vosotros un trozo de c贸digo
Posted: Fri Jan 17, 2014 05: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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Fri Jan 17, 2014 07: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
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Sun Jan 19, 2014 05:30 AM

+1

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 118
Joined: Fri Dec 20, 2013 10:39 AM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Sun Jan 19, 2014 03: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
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Mon Jan 20, 2014 03:21 PM

Gracias.

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Mon Jan 20, 2014 05: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 (fw): Select all Collapse
聽 聽 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 (fw): Select all Collapse
聽 聽 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)}
Posts: 105
Joined: Sat Jan 14, 2012 03:46 PM
Re: Compartir con vosotros un trozo de c贸digo
Posted: Mon Jan 20, 2014 08:12 PM
Como apunte, intenta no incluir llamadas a funci贸n en la iteracion de bucles, es decir
Code (fw): Select all Collapse
for n:=1 to fcount() o for n:=1 to len()

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

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

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

Por este otro
Code (fw): Select all Collapse
 OBJ_GNRL["codigo"]:bGotFocus={|this|this:SetColor(CLR_AZULETE,CLR_AMARILLO)}
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista

Continue the discussion