SR.MANUEL - TSBROWSE - SUPER HEADER

SR.MANUEL - TSBROWSE - SUPER HEADER

Postby MGA » Fri May 02, 2008 2:33 pm

Sr. Manuel, ao clicar duas vezes em cima do SUPER HEADER, e digitar um digito ex: 1, acontece o seguinte erro:

Error description: Error BASE/1102 Argument error: UPPER
Args:
[ 1] = N 1

Stack Calls
===========
Called from: => UPPER(0)
Called from: TSBROWSE.PRG => LASEEK(10635)
Called from: TSBROWSE.PRG => TSBROWSE:SEEK(8874)
Called from: TSBROWSE.PRG => TSBROWSE:KEYCHAR(5340)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: control.prg => TCONTROL:HANDLEEVENT(1414)
Called from: TSBROWSE.PRG => TSBROWSE:HANDLEEVENT(6138)
Called from: window.prg => _FWH(3252)
Called from: => DIALOGBOX(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: cxturno.prg => FWHCXTURNO(109)



Fonte:

acaixas:={{"","","","","","",""}}

DEFINE DIALOG oDlg RESOURCE "CAIXATURNO" FONT ownd:ofont ICON OICO

REDEFINE BROWSE oBrw2 ID 4016 OF oDlg COLOR CLR_BLACK,CLR_LGREEN
obRW2:lNoVScroll := .F. //Tem que estar aqui
obRW2:lNoHScroll := .T. //Tem que estar aqui
obRW2:setArray(acaixas)
obRW2:Refresh()
obRW2:nHeightCell := 24
obRW2:nHeightHead := 24
obRW2:nHeightFoot := 24
obRW2:nHeightSuper:= 29
obRW2:lMChange := .F.
obRW2:lDrawHeaders:= .T.
obRW2:lFooting := .T.
obRW2:lNoMoveCols := .T.
**obRW2:bchange := {|| }
**obRW2:bKeyDown := {|nKey| }
**oBrw2:bOnEscape := {|| oWndChild:end() }
bColor := {|| If(oBrw2:nLogicPos() % 2 = 0,CLR_LGRAY,CLR_LGREEN) }
obRW2:SetColor( { 1, 3, 4, 5, 6, 9, 10, 13, 15, 11, 12 }, ;
{ CLR_BLACK,;
CLR_BLACK,;
nRGB(211, 227, 247),;
CLR_WHITE,;
CLR_HBLUE,;
CLR_BLACK,;
nRGB(211, 227, 247),;
CLR_WHITE,;
CLR_BLACK,;
CLR_WHITE,;
CLR_HBBLUE } )

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 1;
TITLE "Seq.";
SIZE 40 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_CENTER,DT_CENTER

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 2;
TITLE "Usuário";
SIZE 100 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_LEFT,DT_LEFT,DT_LEFT

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 3;
TITLE "Data Caixa";
SIZE 95 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_CENTER,DT_CENTER,DT_CENTER

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 4;
TITLE "Turno";
SIZE 100 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_CENTER,DT_CENTER,DT_RIGHT;
FOOTER "Total:"

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 5;
TITLE "Valor Turno";
SIZE 80 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_RIGHT,DT_RIGHT,DT_RIGHT

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 6;
TITLE "Total do Dia";
SIZE 80 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_RIGHT,DT_RIGHT,DT_RIGHT

ADD COLUMN TO BROWSE obRW2 DATA ARRAY ELEMENT 7;
TITLE "S";
SIZE 35 ;
COLORS CLR_BLACK,bColor;
3DLOOK TRUE;
ALIGN DT_CENTER,DT_CENTER,DT_CENTER

ADD SUPER HEADER TO oBrw2 FROM COLUMN 1 TO COLUMN 7 TITLE "Caixa: "+DTOC(m->hoje) 3DLOOK



Obrigado
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: SR.MANUEL - TSBROWSE - SUPER HEADER

Postby mmercado » Fri May 02, 2008 6:02 pm

SGS wrote:Sr. Manuel, ao clicar duas vezes em cima do SUPER HEADER, e digitar um digito ex: 1, acontece o seguinte erro:

Primero veamos que es un Superheader:ImagePor cierto, TSBrowse es el único Browser por ahora con esta característica.

El problema a que te refieres se presenta al hacer doble click en el título (header) de una columna. lo cual cambia el orden en que se muestra el array y permite la búsqueda incremental sobre los datos de dicha columna.

Para resolver el problema puedes:

1.- Desactivar la búsqueda incremental y cambio del orden del array con:
oBrw:lNoChangeOrd := .T.

2.- Corregir el programa TSBrowse.prg:
Linea 10635:
dice: uData := If( oBrw:lUpperSeek, Upper( uData ), uData )
debe decir: uData := If( oBrw:lUpperSeek, Upper( cValToChar( uData ) ), cValToChar( uData ) )

Linea 10638:
dice: If uData = uSeek
debe decir: If uData = cValToChar( uSeek )

Linea 10643:
dice: If uData = uSeek
debe decir: If uData = cValToChar( uSeek )

Un abrazo.

Manuel Mercado.
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby MGA » Fri May 02, 2008 6:51 pm

Sr. Manuel:

Linea 10643:
dice: If uData = uSeek
debe decir: If uData = cValToChar( uSeek )

na minha classe esta:

If uData >= uSeek <--- 10643
lFound := .T.
Exit
EndIf

????
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby mmercado » Fri May 02, 2008 7:32 pm

SGS wrote:na minha classe esta:
If uData >= uSeek <--- 10643
lFound := .T.
Exit
EndIf
????


Sabía que te ibas a decidir por la opción 2 jeje :)

Tienes razón, debe ser así:
Linea 10643:
dice: If uData >= uSeek
debe decir: If uData >= cValToChar( uSeek )

Saludos.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby MGA » Fri May 02, 2008 8:01 pm

Sr. Manuel, funcionou em partes :)


agora acontece o erro:

Error description: Error BASE/1004 Class: 'NIL' has no exported method: AARRAY
Args:
[ 1] = U

Stack Calls
===========
Called from: => AARRAY(0)
Called from: TSBROWSE.PRG => LASEEK(10628)
Called from: TSBROWSE.PRG => TSBROWSE:SEEK(8889)
Called from: TSBROWSE.PRG => TSBROWSE:KEYCHAR(5340)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: control.prg => TCONTROL:HANDLEEVENT(1414)
Called from: TSBROWSE.PRG => TSBROWSE:HANDLEEVENT(6138)
Called from: window.prg => _FWH(3252)
Called from: => DIALOGBOX(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: cxturno.prg => FWHCXTURNO(117)



Depois de clicar na coluna pesquisar um caracter ex: 7, e depois clicar BACK SPACE.
:(

Muito obrigado
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby mmercado » Sat May 03, 2008 10:43 am

SGS wrote:agora acontece o erro:
Error description: Error BASE/1004 Class: 'NIL' has no exported method: AARRAY

TSBrowse.prg Linea 8889
dice: lASeek( Val( cSeek ) * 10, .T. )
debe decir: lASeek( Val( cSeek ) * 10, .T., Self )

Espero que éste sea el último error :D
Gracias por la retroalimentación, un abrazo.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby MGA » Sat May 03, 2008 11:16 am

Funcionou perfeitamente...

Gracias Sr. Manuel.

:D
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby mantonio_08 » Sat May 03, 2008 11:55 am

UNA DUDA,, EN RELACION A LOS CAMBIOS DE LA CLASE....

ESTIMADO MANUEL,, ESTOS CAMBIOS SE DEBERIAN REALIZAR POR TODOS LOS USAURIOS DE TSBROWSE....


GRACIAS::::
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Postby mmercado » Sat May 03, 2008 1:45 pm

Hola Antonio:
mantonio_08 wrote:UNA DUDA,, EN RELACION A LOS CAMBIOS DE LA CLASE....ESTIMADO MANUEL,, ESTOS CAMBIOS SE DEBERIAN REALIZAR POR TODOS LOS USAURIOS DE TSBROWSE....

No necesariamente si en tus aplicaciones que usan TSBrowse no tienes problemas. Para la próxima actualización de TSBrowse (pronto), todas estas correcciones ya estarán incluídas.

Saludos.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby mantonio_08 » Sat May 03, 2008 2:03 pm

muchas gracias por la respuesta y aclaracion manuel

nos leemos
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 73 guests