Inserir registro no TBROWSE() posição cursor?
Moderador: Moderadores
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
Inserir registro no TBROWSE() posição cursor?
Boa tarde mestres . . .
Galera, surgiu uma situação interessante aqui, situação na qual eu travei e preciso de ajuda . ..
Uso um Tbrowse para que o usuário do meu sistema altere algumas informações referentes a compras de clientes . . .
Cada registro no banco se refere a uma compra
Agora, o pessoal quer agrupar compras . .tipo exemplo
Registro 1 -> compra categoria 1 x quantidade
Registro 2 -> compra categoria 1 y quantidade
Registro 3 -> compra categoria 2 x quantidade
Porém, existe a possibilidade de entrar mais compras da categoria 1, e o pessoal quer inseri-la após a ultima compra da mesma categoria . . .
Ou seja, preciso incluir um registro na exata posição em que o cursor do tbrowse se encontra . .ai o usuário movimentaria o cursor, pressiona sei lá -> Insert -> por exemplo, e seria inclusa a nova linha na posição do cursor . . .
O programa inclui linhas novas no final do tbrowse com o append blank quando se pressiona a tecla f5 , porém , incluir na posição corrente do cursor não to conseguindo
Consigo apagar o registro da posiçào do cursor, preciso incluir . .alguém me ajuda?
Obrigado
Galera, surgiu uma situação interessante aqui, situação na qual eu travei e preciso de ajuda . ..
Uso um Tbrowse para que o usuário do meu sistema altere algumas informações referentes a compras de clientes . . .
Cada registro no banco se refere a uma compra
Agora, o pessoal quer agrupar compras . .tipo exemplo
Registro 1 -> compra categoria 1 x quantidade
Registro 2 -> compra categoria 1 y quantidade
Registro 3 -> compra categoria 2 x quantidade
Porém, existe a possibilidade de entrar mais compras da categoria 1, e o pessoal quer inseri-la após a ultima compra da mesma categoria . . .
Ou seja, preciso incluir um registro na exata posição em que o cursor do tbrowse se encontra . .ai o usuário movimentaria o cursor, pressiona sei lá -> Insert -> por exemplo, e seria inclusa a nova linha na posição do cursor . . .
O programa inclui linhas novas no final do tbrowse com o append blank quando se pressiona a tecla f5 , porém , incluir na posição corrente do cursor não to conseguindo
Consigo apagar o registro da posiçào do cursor, preciso incluir . .alguém me ajuda?
Obrigado
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Bem vindo ao forum...
Segue abaixo um exemplo com diversas situações:
Estrutura do Banco de Dados:
Indice que uso nesse exemplo:
Obs:Nesse Exemplo acima tem algumas funções da VL.LIB
Qualquer duvida prende o grito !!!
Leonardo Machado
Segue abaixo um exemplo com diversas situações:
Código: Selecionar todos
**********************
FUNC PESQAGE(TIPOPESQ)
**********************
LOCAL nButton := 1
LOCAL nOpcao := 0
aAGENDA := savenv( 01, 00, 24, 79 )
LIMPATALHO()
SAGEM(01,00,'PESQUISA EM TELA DA AGENDA',1)
Clrted() // limpa tela
IF TIPOPESQ="S"
USE AGENDA ALIAS AGENDA shared
SET INDEX TO AGENDA
ENDIF
Win( 02, 00, 22, 80, "Pesquisa por Ordem Alfab‚tica" ,WT_VERDE2BRANCO,WD_VERDE2BRANCO)
@ 23, 00 SAY PADL( "", 80 ) COLOR "R*/W"
@ 23, 12 SAY " [F1]Ordem [F2]Busca [C]Cadastrar [Del]Excluir [Enter]Editar" COLOR "R*/W"
@ 23, 00 SAY "[ > ]" COLOR "R*/W"
@ 23, 08 SAY "[ < ]" COLOR "R*/W"
@ 03,00 CLEAR TO 22,01
@ 03,79 CLEAR TO 22,79
***************
SET CONFIRM OFF
PESQAGE2()
SET CONFIRM ON
***************
ATALHOS()
CLEAR GETS
CLEAR TYPEAHEAD // limpa sujeira no teclado
IF TIPOPESQ="S"
DBCLOSEALL()
ENDIF
RstEnv (aAGENDA)
return
***************
FUNC PESQAGE2()
***************
FIELD NOME,TELEFONE1,CELULAR,TIPO,TELEFONE2,ENDERECO,BAIRRO,CIDADE,UF,CEP IN AGENDA
LOCAL nButton := 1
LOCAL nOpcao := 0
LOCAL OTbr :=TBrowseDB( 03, 01, 22, 80 )
LOCAL OTbc1 :=TbColumnNew("Descricao do Cadastrado",{ || NOME } )
LOCAL OTbc2 :=TbColumnNew("N§ Telefone", { || TELEFONE1} )
LOCAL OTbc3 :=TbColumnNew("N§ Celular", { || CELULAR } )
LOCAL OTbc4 :=TbColumnNew("TIPO", { || TIPO } )
LOCAL OTbc5 :=TbColumnNew("N§ Telefone", { || TELEFONE2} )
LOCAL OTbc6 :=TbColumnNew("Endere‡o Completo", { || ENDERECO } )
LOCAL OTbc7 :=TbColumnNew("Bairro", { || BAIRRO } )
LOCAL OTbc8 :=TbColumnNew("Cidade", { || CIDADE } )
LOCAL OTbc9 :=TbColumnNew("UF", { || UF } )
LOCAL OTbc10:=TbColumnNew("CEP", { || CEP } )
LOCAL nKey
LOCAL lExitRequested
PARA TIPOCAD,LINHA
********************************************************************
* 1 2 3 4 5 6 7 8 9 10 11 12 13
oTbr:colorspec :="N*/W , W+/BG , W+/B , R+*/W , W*/W+ , RJ/W , W/B , R/N , B+*/W , RW*/W , N+*/W, BG+*/W, RG+*/W"
oTbr:addColumn(oTbc1)
oTbr:addColumn(oTbc2)
oTbr:addColumn(oTbc3)
oTbr:addColumn(oTbc4)
oTbr:addColumn(oTbc5)
oTbr:addColumn(oTbc6)
oTbr:addColumn(oTbc7)
oTbr:addColumn(oTbc8)
oTbr:addColumn(oTbc9)
oTbr:addColumn(oTbc10)
************ Definicao de Cores ***********
oTbC4:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE", { 9,2 } ,;
IIF ( TIPO ="FORNECEDOR", { 4,2 } ,;
IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
IIF ( TIPO ="COMPRADOR", { 13,2 } ,;
IIF ( TIPO ="CREDOR", { 12,2 } ,;
IIF ( TIPO ="DIVERSOS", { 11,2 } , { 1,2} ) ) ) ) ) ) }
************ largura das colunas ***********
oTbc1:width:=29
************ largura das colunas ***********
************ Marcara das colunas ***********
oTbc2:picture:="@R (99) 9999-9999"
oTbc3:picture:="@R (99) 9999-9999"
oTbc5:picture:="@R (99) 9999-9999"
*******************************************
************ Linhas das colunas ************
oTbr:COLSEP :=DEF_CSEP // desenha colunas Verticais
oTbr:HEADSEP:=HEAD_SEP // desenha colunas Horizontais superior
oTbr:FOOTSEP:=FOOT_SEP // desenha colunas Horizontais inferior
*********************
************ COLUNAS A CONGELAR ************
ColFix := 1 // atraves de variaval colfix
oTbr:freeze := ColFix
**********************************
SELE AGENDA
SET ORDER TO 2
Otbr:gotop()
IExitRequested := .F.
vCONTINUA=" "
DO WHILE !IExitRequested
DO WHILE !oTbr:stabilize()
ENDDO
IF !vCONTINUA="S"
nKey := inkey(0)
ENDIF
IF vCONTINUA="S"
CLEAR TYPEAHEAD // limpa sujeira no teclado
vNOME=SPACE(30)
vREG=RECCOUNT()
vCONTINUA=" "
SETCOLOR( "N/W,N*/RG,N/W* , , N*/W" )
@ ROW(),01 GET vNOME PICT"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
SETCOLOR( "N*/W,W+/BG" )
IF LASTKEY()==27 .OR. EMPTY(vNOME)
TRAVAREG()
DELE
LIBERAREG()
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
LOOP
ENDIF
TRAVAREG()
REPL NOME WITH vNOME
LIBERAREG()
IF FOUND()
MsgINFO("Descrição Já Cadastrada !!!, Favor verificar","Aviso do Sistema")
EXIT
ENDIF
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
GOTO vREG
ELSEIF nKey == K_ENTER .OR. nKey == K_a .OR. nKey == K_A
nCOLNUM:=OTBR:COLPOS
IF TIPO="DIVERSOS"
DO WHILE .T.
vNOME=NOME
vTELEFONE1=TELEFONE1
vCELULAR=CELULAR
vTIPO=TIPO
vTELEFONE2=TELEFONE2
vENDERECO=ENDERECO
vBAIRRO=BAIRRO
vCIDADE=CIDADE
vCEP=CEP
vUF=UF
SET CURSOR ON
SETCOLOR( "N/W,N*/RG,N/W* , , N*/W" )
IF nCOLNUM==1
@ ROW(),COL() GET vNOME PICT"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
ENDIF
IF nCOLNUM==2
LINHA=ROW()
COLUNA=COL()
@ ROW(),COL() GET vTELEFONE1 PICT"@R (99) 9999-9999" when DwnMsg( "Informe o Telefone")
READ
ENDIF
IF nCOLNUM==3
@ ROW(),COL() GET vCELULAR PICT"@R (99) 9999-9999" when DwnMsg( "Informe o Celular")
READ
ENDIF
IF nCOLNUM==4
ERROREG()
ENDIF
IF nCOLNUM==5
@ ROW(),COL() GET vTELEFONE2 PICT"@R (99) 9999-9999" when DwnMsg( "Informe o Telefone")
READ
ENDIF
IF nCOLNUM==6
@ ROW(),COL() GET vENDERECO when DwnMsg( "Informe o Endere‡o")
READ
ENDIF
IF nCOLNUM==7
@ ROW(),COL() GET vBAIRRO when DwnMsg( "Informe o Bairro")
READ
ENDIF
IF nCOLNUM==8
@ ROW(),COL() GET vCIDADE when DwnMsg( "Informe a Cidade")
READ
ENDIF
IF nCOLNUM==9
@ ROW(),COL() GET vUF when DwnMsg( "Informe o Estado (Unidade Federativa)")
READ
ENDIF
IF nCOLNUM==10
@ ROW(),COL() GET vCEP when DwnMsg( "Informe o CEP")
READ
ENDIF
SET CONFIRM OFF
SETCOLOR( "N*/W,W+/BG" )
IF !LASTKEY() = 27
IF !EMPTY(vNOME)
TRAVAREG()
REPL NOME WITH vNOME
REPL TELEFONE1 WITH vTELEFONE1
REPL CELULAR WITH vCELULAR
REPL TIPO WITH vTIPO
REPL TELEFONE2 WITH vTELEFONE2
REPL ENDERECO WITH vENDERECO
REPL BAIRRO WITH vBAIRRO
REPL CIDADE WITH vCIDADE
REPL CEP WITH VCEP
REPL UF WITH vUF
LIBERAREG()
ENDIF
ENDIF
EXIT
ENDDO
ELSE
MsgINFO("Não é permitido a Alteração por esse processo, Favor entrar no cadastro de origem.","Aviso do Sistema" )
ENDIF
SET ORDER TO 2
OTBR:refreshall()
ELSEIF nKey == K_C .OR. nKey == K_c
SELE AGENDA
SET ORDER TO 2
APPE BLAN
TRAVAREG()
REPL TIPO WITH "DIVERSOS"
LIBERAREG()
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
vCONTINUA="S"
LOOP
ELSEIF nKey == K_F .OR. nKey == K_f
vVOLTAR=SPACE(1)
IExitRequested := .T.
ELSEIF nKey == K_DEL
IF TIPO="DIVERSOS"
IF !MsgYesNo("Deseja Realmente Excluir ?" ,"Aviso do Sistema")
LOOP
ENDIF
TRAVAREG()
DELE
LIBERAREG()
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
ELSE
MsgINFO("Não é permitido a Alteração por esse processo, Favor entrar no cadastro de origem.","Aviso do Sistema" )
ENDIF
ELSEIF nKey == K_F1
IF INDEXORD()==2
SET ORDER TO 7
ELSEIF INDEXORD()==7
SET ORDER TO 2
ENDIF
oTbr:refreshall()
ELSEIF nKey == K_F2
aBusca := savenv( 01, 00, 23, 79 )
chave:= Space(30)
SETCOLOR( "N*/W,B/W" )
aWin := Win( 10, 15, 13, 62, "Busca por Nome",WT_VERDE2BRANCO,WD_VERDE2BRANCO)
CLEAR TYPEAHEAD
@ 12, 18 say "Nome.:" get CHAVE pict"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
RstEnv(aBusca)
SETCOLOR( "N*/W,W+/B" )
set softseek on
seek chave
set softseek off
oTbr:refreshall()
ELSEIF nKey == K_DOWN
oTbr:down()
ELSEIF nKey == K_UP
oTbr:up()
ELSEIF nKey == K_PGDN
oTbr:pageDown()
ELSEIF nKey == K_PGUP
oTbr:pageUp()
ELSEIF nKey == K_CTRL_PGUP
oTbr:goTop()
ELSEIF nKey == K_CTRL_PGDN
oTbr:goBottom()
ELSEIF nKey == K_RIGHT
oTbr:right()
ELSEIF nKey == K_LEFT
oTbr:left()
ELSEIF nKey == K_HOME
oTbr:home()
ELSEIF nKey == K_END
oTbr:end()
ELSEIF nKey == K_CTRL_LEFT
oTbr:panLeft()
ELSEIF nKey == K_CTRL_RIGHT
oTbr:panRight()
ELSEIF nKey == K_CTRL_HOME
oTbr:panHome()
ELSEIF nKey == K_CTRL_END
oTbr:panEnd()
ELSEIF nKey == K_ESC
vVOLTAR="S"
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
IExitRequested := .T.
ENDIF
ENDDO
RETURN NIL
Código: Selecionar todos
LOCAL aField[12]
aField[01] := {"NOME" , "C", 35, 0}
aField[02] := {"TELEFONE1", "C", 14, 0}
aField[03] := {"CELULAR" , "C", 14, 0}
aField[04] := {"TIPO" , "C", 11, 0}
aField[05] := {"TELEFONE2", "C", 14, 0}
aField[06] := {"ENDERECO" , "C", 50, 0}
aField[07] := {"BAIRRO" , "C", 18, 0}
aField[08] := {"CIDADE" , "C", 25, 0}
aField[09] := {"CEP" , "C", 8, 0}
aField[10] := {"UF" , "C", 2, 0}
aField[11] := {"CODIGO" , "N", 6, 0}
aField[12] := {"OBS" , "C", 10, 0}
/*
* Para recriar o DBF original, descomente as 3 proximas linhas.
*/
* if .not. File("AGENDA.DBF")
* DbCreate( "AGENDA.DBF", aField )
* endif
Código: Selecionar todos
index on CODIGO TAG 1 to dados\AGENDA
index on NOME TAG 2 to dados\AGENDA
index on TELEFONE1 TAG 3 to dados\AGENDA
index on TELEFONE2 TAG 4 to dados\AGENDA
index on CELULAR TAG 5 to dados\AGENDA
index on CIDADE TAG 6 to dados\AGENDA
index on TIPO TAG 7 to dados\AGENDA
index on TIPO+NOME TAG 8 to dados\AGENDA
Qualquer duvida prende o grito !!!
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
Obrigado Leonardo, pela rápida resposta . . .
Portei rapidinho aqui sua função de Tbrowse . ..
O que eu estou procurando é algo do tipo que existe na tua função como Cadastrar, quando se pressiona a tecla C
Porém, assim como no meu aqui , a sua insere um registro na ultima linha e não na posição corrente do cursor . . .tipo, ao pressionar a tecla C, ela insere um registro em branco no final do DBF
A sua tb se comporta assim?
Ou será que não e eu que fiz algo de errado?
Obrigado
Rodrigo Reis
Portei rapidinho aqui sua função de Tbrowse . ..
O que eu estou procurando é algo do tipo que existe na tua função como Cadastrar, quando se pressiona a tecla C
Porém, assim como no meu aqui , a sua insere um registro na ultima linha e não na posição corrente do cursor . . .tipo, ao pressionar a tecla C, ela insere um registro em branco no final do DBF
A sua tb se comporta assim?
Ou será que não e eu que fiz algo de errado?
Obrigado
Rodrigo Reis
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
Olá, bom dia . . .
Bem que eu desconfiei, que fiz caca . .rssss
Manda pra mim . . .
rodrigoreis@writeme.com
Obrigado
Bem que eu desconfiei, que fiz caca . .rssss
Manda pra mim . . .
rodrigoreis@writeme.com
Obrigado
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Complementando com outra solução (sem ter avaliado a solução ja dada pelo colega). Você Rodrigo ja pensou em fazer um TBROWSE de VETORES ?. Quem sabe isso tornar mais ágil e mais dinamico a inserção e manutenção dos registros do seu DBF. A outra questão, caberia avaliar a estrutura do seu BD. Mas tendo o conceito de PAI/FILHO, isto é utilizando-se de dois BDs, não vejo a necessidade de inserir um registro no meio do BD. Isso também se tiver indexado pelo código em que é feito a vinculação. è apenas uma observação. Todos os caminhos levam a Roma, não me leve mal se falei demais...
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Rodrigo, a utilização do TBROWSE com vetores você poderá utilizá-los ou atribuí-los conforme um exemplo dado no tópico: https://pctoledo.org/forum/viewto ... ores#24941
Este TBROWSE eu utilizo muito é bem útil e não dá problemas de rede nem lentidão como o TBROWSE convencional. Faça um teste antes e avalie se convém adaptar todo o seu código nele.
Este TBROWSE eu utilizo muito é bem útil e não dá problemas de rede nem lentidão como o TBROWSE convencional. Faça um teste antes e avalie se convém adaptar todo o seu código nele.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
O seu problema não esta na programação do tbrowse() e sim de indices.
basta abrir a tabela em questão e selecionar o indice que voce criou pelo campo de categoria, incluir o registro e refrescar o tbrowse() e pronto.
O seu problema não esta na programação do tbrowse() e sim de indices.
basta abrir a tabela em questão e selecionar o indice que voce criou pelo campo de categoria, incluir o registro e refrescar o tbrowse() e pronto.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
No meu caso, para a solução do meu problema eu entendi a lógica...ou melhor, axo que eu entendi a lógica... eu ordenaria ela na exibição , porém eu adicionaria os registros normalmente no final com o append blank. . .
Seria isso?
Usando os vetores não é . ..
Realmente , ainda não havia pensado nisso . . .
Será que é isso mesmo, ou eu to viajando . .rsss
Ainda não recebi seu email, Leonardo . . .Ainda não consegui pro pra funcionar o exemplo que vc me passou, com certeza, estou fazendo algo de errado . . .
Obrigado a vcs pela ajuda pronta e rápida
Rodrigo Reis
Seria isso?
Usando os vetores não é . ..
Realmente , ainda não havia pensado nisso . . .
Será que é isso mesmo, ou eu to viajando . .rsss
Ainda não recebi seu email, Leonardo . . .Ainda não consegui pro pra funcionar o exemplo que vc me passou, com certeza, estou fazendo algo de errado . . .
Obrigado a vcs pela ajuda pronta e rápida
Rodrigo Reis
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ohhh caro Rochinha, bom vê-lo novamente !. (não é pelo seu avatar que eu vejo, tá ?.... hihihi). No seu avátar a imagem aparenta você ser mais velho do que talvez você o seja.
Eu tentei sugerir isso mesmo quando mencionei na questão de PAI/FILHO e INDEXAÇÃO. Claro que ainda não vejo necessidade de inserção física de registro no meio do BD. Mas tudo serve de experiência, não é ?.
Rodrigo, a idéia que passei do TBROWSE com VETORES, é apenas mais uma idéia. Mas como o Rochinha falou, talvez a solução mais simples é indexar seu BD de acordo com a chave que você queira apresentar em tela. Se bem que a exibição em forma indexada atarvés do TBROWSE sempre é mais lenta.
O conhecimento e emprendimento para você fazer através do TBROWSE por VETORES irá demandar um certo tempo para você entender como funciona (dependerá da sua familiarização com MATRIZES). E ã sugestão da com VETORES não possue indexação, claro que para compor a exibição você poderá pegar os registro de forma indexação (isso sim).
Eu tentei sugerir isso mesmo quando mencionei na questão de PAI/FILHO e INDEXAÇÃO. Claro que ainda não vejo necessidade de inserção física de registro no meio do BD. Mas tudo serve de experiência, não é ?.
Rodrigo, a idéia que passei do TBROWSE com VETORES, é apenas mais uma idéia. Mas como o Rochinha falou, talvez a solução mais simples é indexar seu BD de acordo com a chave que você queira apresentar em tela. Se bem que a exibição em forma indexada atarvés do TBROWSE sempre é mais lenta.
O conhecimento e emprendimento para você fazer através do TBROWSE por VETORES irá demandar um certo tempo para você entender como funciona (dependerá da sua familiarização com MATRIZES). E ã sugestão da com VETORES não possue indexação, claro que para compor a exibição você poderá pegar os registro de forma indexação (isso sim).
Editado pela última vez por Pablo César em 14 Set 2007 13:00, em um total de 1 vez.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
Rodrigo Reis
- Usuário Nível 1

- Mensagens: 14
- Registrado em: 13 Set 2007 13:45
- Localização: são paulo
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ahh entendí. Então faça o TBROWSE com VETORES. E crie uma rotina de inserção de acordo seu ponteiro na hora que o usuário acionar tal tarefa.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho Pablo
Se eu deixasse o cabelo e a barba crescerem ficaria assim mesmo. mas como me cabelo é black-power imagine como ficaria, hehehe.
Amiguinho Rodrigo, usuário é sempre cheio de frescuras e portanto voce deve prover a solução final mesmo que não seja da mesma forma como eles querem mas o resultado final sera o que eles querem ver.
Como o Pablo colocou, voce pode despender muito tempo fazendo algo que os usuários nem te falarão obrigado enquanto voce poderia despender este tempo em outras coisas e solucionando com recursos mais simples.
Eu ja penso assim: usuario que tem idéias e pensam que é simples fazer, estes não dão valor ao trabalho feito e os que dão valor sabem que a coisa bem feita leva tempo e dão apoio durante o desenvolvimento.
Se eu deixasse o cabelo e a barba crescerem ficaria assim mesmo. mas como me cabelo é black-power imagine como ficaria, hehehe.
Amiguinho Rodrigo, usuário é sempre cheio de frescuras e portanto voce deve prover a solução final mesmo que não seja da mesma forma como eles querem mas o resultado final sera o que eles querem ver.
Como o Pablo colocou, voce pode despender muito tempo fazendo algo que os usuários nem te falarão obrigado enquanto voce poderia despender este tempo em outras coisas e solucionando com recursos mais simples.
Eu ja penso assim: usuario que tem idéias e pensam que é simples fazer, estes não dão valor ao trabalho feito e os que dão valor sabem que a coisa bem feita leva tempo e dão apoio durante o desenvolvimento.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.