Jump to content
Fivewin Brasil

GET


betovsp

Recommended Posts

Olá pessoal, mais uma vez solicitando um help dos experts em Fivewin.

Tenho a função abaixo, que é chamada da seguinte forma:

... ACTION GravarC:=(Pagto(vcodp,vvtot,modo,vtit[modo])

Acontece que, entra na função, carrega as variáveis normalmente e corretamente, mas não consigo mostrá-las no GET e nem editá-las.

Abaixo a função Pagto()

Abraços.

PROCEDURE Pagto(vcod,valor,modo,vtit)

LOCAL oDlgCpg,GravaCpg:=.F.,vajuste:=0,ovenc[13],oparc[13]

//LOCAL ovenc1:=ovenc2:=ovenc3:=ovenc4:=ovenc5:=ovenc6:=ovenc7:=ovenc8:=ovenc9:=ovenc10:=ovenc11:=ovenc12:=ovenc13:=CTOD("")

//LOCAL oparc1:=oparc2:=oparc3:=oparc4:=oparc5:=oparc6:=oparc7:=oparc8:=oparc9:=oparc10:=oparc11:=oparc12:=oparc13:=0

LOCAL vp:={Cpg->p1,Cpg->p2,Cpg->p3,Cpg->p4,Cpg->p5,Cpg->p6,Cpg->p7,Cpg->p8,Cpg->p9,Cpg->p10,Cpg->p11,Cpg->p12}

DEFINE DIALOG oDlgCpg FROM 1,15 TO 412,308 PIXEL FONT oFnt1 STYLE nOr(DS_MODALFRAME,WS_POPUP,WS_VISIBLE,WS_DLGFRAME) COLOR nRgb(0,0,0),nRgb(214,211,206)

@ 0.3,1 GROUP oGroup1 TO 12.2,20 OF oDlgCpg LABEL "Vencimentos"

dbSelectArea("Cpg")

Cpg->(dbSeek(vcod),.T.)

dbSelectArea("Cap")

FOR cont:=1 TO Cpg->np

ovenc[cont]:=vdtem+vp[cont]

vvenc[cont]:=vdtem+vp[cont]

vparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

oparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

vajuste+=vparc[cont]

NEXT

vajuste:=valor-vajuste ; vparc[1]+=vajuste ; oparc[1]+=vajuste

IF modo#3

FOR cont:=1 TO Cpg->np

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

NEXT

@ 175,18 SBUTTON oBtnCpg1 RESOURCE "OK1","OK2","OK1","OK2";

OF oDlgCpg PROMPT "C&onfirma" FONT oFnt1 ACTION (GravaCpg:=.T.,oDlgCpg:End());

SIZE 50,15 PIXELS TOOLTIP "Confirma a Inclusão dos Produtos Comercializados";

COLORS CLR_BLACK,{|oB| IF(oB:lMouseOver,{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT

@ 175,78 SBUTTON oBtnCpg2 RESOURCE "CANCEL1","CANCEL2","CANCEL3","CANCEL4";

OF oDlgCpg PROMPT "&Cancela" FONT oFnt1 ACTION (GravaCpg:=.F.,oDlgCpg:End());

SIZE 50,15 PIXELS TOOLTIP "Cancela a Operação e Retorna a Tela Anterior";

COLORS CLR_BLACK,{|oB| IF(oB:lMouseOver,{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT CANCEL

END

ACTIVATE DIALOG oDlgCpg CENTERED ON PAINT (oMsg:=TMsgBar():New(oDlgCpg,"Vencimentos das Faturas "+vtit))

RETURN(GravaCpg)

Beto

betovsp@hotmail.com

Ribeirão Preto/SP

Link to comment
Share on other sites

// ACTION GravarC:=( Pagto( vcodp, vvtot, modo, vtit[modo] ) //????

// Cade a Funcao GravarC ?????

// FUNCTION GravarC( vcod, valor, modo, vtit ) //Tem que ser igual

// E Nao: FUNCTION GravarC( vcodp, vvtot, modo, vtit[modo] ) // Nao Combinou

// Deveria ser assim...

// ACTION Pagto( vcod, valor, modo, vtit ) // Acho que e isso.

FUNCTION Pagto( vcod, valor, modo, vtit ) // Se for Clipper 5.3 = FUNCTION

// Senao...

// FUNCTION Pagto( vcodp, vvtot, modo, vtit[modo] ) // Combinou c/ a Chamada

LOCAL oDlgCpg, GravaCpg := .F., vajuste := 0, ovenc[13], oparc[13]

LOCAL vp:={Cpg->p1,Cpg->p2,Cpg->p3,Cpg->p4,Cpg->p5,Cpg->p6,Cpg->p7, ;

Cpg->p8,Cpg->p9,Cpg->p10,Cpg->p11,Cpg->p12}

DEFINE DIALOG oDlgCpg FROM 1,15 TO 412,308 PIXEL FONT oFnt1 ;

STYLE nOr(DS_MODALFRAME,WS_POPUP,WS_VISIBLE,WS_DLGFRAME) ;

COLOR nRgb( 0, 0, 0 ), nRgb( 214, 211, 206 )

@ 0.3,1 GROUP oGroup1 TO 12.2,20 OF oDlgCpg LABEL "Vencimentos"

DbSelectArea( "Cpg" )

Cpg->( DbSeek( vcod ), .T. )

DbSelectArea( "Cap" )

FOR Cont := 1 TO Cpg->np

ovenc[cont]:=vdtem+vp[cont]

vvenc[cont]:=vdtem+vp[cont]

vparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

oparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

vajuste+=vparc[cont]

NEXT Cont

vajuste:=valor-vajuste ; vparc[1]+=vajuste ; oparc[1]+=vajuste

IF Modo # 3

FOR cont := 1 TO Cpg->np

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] ;

PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

NEXT

// @Say com Recursos ???? Ficou Legal ??? Funciona???

@ 175,18 SBUTTON oBtnCpg1 RESOURCE "OK1","OK2","OK1","OK2";

OF oDlgCpg PROMPT "C&onfirma" FONT oFnt1 ;

ACTION ( GravaCpg := .T., oDlgCpg:End() );

SIZE 50,15 PIXELS ;

TOOLTIP "Confirma a Inclusão dos Produtos Comercializados";

COLORS CLR_BLACK,{|oB| IF(oB:lMouseOver, ;

{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT

@ 175,78 SBUTTON oBtnCpg2 RESOURCE "CANCEL1","CANCEL2","CANCEL3","CANCEL4";

OF oDlgCpg PROMPT "&Cancela" FONT oFnt1 ACTION

(GravaCpg:=.F.,oDlgCpg:End());

SIZE 50,15 PIXELS ;

TOOLTIP "Cancela a Operação e Retorna a Tela Anterior";

COLORS CLR_BLACK, ;

{|oB| IF(oB:lMouseOver, ;

{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT CANCEL

ENDIF

ACTIVATE DIALOG oDlgCpg CENTERED ;

ON PAINT ( oMsg := TMsgBar():New( oDlgCpg, ;

"Vencimentos das Faturas " + vtit ) )

RETURN( GravaCpg ) // Cheque isso, RETURN( .T. ) OU NIL

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

E aí João, blz.

Fiz algumas modificações, por exemplo, a chamada, tirei a variavel GravarC, coloquei direto Pagto(vcodp,vvtot), não havendo necessidade do modo nem do vtit.

Em relação ao @SAY com recursos, funciona, meu sistema é todo assim.

Acontece que, como expliquei, faz todo o processo normalmente, carrega as variáveis, efetua os cálculos.

Na hora que chega aqui:

FOR cont:=1 TO Cpg->np

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

NEXT

ele foca normalmente o GET, mas não mostra o conteúdo correto das variáveis.

EX: função entra com vcodp + valor, vcodp é exatamente um código de uma condição de pagto, e o valor é o valor total da fatura.

Ele calcula quantas parcelas tem a condição de pagamento,

se for 3, ele calcula os vencimentos de acordo com as variáveis vp1,vp2,vp3 conforme a variável LOCAL VP, efetuando a divisão e o acerto/arredondamento.

esse processo, calcula corretamente, mas, quando entra no GET, o cursor está no lugar certo, mas não tem nada, está em branco.

Não sei se consegui explicar pra vc João.

Abraços.

Beto

betovsp@hotmail.com

Ribeirão Preto/SP

Link to comment
Share on other sites

Ola Beto, experimente colocar este bloco fora do DEFINE/ACTIVATE DIALOG


Cpg->(dbSeek(vcod),.T.)

dbSelectArea("Cap")

FOR cont:=1 TO Cpg->np

ovenc[cont]:=vdtem+vp[cont]

vvenc[cont]:=vdtem+vp[cont]

vparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

oparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

vajuste+=vparc[cont]

NEXT

id=code>id=code>

Quanto a utilização de FOR/NEXT dentro de uma DIALOG,creio que seja impossivel pois não temos um comando de espera (READ). Eu casos em que necessito utilizar esta estrutura eu crio um função na qual me mostra o proximo registro apos confirmação do último campo.

Elias Abrão Júnior

Fone : (0**19) 3885-3447 São Paulo - SP

eajunior.fw@terra.com.br

Link to comment
Share on other sites

Beto, boa tarde

deixa ver se entendi...

voce quer que a funcao Pagto(...) retorne um valor para a variavel GravaC ???? certo!!!

se for isto voce nao pode declarar Pagto() como PROCEDURE, e sim como FUNCTION ...

PROCEDURE Pagto(vcod,valor,modo,vtit)

...

RETURN(GravaCpg) // isso aqui nao funciona, porque PROCEDUREs nao retornam nada!!!

troque para

FUNCTION Pagto(vcod,valor,modo,vtit)

...

RETURN(GravaCpg) // isso aqui funciona, vai retornar a variavel GravaCpg...

abracos...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

marllonfigueiredo@hotmail.com

Link to comment
Share on other sites

Olá Marllon,

estou postando novamente a função, modificada, o meu problema é no FOR onde capto as informações em um GET, não consigo entrar com dados, apresenta em branco, se eu tiro o for e coloco IF, trabalho normalmente, só que aumenta em 300 linhas o programa, pois com esta função, esta calculando o vencimento e valores da faturas/duplicatas, trabalhando em até 12 pagamentos, então ele retorna somente se é verdadeiro ou falso, nada mais.

A chamada mudou para Pagto(vcodp,valor), mais nada.

FUNCTION Pagto(vcod,valor,tipo) // tipo para contas a pagar(CAP) ou contas a receber (CAR)

LOCAL oDlgCpg,GravaCpg:=.F.,vajuste:=0,ovenc[13],oparc[13]

LOCAL vp:={Cpg->p1,Cpg->p2,Cpg->p3,Cpg->p4,Cpg->p5,Cpg->p6,Cpg->p7,Cpg->p8,Cpg->p9,Cpg->p10,Cpg->p11,Cpg->p12}

DEFINE DIALOG oDlgCpg FROM 1,15 TO 412,308 PIXEL FONT oFnt1 STYLE nOr(DS_MODALFRAME,WS_POPUP,WS_VISIBLE,WS_DLGFRAME) COLOR nRgb(0,0,0),nRgb(214,211,206)

@ 0.3,1 GROUP oGroup1 TO 12.2,20 OF oDlgCpg LABEL "Vencimentos"

dbSelectArea("Cpg")

Cpg->(dbSeek(vcod),.T.)

IF(tipo==1,dbSelectArea("Cap"),dbSelectArea("Car"))

FOR cont:=1 TO Cpg->np

ovenc[cont]:=vdtem+vp[cont]

vvenc[cont]:=vdtem+vp[cont]

vparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

oparc[cont]:=VAL(STR(valor/Cpg->np,10,2))

vajuste+=vparc[cont]

NEXT

vajuste:=valor-vajuste ; vparc[1]+=vajuste ; oparc[1]+=vajuste

FOR cont:=1 TO Cpg->np // Se eu tirar este for e usar como no final da função, funciona........

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

ovenc[cont]:Refresh() ; oparc[cont]:Refresh()

NEXT

@ 175,18 SBUTTON oBtnCpg1 RESOURCE "OK1","OK2","OK1","OK2";

OF oDlgCpg PROMPT "C&onfirma" FONT oFnt1 ACTION (GravaCpg:=.T.,oDlgCpg:End());

SIZE 50,15 PIXELS TOOLTIP "Confirma as Datas";

COLORS CLR_BLACK,{|oB| IF(oB:lMouseOver,{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT

@ 175,78 SBUTTON oBtnCpg2 RESOURCE "CANCEL1","CANCEL2","CANCEL3","CANCEL4";

OF oDlgCpg PROMPT "&Cancela" FONT oFnt1 ACTION (GravaCpg:=.F.,oDlgCpg:End());

SIZE 50,15 PIXELS TOOLTIP "Cancela a Operação e Retorna a Tela Anterior";

COLORS CLR_BLACK,{|oB| IF(oB:lMouseOver,{CLR_WHITE,CLR_CYAN},{CLR_CYAN,CLR_WHITE})};

TEXT POSITION ON_RIGHT CANCEL

ACTIVATE DIALOG oDlgCpg CENTERED ON PAINT (oMsg:=TMsgBar():New(oDlgCpg,"Vencimentos "))

RETURN(GravaCpg)

IF Cpg->np==1 // numero de parcelas == 1

@ 1,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ 1,3 GET ovenc[1] VAR vvenc[1] SIZE 35,11 OF oDlgCpg

@ 1,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ 1,11.5 GET oparc[1] VAR vparc[1] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

ELSEIF Cpg->np==2 // numero de parcelas == 2 e assim por diante.

@ 1,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ 1,3 GET ovenc[1] VAR vvenc[1] SIZE 35,11 OF oDlgCpg

@ 1,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ 1,11.5 GET oparc[1] VAR vparc[1] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

@ 2,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ 2,3 GET ovenc[2] VAR vvenc[2] SIZE 35,11 OF oDlgCpg

@ 2,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ 2,11.5 GET oparc[2] VAR vparc[2] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

END

Abraços.

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

Adalberto... READ = LEITURA - ONLY = SOMENTE. Em Português: SOMENTE LEITURA!

o Comando READONLY = Somente Leitura, não edita, só mostra o Contúdo do GET, mas você

não poderá EDITAR/MODIFICAR... Se é isso que eu entendi! Corrija-me Vagner se eu estiver

errado! Retire o Comando READONLY que Editará... Espero ke seja isso!

Agora, se o GET não estiver dando 'FOCO', veja com o Vagner, qual é a Sintaxe, usando

o xSetFocus(), pois como não uso @Say, eu não Say a Sintaxe correta.

Por que você não usa o WORKSHOP.EXE the best? Isto nunca teria acontecido se fosse com

RECURSOS! Vem de lá Vagner! hehehehehe. Abraços.

Não esqueça de observar a DICA do nosso amigo Marllon Figueiredo. Ele tem razão!

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

João.

Vc recebeu o código do programa.

Eu sei que READONLY significa somente leitura, acontece que o problema não esta aí.

Como disse o problema é no FOR dentro da Função Pagto. Se tirar a função Pagto, o programa funciona que é uma beleza.

Se eu tirar o FOR, e colocar IFS, como citei no exemplo acima, funciona maravilhosamente bem. Só que acrescenta-se 300 linhas de programação, e acho que não é assim que funciona a coisa.

Em relação ao WORKSHOP, comecei usando sim, mas tive alguns problemas e não gostei, agora continuo no @SAY... que faz a mesma coisa, ou não sei não se é melhor....

Só que sou novo no pedaço, tenho muito que aprender e estou fazendo com vcs do Forum, que realmente são OS MELHORES.

Abraços.

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

/*

FOR cont:=1 TO Cpg->np

SysRefresh()

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] PICTURE "@E 999,999.99" ;

SIZE 40,11 OF oDlgCpg

oVenc[Cont]:Refresh()

oVenc[Cont]:SetFocus()

oParC[Cont]:Refresh()

oParC[Cont]:SetFocus()

NEXT

// Se Nao Funcionar, Tente Criar um DO CASE... ENDCASE.

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

Bom dia João.

Realmente não quer funcionar.

Vou seguir a sua sugestão, mesmo acrescentando varias linhas a mais de programação.

Mais uma coisa, no BROWSE, como coloco uma condição pra ele trabalhar, exemplo, somente com data x.

Agradeço muito a ajuda.

Abraços.

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

Caro Amigo Beto.

Nao tenho Certeza mais acho que o problema é esse:

Quando Trabalhavamos com o Clipper o clipper passava para o abjeto get o endereco da variavel criada seja ela vetor ou qualquer outro tipo.

Com o Fivewin Baseado no Windows Isso mudou a referencia para os objetos e feita atraves do nome da variavel entao ele sempre ira pegar o valor da variavel no momento do get.

Apesar de vc colocar a parte do programa abaixo , o fivewin somente pegara os valores dos gets abaixos , quando voce ativalos , e lá provalvelmente o valor da Variavel "cont" sera sempre o ultimo.

Dica: Use Macros.

FOR cont:=1 TO Cpg->np

@ cont,1.5 SAY "Dt.:" SIZE 10,11 OF oDlgCpg

@ cont,3 GET ovenc[cont] VAR vvenc[cont] SIZE 35,11 OF oDlgCpg

@ cont,10 SAY "Vr.:" SIZE 10,11 OF oDlgCpg

@ cont,11.5 GET oparc[cont] VAR vparc[cont] PICTURE "@E 999,999.99" SIZE 40,11 OF oDlgCpg

Mauricio (RJ)

Link to comment
Share on other sites

Olá Mauricio.

Estou fazendo desta forma e dá erro de compilação:Não sei

LOCAL ovenc1:=ovenc2:=ovenc3:=ovenc4:=ovenc5:=ovenc6:=ovenc7:=ovenc8:=ovenc9:=ovenc10:=ovenc11:=ovenc12:=CTOD("")

LOCAL oparc1:=oparc2:=oparc3:=oparc4:=oparc5:=oparc6:=oparc7:=oparc8:=oparc9:=oparc10:=oparc11:=oparc12:=0

LOCAL a:={"1","2","3","4","5","6","7","8","9","10","11","12"}

..

..

..

FOR cont:=1 TO Cpg->np

ovenc&a[cont]:=vdtem+vp[cont]

vvenc&a[cont]:=vdtem+vp[cont]

vparc&a[cont]:=VAL(STR(valor/Cpg->np,10,2))

oparc&a[cont]:=VAL(STR(valor/Cpg->np,10,2))

vajuste+=vparc&a[cont]

NEXT

C2081 Macro of declared symbol : 1'ovenc&a'....etc

Já tentei de outras formas, mas tá dificil.. estou apanhando pra caramba das macros. (risos)

Abraços.

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

Tente Assim

FOR cont:=1 TO Cpg->np

M_OBJPARC = "OBJPARC"+STRZERO(CONT,2)

M_OBJVENC = "OBJVENC"+STRZERO(CONT,2)

M_VARPARC = "VARPARC"+STRZERO(CONT,2)

M_VARVENC = "VARVENC"+STRZERO(CONT,2)

&M_OBJVENC = vdtem+vp[cont]

&M_VARVENC = vdtem+vp[cont]

&M_VARPARC = VAL(STR(valor/Cpg->np,10,2))

&M_OBJPARC =VAL(STR(valor/Cpg->np,10,2))

vajuste+=&M_VARPARC

NEXT

Nao Precisa mais usar a matriz , faça tb no Get

Mauricio (RJ)

Link to comment
Share on other sites

Capitulo Encerrado. Grande Mauricio.

Desta forma, funcionou perfeitamente.

Agradeço por d + a ajuda de todos.

Aproveitando, como coloco uma condição dentro do Browse.

Estou usando assim:

DEFINE DIALOG oDlgLc FROM 1,15 TO 336,655 PIXEL STYLE nOr(DS_MODALFRAME,WS_POPUP,WS_VISIBLE,WS_DLGFRAME) COLOR nRgb(0,0,0),nRgb(0,130,132)

@ 5,5 BROWSE oBrw SIZE 260,146 PIXEL ALIAS Cx2 OF oDlgLc WHEN Cx2->data==mdata UPDATE ON DBLCLICK Edita(oBrw,.F.,3,mdata) COLOR nRgb(0,0,0),nRgb(235,225,205)

ADD COLUMN TO oBrw HEADER CRLF+"Data"+CRLF DATA FieldWBlock("data",Select()) 3DLOOK FALSE SIZE 130 PIXEL

Gostaria que trabalhasse somente com data x e não todo o Banco de Dados.

Abraços.

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

É verdade Mauricio, nas minhas outras aplicações, eu não uso o SET FILTER, pois sei que conforme o tamanho, vai ficando lento.

Eu uso o TSBrowse.ch, e eu estava olhando-o, tem uma clausa when, só que não consegui colocá-lo, vc sabe alguma coisa a respeito, onde coloco na minha linha de programação, ou como se coloca/trabalha??

Abraços

Beto

betovsp@hotmail.com

(16)9148-1515

Ribeirão Preto/SP

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...