Jump to content
Fivewin Brasil

POSICIONAMENTO NO LISTBOX


evaldohc

Recommended Posts

Tenho dois list box relacionados

Exemplo: Tipo Notas e Itens

Quando movimento a nota o list de Itens e filtrado

até ai tudo bem, esta funcionando. O problema surge

quando movimento a barra no list de itens, coloco a barra no último item numa nota com 10 itens. Quando seleciono no list de nota uma nota com 5 itens, a barra fica parada lá no 10º item, mesmo sem ele existir. Tentei com refresh() e no houve mudaças.

Antecipadamente agradeço

Evaldo

Link to comment
Share on other sites

Evaldo, Boa Tarde

Tente com:

oLbx:UpStable()&& oLbx - colocar o objeto do Listbox Itens

oLbx:Setfocus()

oLbx:Refresh()

Se não der certo, voce terá que postar parte do código.

Obs. Mostrar que versão do Clipper, FW, etc. voce usa. OK?

Espero ter ajudado

Paulo/CONTATO SISTEMAS

Clipper53b / FW26 / Blinker70

Ajudar é um prazer, agradecer é uma obrigação

Link to comment
Share on other sites

  • 2 weeks later...

Poste parte do seu ´prg ´para que possamos ajuda-lo

Onde você vê um obstáculo alguém vê o término da viagem e o outro vê uma chance de crescer.

Elias Abrão Júnior

Fone : (0**11) 5181-6909 São Paulo - SP

eajunior.fw@terra.com.br

xHarbour 0.99.0 - Fivewin 2.5 e xMate

Link to comment
Share on other sites

Tentei alterar o Stack mas não deu certo, linkeicom o Blinker 7 também nada. Segue código.

Se tirar o UpStable para de dar o erro.

*-

*- Programa : FICHA.PRG

*- Data : 06/06/05

*-

#INCLUDE 'FIVEWIN.CH'

#INCLUDE 'REPORT.CH'

// Validacoes de Existencia

#DEFINE VALFIC1(var) IF(FICHA->(DBSEEK(var)),CIERTO('Chave Registrada'),.F.)

#DEFINE VALFIC2(var) IF(FICHA->(DBSEEK(var)),.F.,FALSO('Chave Nao Registrada'))

#DEFINE RELFIC1(var) IF(FICHA->(DBSEEK(var)),CIERTO('Existem dados Relacionados'),.F.)

#DEFINE RELFIC2(var) IF(FICHA->(DBSEEK(var)),.T.,FALSO('Nao existem dados Relacionados'))

STATIC oLbx, oLbx1, oDlg // oLbx=Browser, oDlg=Datos

STATIC lEsAlta,; // Para el control de los Botones Activar/NoActivar

lEsModi,; // Para el control de los Botones Activar/NoActivar

lNoEdita,; // Para el control de los Botones Activar/NoActivar

lGuarda // Para el control de los Botones Activar/NoActivar

STATIC oGets,; // Optimizar el uso de la memoria, arreglo de Objetos para los Gets

oObjs,; // Optimizar el uso de la memoria, arreglo de Objetos para los Objetos

oSays,; // Optimizar el uso de la memoria, arreglo de Objetos para los Says

oBtns,; // Optimizar el Uso de los Botones

aRec,; // Coordenadas del Calendario, Ing. Alfredo Arteaga

cVars,;

xTotal:=0,;

eIndice:=0

//------------------------------------------------------------------

FUNCTION FFICHA()

LOCAL ocurDedo

LOCAL nOldArea:=Select() // Guarda area ativa

Local hBorland:=LoadLibrary("BWCC.dll")

FIELD PRODUTO // Se usa si aqui se forman los indices

FIELD CODIGO

FIELD ITEM

FIELD FICHA

FIELD DESC

SET RESOURCES TO "FICHA.DLL"

DEFINE CURSOR oCurDedo RESOURCE "Dedo"

lEsAlta:=.F.

lEsModi:=.F.

lNoEdita:=.F.

lGuarda:=.F.

oGets :=ARRAY(5)

oObjs :=ARRAY(5)

oSays :=ARRAY(8)

cVars :=ARRAY(8)

oBtns :=ARRAY(15)

CreaDbf(cDir,"FOLHA1")

CreaDbf(cDir,"PRODUTO")

CreaDbf(cDir,"FICHA")

SELE 0

USE FOLHA1 ALIAS FOLHA1

SET INDEX TO FOLHA1

*

* Incializar Variaveis de Indice

*

nXMaoMobil = 0

* Valor da Mão-de-Obra do Mobiliario

Locate for "MÃO-DE-OBRA"$FOLHA1->DESCR .AND. " MOBIL"$FOLHA1->DESCR

if .not. eof()

xITEM = FOLHA1->CODIGO

nXMaoMobil = VLRTOT

endif

* Valor da Mão-de-Obra Mobiliario + Custo Fixo do Mobiliario

Locate for "CUSTO FIXO"$FOLHA1->DESCR .AND. " MOBIL"$FOLHA1->DESCR

if .not. eof()

nXMaoMobil = nXMaoMobil + VLRTOT

endif

* Calcula Indice de Venda

X=select("INDVEND")

IF X=0

if ! lNetUse(.F.,cDir,"INDVEND","INDVEND",10)

return(NIL)

endif

ENDIF

sele INDVEND

nLUCROS=0

count for "LUCRO"$INDVEND->DESCR to nLUCROS

Private LUCRO_P[nLUCROS],LUCRO_M[nLUCROS],LUCRO_A[nLUCROS],LUCRO_I[nLUCROS]

locate for INDVEND->DESCR="LUCRO"

K = 0

do while INDVEND->DESCR="LUCRO" .AND. .NOT. EOF()

K = K + 1

LUCRO_P[K] = PAINEIS

LUCRO_M[K] = MOBILIARIO

LUCRO_A[K] = ACESSORIOS

LUCRO_I[K] = INSTALACAO

skip

enddo

sum PAINEIS to nIndice FOR !"LUCRO"$DESCR

sum MOBILIARIO to nIndice_m FOR !"LUCRO"$DESCR

sum ACESSORIOS to nIndice_A FOR !"LUCRO"$DESCR

sum INSTALACAO to nIndice_I FOR !"LUCRO"$DESCR

*

* -

*

SELE 0

USE PRODUTO ALIAS PRODUTO

SET INDEX TO PRODUTO

SET FILTER TO FICHA

SET ORDER TO 2

GO TOP

SELE 0

USE FICHA ALIAS FICHA

SET INDEX TO FICHA

SET RELA TO ITEM INTO FOLHA1

* Se ficha de produto estiver vazia tira o Flag

SELE PRODUTO

SET RELA TO CODIGO INTO FICHA

REPLA FICHA WITH .F. FOR FICHA->PRODUTO<>PRODUTO->CODIGO

DBGOTOP()

SET RELA TO

* Seleciona ficha do 1º Produto

SELE FICHA

SET FILTER TO PRODUTO=PRODUTO->CODIGO

DBGOTOP()

DEFINE DIALOG oDlg RESOURCE "FICHA"

//COLORS CLR_BLACK, nRGB(193,205,205)

// DEFINE BOTOES

REDEFINE BTNBMP oBtns[01] ID 1000 OF oDlg RESOURCE "Nuevo2" ;

TOOLTIP "Incluir novo item na ficha" NOBORDER ;

ACTION ( IniFIC(oLbx) ) When !lEsModi

REDEFINE BTNBMP oBtns[02] ID 2000 OF oDlg RESOURCE "Cambia2";

TOOLTIP "Modifica item da ficha" NOBORDER ;

ACTION ( CarFIC(oLbx), lEsModi:=.T. ) when !lEsAlta

// CRLF=Salto de Linha

REDEFINE BTNBMP oBtns[03] ID 3000 OF oDlg RESOURCE "Borra2" ;

TOOLTIP "Elimina item da ficha" NOBORDER ;

ACTION (;

IF(MsgYesNo("Apagar item da ficha ? : "+;

CRLF+CRLF,"Confirma"),;

IF(FICHA->(rlock()),FICHA->(dbDelete()),FICHA->(dbDelete())), .T. ;

), DbSkip(+1),CarFIC(oLbx), oLbx:Refresh() ;

) when !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[04] ID 4000 OF oDlg RESOURCE "Busca2";

TOOLTIP "Buscar item" NOBORDER ;

ACTION ( BusFIC(oLbx)) when !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[05] ID 5000 OF oDlg RESOURCE "Inicio2" TOOLTIP "Primeiro Item" NOBORDER ;

ACTION ( DbGoTop(), CarFIC(oLbx) ) ;

WHEN !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[06] ID 6000 OF oDlg RESOURCE "Antes2" TOOLTIP "Item Anterior" NOBORDER ;

ACTION ( IF(!bof(),DbSkip(-1),DbGoTop()),CarFIC(oLbx) ) ;

WHEN !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[07] ID 7000 OF oDlg RESOURCE "Despues2" TOOLTIP "Próximo Item" NOBORDER ;

ACTION ( IF(!Eof(),DbSkip(+1),Dbskip(-1) ),CarFIC(oLbx) ) ;

WHEN !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[08] ID 8000 OF oDlg RESOURCE "Final2" TOOLTIP "Último Item" NOBORDER ;

ACTION ( DbGoBottom(),CarFIC(oLbx) ) ;

WHEN !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[09] ID 9000 OF oDlg RESOURCE "Imprime2" TOOLTIP "Imprimir Fichas" NOBORDER ;

ACTION ImpFIC() when !lEsAlta .AND. !lEsModi

REDEFINE BTNBMP oBtns[10] ID 10000 OF oDlg RESOURCE "Disco2" TOOLTIP "Gravar dados" NOBORDER ;

ACTION ;

( lGuarda:=.T., IF(!empty(oGets[1]),GuardaFIC(oLbx),Cierto("Registro em Branco") ) );

WHEN lEsAlta .Or. lEsModi

REDEFINE BTNBMP oBtns[11] ID 11000 OF oDlg RESOURCE "Cancela2" TOOLTIP "Cancelar" NOBORDER ;

ACTION ;

(IniFIC(oLbx), CarFIC(oLbx), lGuarda:= .F.,lEsAlta:=.F.,lEsModi:=.F.)

REDEFINE BTNBMP oBtns[12] ID 12000 OF oDlg RESOURCE "Salida1","Salida2" TOOLTIP "Saída" NOBORDER;

ACTION ( fechaarq(),oDlg:End() )

REDEFINE BTNBMP oBtns[13] ID 13000 OF oDlg RESOURCE "Busca2";

TOOLTIP "Buscar Item na Folha de Dados" NOBORDER ;

ACTION ( BusITEM(oLbx)) when lEsAlta .or. lEsModi

REDEFINE BTNBMP oBtns[14] ID 14000 OF oDlg RESOURCE "Nuevo2" ;

TOOLTIP "Incluir Nova Ficha" NOBORDER ;

ACTION ( IniFIC2(oLbx,oLbx1) )

REDEFINE BTNBMP oBtns[15] ID 15000 OF oDlg RESOURCE "Busca2" ;

TOOLTIP "Buscar Produto para inserir nova Ficha" NOBORDER ;

ACTION ( BusProd(oLbx,oLbx1) )

SELE FICHA

REDEFINE LISTBOX oLbx FIELDS FICHA->ITEM,FOLHA1->DESCR,transform(FICHA->QTDE,"@E9,9999"),transform(FICHA->VALOR,"@E999.99"), ;

transform(round(FICHA->VALOR*1.01,2),"@E999.99"),transform(fxIndice(round(FICHA->VALOR*1.01,2)),"@E9,999.99");

HEADER "ITEM","DESCRIÇÃO","QTDE","VALOR","C+ 1%p","C+I.Vend.";

FIELDSIZES 40,250,60,50,50,50;

ON CHANGE ( CarFIC(oLbx), lGuarda:=.F., lEsAlta:=.F., lEsModi:= .F. );

ID 1013 OF oDlg

oLbx:aJustify := {.F., .F.,.f.,.f.,.f.,.f.} // Justifica Cabeçalhos IZQ, .T.=Centro

oLbx:nLineStyle:=2 // Separador de dasos

oLbx:Refresh() // Estabiliza browse/listbox

SELE PRODUTO

REDEFINE LISTBOX oLbx1 FIELDS PRODUTO->DESC ;

HEADER "PRODUTOS";

ON CHANGE ( CarPROD(oLbx), lGuarda:=.F., lEsAlta:=.F., lEsModi:= .F. );

ID 1014 OF oDlg

oLbx1:aJustify := {.F., .F.} // Justifica de Cabezeras IZQ, .T.=Centro

oLbx1:nLineStyle:=2 // Separador de dados

oLbx1:Refresh() // Estabiliza browse/listbox

oLbx:Refresh()

// Mostra SAYS

cVars[2] = "Código"

cVars[3] = "Quantidade"

cVars[4] = "Valor"

REDEFINE SAY oSays[1] VAR cVars[1] ID 101 OF oDlg

REDEFINE SAY oSays[2] VAR cVars[2] ID 2 OF oDlg

REDEFINE SAY oSays[3] VAR cVars[3] ID 3 OF oDlg

REDEFINE SAY oSays[4] VAR cVars[4] ID 4 OF oDlg

REDEFINE SAY oSays[5] VAR cVars[5] ID 5 OF oDlg

REDEFINE SAY oSays[6] VAR cVars[6] ID 6 OF oDlg

REDEFINE SAY oSays[7] VAR cVars[7] ID 7 OF oDlg

REDEFINE SAY oSaysicon_smile_8ball.gif VAR cVarsicon_smile_8ball.gif ID 22 OF oDlg

// Mostra GETS

*REDEFINE GET oObjs[1] VAR oGets[1] ID 101 OF oDlg PICTURE "@!";

* VALID !VALFIC1(oGets[1]) When .f.

REDEFINE GET oObjs[2] VAR oGets[2] ID 102 OF oDlg PICTURE "@!" VALID FCALC3();

When lEsAlta .OR. lEsModi

REDEFINE GET oObjs[3] VAR oGets[3] ID 103 OF oDlg PICTURE "@E999,999" VALID fCALC3();

When lEsAlta .OR. lEsModi

REDEFINE GET oObjs[4] VAR oGets[4] ID 104 OF oDlg PICTURE "@E999,999.99";

When lEsAlta .OR. lEsModi

REDEFINE GET oObjs[5] VAR oGets[5] ID 105 OF oDlg PICTURE "@!";

VALID INIFIC2(oGets[5])

ACTIVATE DIALOG oDlg CENTER

*DbCloseArea()

*Select (nOldArea)

RETURN oGets[1] // Regresa o conteudo de PRODUTO

//------------------------------------------------------------------

STATIC Function Fechaarq()

sele Produto

use

sele Ficha

use

sele Folha1

use

Return(Nil)

STATIC Function Fcalc3()

Local Retorno

sele FOLHA1

set order to 1

seek oGets[2]

if found()

oGets[4]:=oGets[3] * FOLHA1->VLRTOT

oObjs[4]:Refresh()

cVars[6]:=FOLHA1->DESCR

oSays[6]:Refresh()

Retorno=.t.

else

msgalert("Item não encontrado na Folha de Dados","Atenção!!!")

Retorno=.f.

endif

return(Retorno)

STATIC Function VFIC(Dato) // Verifica a No Existencia em outra Tabela

Local lPaso :=.F.

Local nOldOrden:=DbSetOrder()

*Select AreaParaVerificarRelacionados

*DbSetOrder(NúmerodeIndice)

*Paso:=RELFIC1(Dato)

DbSetOrder(nOldorden)

Select FICHA

Return lPaso

//------------------------------------------------------------------

Static Function GuardaFIC(oLbx)

Local nRegistro:=Recno()

select FICHA

IF lGuarda

IF lEsAlta

NewRecord()

ENDIF

IF !recordLock()

FICHA->PRODUTO:=oGets[1]

FICHA->ITEM:=oGets[2]

FICHA->QTDE:=oGets[3]

FICHA->VALOR:=oGets[4]

End

dbUnlock()

IniFIC(oLbx)

lGuarda:= .F.

lEsAlta:=.F.

lEsModi:=.F.

dbgoto(nRegistro)

ENDIF

oLbx:UpStable()

oLbx:Setfocus()

oLbx:Refresh()

Return .T.

//------------------------------------------------------------------

STATIC FUNCTION CarPROD(oLbx)

field PRODUTO

sele ficha

set filter to PRODUTO=PRODUTO->CODIGO

go top

xTotal = 0

sum fxindice(round(VALOR*1.01,2)) to xTotal

go top

cVars[5]:=PRODUTO->DESC

oSays[5]:Refresh()

cVarsicon_smile_8ball.gif= " Indice " +transform(eIndice,"@E99,999") + " Total "+ transform(xTotal,"@E99,999.99")

oSaysicon_smile_8ball.gif:refresh()

CarFIC(oLbx)

retuRn nil

STATIC Function CarFIC(oLbx)

select FICHA

cVars[1]:=FICHA->PRODUTO

oGets[1]:=FICHA->PRODUTO

oGets[2]:=FICHA->ITEM

oGets[3]:=FICHA->QTDE

oGets[4]:=FICHA->VALOR

cVars[6]:=FOLHA1->DESCR

oSays[6]:Refresh()

oSays[1]:Refresh()

oObjs[2]:Setfocus()

oObjs[2]:Refresh()

oObjs[3]:Refresh()

oObjs[4]:Refresh()

oLbx:UpStable()

oLbx:Setfocus()

oLbx:Refresh()

Return .T.

//------------------------------------------------------------------

STATIC Function IniFIC2(oLbx,oLbx1)

* Incluir nova Ficha na oLbx1

LOCAL xREG

FIELD FICHA

sele PRODUTO

set FILTER TO ! PRODUTO->FICHA

set order to 1

seek oGets[5]

if found()

repla FICHA with .t.

msgalert("Ficha incluida com sucesso","Sucesso!!!")

else

msgalert("Produto não encontrado, ou já tem Ficha","Atenção!!!")

endif

xREG = RECNO()

set order to 2

set FILTER TO ficha

Go xReg

oLbx1:Refresh()

oLbx:Refresh()

IniFic(oLbx) // Inclui Item em Branco para a nova ficha

return .t.

STATIC Function IniFIC(oLbx)

* Cria Item em Branco

lEsAlta:=.T.

cVars[1]:=PRODUTO->CODIGO

oGets[1]:=PRODUTO->CODIGO

oGets[2]:=SPACE(5)

oGets[3]:=0

oGets[4]:=0

oSays[1]:Refresh()

oObjs[2]:Refresh()

oObjs[3]:Refresh()

oObjs[4]:Refresh()

oLbx:Refresh()

Return .T.

//------------------------------------------------------------------

STATIC FUNCTION BusProd()

*Busca para Incluir nova Ficha na oLbx1

LOCAL xREG,oDlglist,ofont,olbx2

FIELD FICHA

DEFINE FONT oFont NAME "Arial" SIZE 0,-11

sele PRODUTO

set FILTER TO ! FICHA

DEFINE DIALOG oDlglist FROM 6,10 TO 20,75;

TITLE "Produtos" FONT oFont

@ 0,0 LISTBOX oLbx2 FIELDS PRODUTO->CODIGO,PRODUTO->DESC;

HEADERS "CÓDIGO","DESCRIÇÃO" ;

FIELDSIZES 90,200;

SIZE 257,105;

ON DBLCLICK oDlglist:end();

FONT oFont OF oDlglist

ACTIVATE DIALOG oDlglist

* Abrir Browse para seleção

oGets[5]:=PRODUTO->CODIGO

oObjs[5]:Refresh()

cVars[7]:=PRODUTO->DESC

oSays[7]:Refresh()

xREG = RECNO()

set FILTER TO ficha

Go xReg

RETURN(NIL)

STATIC FUNCTION BusITEM()

LOCAL xREG,oDlglist,ofont,olbx2

FIELD FICHA

DEFINE FONT oFont NAME "Arial" SIZE 0,-11

sele FOLHA1

set order to 2

DEFINE DIALOG oDlglist FROM 6,10 TO 20,75;

TITLE "Folha de Dados" FONT oFont

@ 0,0 LISTBOX oLbx2 FIELDS FOLHA1->CODIGO,FOLHA1->DESCR;

HEADERS "CÓDIGO","DESCRIÇÃO" ;

FIELDSIZES 50,200;

SIZE 257,105;

ON DBLCLICK oDlglist:end();

FONT oFont OF oDlglist

ACTIVATE DIALOG oDlglist

* Abrir Browse para seleção

oGets[2]:=FOLHA1->CODIGO

oObjs[2]:Refresh()

cVars[6]:=FOLHA1->DESCR

oSays[6]:Refresh()

xREG = RECNO()

set order to 1

Go xReg

RETURN NIL

STATIC FUNCTION BusFIC()

RETURN NIL

//------------------------------------------------------------------

//------------------------------------------------------------------

STATIC FUNCTION ImpFIC()

Local RegFicha,RegProd

SELE Produto

RegProd = recno()

set filter to

go top

sele ficha

set rela to

RegFicha = recno()

go top

fRFicha()

SELE PRODUTO

SET ORDER TO 2

set filter to ficha

GO RegProd

oLbx1:refresh()

SELE FICHA

SET RELA TO ITEM INTO FOLHA1

SET FILTER TO PRODUTO=PRODUTO->CODIGO

go REgFicha

oLbx:refresh()

RETURN NIL

//------------------------------------------------------------------

FUNCTION fxIndice(xValor)

nLucro = 0

xCod:=Ficha->PRODUTO

xP = 66-ASC(PRODUTO->LUCRO)

xIndice = 0

if &ePAINEL.

xIndice = fIndice(nIndice ,LUCRO_P[xP],xVALOR)

eInfice = nIndice

nLucro = LUCRO_P[xP]

*fnMaoMobil(nIndice ,LUCRO_P[xP])

elseif &eMOBILIARIO.

xIndice = fIndice(nIndice_M,LUCRO_M[xP],xVALOR)

eIndice = nIndice_M

nLucro = LUCRO_M[xP]

*fnMaoMobil(nIndice_M,LUCRO_M[xP])

elseif &eACESSORIO.

xIndice = fIndice(nIndice_A,LUCRO_A[xP],xVALOR)

eIndice = nIndice_A

nLucro = LUCRO_A[xP]

*fnMaoMobil(nIndice_A,LUCRO_P[xP])

elseif &eINSTALACAO.

xIndice = fIndice(nIndice_I,LUCRO_I[xP],xVALOR)

eIndice = nIndice_I

nLucro = LUCRO_I[xP]

*fnMaoMobil(nIndice_I,LUCRO_I[xP])

endif

eIndice = 100 - (eIndice + nLucro)

eIndice = round(100/eIndice,2)

RETURN(xIndice)

Link to comment
Share on other sites

Ola Evaldo, estive vendo o seu programa acima e veja que utiliza o set filter , mude para o CDX e vera que isto se torna mais facil. Veja o exemplo abaixo de parte meu programa

citação:// principal

REDEFINE LISTBOX oTbr[1] ;

FIELDS IF( oTbr[1]:lSelect, hDedo, 0 ) ,;

ClpGrupo->NomeEstaca ,;

ClpGrupo->NumSerie ;

HEADER hHeader ,;

"Coletor" ,;

"Nº Série" ;

SIZES 30, 150, 150 ;

COLORS CLR_BLACK, oPub:nClrBrowse1 ID 100 OF oDlg

// aqui controla o segundo browse

oTbr[1]:bChange := {|| cQualEstacao( oTbr, oSay ) }

// browse com os itens

REDEFINE LISTBOX oTbr[2] ;

FIELDS ClpArquivo->Maquina ,;

ClpArquivo->Tipo_Dev ,;

MakeStr( ClpArquivo->Id_Io ) ;

HEADER "Máquina" ,;

"Tipo" ,;

"Porta" ;

SIZES 190, 140, 66 ;

COLORS CLR_BLACK, oPub:nClrBrowse1 ID 101 OF oDlg

// esta função altera o conteudo do 2º browse on line

STATIC FUNCTION cQualEstacao( oTbr, oSay )

DbSelectArea( "ClpArquivo" )

ClpArquivo->( OrdScope( 0, ClpGrupo->NomeEstaca ) )

ClpArquivo->( OrdScope( 1, ClpGrupo->NomeEstaca ) )

ClpArquivo->( DbGoTop() )

cMostraMaquina( oSay )

oTbr[2]:Refresh()

Return( Nil )


id=quote>id=quote>

Onde você vê um obstáculo alguém vê o término da viagem e o outro vê uma chance de crescer.

Elias Abrão Júnior

Fone : (0**11) 5181-6909 São Paulo - SP

eajunior.fw@terra.com.br

xHarbour 0.99.0 - Fivewin 2.5 e xMate

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...