INCLUSÃO / FOR...NEXT
Moderador: Moderadores
INCLUSÃO / FOR...NEXT
Bom dia amgios ! Uma boa semana para todos!
Colegas, eu tenho uma rotina de inclusão, onde uso o laço For ...Next para isso. Só é possível porque sei de antemão quantos registros vou incluir. E essa quantidade varia de 1 até 21 ítens. Mas eu gostaria de eliminar o passo inicial, que seria contar os ítens a incluir. Nesse caso, creio que deveria abandonar esse método( For...next). Poderiam me dar uma idéia de outro procedimento ?
Grato!
[]´s
Netavin.
Colegas, eu tenho uma rotina de inclusão, onde uso o laço For ...Next para isso. Só é possível porque sei de antemão quantos registros vou incluir. E essa quantidade varia de 1 até 21 ítens. Mas eu gostaria de eliminar o passo inicial, que seria contar os ítens a incluir. Nesse caso, creio que deveria abandonar esse método( For...next). Poderiam me dar uma idéia de outro procedimento ?
Grato!
[]´s
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: INCLUSÃO / FOR...NEXT
Um laço será de uso obrigatório ou não dependendo de onde e como vêm esses dados. Se você não especificar isso, não tem como opinar a respeito.Netavin escreveu:Nesse caso, creio que deveria abandonar esse método( For...next). Poderiam me dar uma idéia de outro procedimento ?
[]'s
Maligno
http://www.buzinello.com/prg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Digamos que para o seu caso, a utilização do FOR... NEXT seja para estar em looping e contando os casos. podendo mesmo a utilizar um DO WHILE de 1 ao 21 também.
Se a intenção é eliminar alguma verificar que condiciona a inclusão, você poderá fazé-la dentro do LOOPING, colocando as condições dentro dela.
Se a condição de cada elemento, for simples, faça um DO CASE.
Agora se são várias condições, e ela até possam serem combinadas ou entrelaçadas. Isto é, uma condição depende da outra: faça com IFs e crie inicialamente uma variável "negativa" que ora passando por esses IFs venham a atribuir essa mesma variável como "verdadeira". Exemplo:
FOR I=1 TO 21
VFACA:=.F.
IF ..
VFACA=.T.
ELSE
IF VFACA=.T. .AND. VCPODE() // Poderias colocar uma função de consulta que retorne .T. ou .F.
VFACA:=.T.
ENDIF
ENDIF
NEXT
Mas como saber bem o que você está precisando se sabemos quais seria a sua necessidade. Coloque seu exemplo ou código fonte e iremos ajudá-lo.
Um clip-abraço :)Pos
Se a intenção é eliminar alguma verificar que condiciona a inclusão, você poderá fazé-la dentro do LOOPING, colocando as condições dentro dela.
Se a condição de cada elemento, for simples, faça um DO CASE.
Agora se são várias condições, e ela até possam serem combinadas ou entrelaçadas. Isto é, uma condição depende da outra: faça com IFs e crie inicialamente uma variável "negativa" que ora passando por esses IFs venham a atribuir essa mesma variável como "verdadeira". Exemplo:
FOR I=1 TO 21
VFACA:=.F.
IF ..
VFACA=.T.
ELSE
IF VFACA=.T. .AND. VCPODE() // Poderias colocar uma função de consulta que retorne .T. ou .F.
VFACA:=.T.
ENDIF
ENDIF
NEXT
Mas como saber bem o que você está precisando se sabemos quais seria a sua necessidade. Coloque seu exemplo ou código fonte e iremos ajudá-lo.
Um clip-abraço :)Pos
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Buenas...
Veja um exemplo abaixo:
Tche. foi como eu disse não entendi...exatamente o que vc quer...mas ai esta dois simples exemplos...
Abraços
Leonardo Machado
Tche, eu não entendi...bem o que vc quer...mas abaixo tem um exemplo de como faço para usar FOR/NEXT.E essa quantidade varia de 1 até 21 ítens. Mas eu gostaria de eliminar o passo inicial, que seria contar os ítens a incluir. Nesse caso, creio que deveria abandonar esse método( For...next).
Veja um exemplo abaixo:
Código: Selecionar todos
*INICIO DO EXEMPLO1
vdata1=date()
vdata2=date()+30
vdif=vdata1-vdata1
vCOD=1
FOR i=1 to vdif
REPL DATA WITH DATA1
REPL COD WITH VCOD
NEXT
DBCOMMIT()
DbUnlock()
*FIM DO EXEMPLO1
*INICIO DO EXEMPLO2
vdata1=date()
vdata2=date()+30
vdif=vdata1-vdata1
vCOD=1
vCAMPO=0
vARQ:={}
FOR i=1 to vdif
vCAMPO=vCAMPO+1
aadd( vARQ, {vCAMPO, "N", 6,0} )
NEXT
aadd( vARQ, {"DESCRICAO","C" ,50,0} )
aadd( vARQ, {"DATA_VENC", "D", 8,0} )
aadd( vARQ, {"VALOR", "N", 12,2} )
DBcreate("C:\TEMP.DBF", vARQ)
*FIM DO EXEMPLO2Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Duvido muito que alguém vá entender o teor do problema que aflige o colega até ele especificar exatamente do que se trata. Se a gente for ficar especulando o que poderia ser, até pode ser que alguém acerte um "chute". Mas até isso acontecer, essa thread vai longe. 
[]'s
Maligno
http://www.buzinello.com/prg
[]'s
Maligno
http://www.buzinello.com/prg
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Verdade Maligno, olha como ficou a do Colega SCOM sobre os registro em Branco....Duvido muito que alguém vá entender o teor do problema que aflige o colega até ele especificar exatamente do que se trata. Se a gente for ficar especulando o que poderia ser, até pode ser que alguém acerte um "chute". Mas até isso acontecer, essa thread vai longe.![]()
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Sim, mas foi bem diferente. Lá houve uma discussão paralela que nada tinha a ver com o problema do colega.sygecom escreveu:olha como ficou a do Colega SCOM sobre os registro em Branco....
[]'s
Maligno
http://www.buzinello.com/prg
For next
Bom dia a todos!
Sei q a melhor maneira de analisar é vendo os códigos. É que toma tanto espaço. Quando programava em MBasic, trocentos anos atrás, o For ...next para mim tinha outras utilizações. Eu não imaginava que poderia utilizá-lo como uso agora nesta rotina de inclusão. Porisso estou achando q não é o melhor caminho. Apenas isso. Mas está aí a rotina. Funciona 90%. Não me permite, por exemplo, voltar ao Get anterior se eu precisar.
/* >>> InclusÆo de Toras no Estoque <<< */
/*****************************************/
Function INCL_EST
PUBLIC VEND
Set Key -4 to Con_esse /* Pesquisa nome de essˆncias */
Set Key -5 to
Set Cursor off
Use CADTORA Index placa,esse,roma
If !File("Placa.ntx")
Index on Plac to Placa
Else
Set Index to placa
Endif
If !File("esse.ntx")
Index on esse to esse
Else
Set Index to esse
Endif
If !File("roma.ntx")
Index on roma to roma
Else
Set Index to roma
Endif
Set Index to placa,esse,roma
Reindex
OrdSetFocus(1)
Set Uniq on
Do While .t.
Set Color to
Set Escape on
Set Cursor on
/* Cria vari veis */
Tm3 :=0
Tpg :=0
MARC :=0
VDTEN :=DATE() /* Data de cadastro do Romaneio */
VROMA :=0 /* N§ do romaneio */
ro_imp:=0
VQTD :=0 /* Quantidade de toras do Romaneio */
VVEND :=Space(15) /* Nome do vendedor/Toreiro */
VFRET :=Space(15) /* Nome do freteiro se houver */
Linha :=22
LIN46()
@ 46,53 Say "<F5>"
Setcolor("W/N")
@ 46,58 Say "Lista das Essencias"
Setcolor("B/W,W/B")
/* Desenha o quadro */
DispBox(16,00,43,79,chr(219),"BG/W")
DispBox(43,00,45,79,chr(219),"bg/w")
@ 17,01 Clear to 42,78
@ 44,01 Clear to 44,78
@ 48,03 Say PADC(" Entrada de toras no estoque ",75)
Setcolor("N/W,W/B")
Set Cursor on
@ 18,03 Say "Data:" Get vdten
@ 18,21 Say "N§ romaneio:" Get vroma Pict "99999" Valid (N_roma(vroma))
@ 18,41 Say "Qtde :" Get VQTD Pict "99" Valid(C_QDE(VQTD)) When Dica(19,40,"Qte itens")
@ 18,53 Say "Toreiro:" Get vvend Pict "@!" Valid !empty(vvend)
@ 19,52 Say "Freteiro:" Get VFRET Pict "@!" Valid Dicafinal()
Setcolor("r/w")
@ 20,01 Say Repl("-",78)
Setcolor("N/W,W/B")
Save Screen to Limpadica
Read
Set Cursor off
Restore Screen From Limpadica
If Lastkey() = 27
Tone(1700,1)
Alert("Opera‡Æo abortada!")
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
For X = 1 to VQTD
VPLAC=0 /* N§ da plaqueta */
VESSE=Space(16) /* Nome da essˆncia */
VDIAM=0 /* Diƒmetro da tora */
VCOMP=0 /* Comprimento da tora */
VDESC=0 /* Desconto em Cm */
VTDES=0 /* Total do desconto e M3 */
VTTM3=0 /* Total da tora em M3 */
VVLM3=0 /* Valor por M3 em R$ */
VVLPG=0 /* Valor pago na tora */
@ 21,02 Say "Placa"
@ 21,10 Say "Esp‚cie"
@ 21,29 Say "Diƒm"
@ 21,36 Say "Comp"
@ 21,44 Say "Desc"
@ 21,51 Say "Vlr/M3"
@ 21,60 Say "Ttl M3"
@ 21,70 Say "Vlr pago"
Set Cursor on
@ Linha,02 Get VPLAC Pict "99999" Valid !EMPTY(VPLAC>0)
Read
Set Cursor off
If Lastkey() = 27
Tone(1700,1)
Alert("Romaneio Cancelado!")
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Seek VPLAC
If Found()
Set Cursor off
Tone(1800,1)
Alert("Plaqueta j cadastrada!")
Tone(1700,1)
If OPC:=Alert("Continuar?",{"Sim","NÆo"},"W/B") = 1
X = X - 1
Set Cursor on
Loop
Else
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Else
Setcolor("N/BG")
If X = VQTD
@ 45,18 Clear to 45,63
@ 45,18 Say " Cadastrando £ltimo item do romaneio n§ "+Alltrim(STR(VROMA))
Else
@ 45,18 Say " Cadastrando item n§ "+Alltrim(str(x))+"/"+Alltrim(STR(VQTD))+" do Romaneio n§ "+Alltrim(str(vroma))+" "
Endif
Set Cursor on
Setcolor("N/W,W/B")
@ Linha,10 Get VESSE Pict "@!" Valid((TEM(VESSE)))
@ Linha,29 Get VDIAM Pict "9.99" Valid Diametro(VDIAM)
@ Linha,36 Get VCOMP Pict "99.99" Valid Valida(VCOMP)
@ Linha,44 Get VDESC Pict "9.99" Valid (VDESC < vdiam)
@ Linha,51 Get VVLM3 Pict "@E 999.99" Valid Verif_vlr(VVLM3)
Read
Set Cursor off
If Lastkey()=27
Tone(1700,1)
Alert("Romaneio cancelado!")
Exit
Endif
/* >>>> Aqui ‚ feito o c lculo da tora <<<< */
VTDES:=(vdesc^2)*vcomp*0.7854
VTTM3:=((vdiam^2)*vcomp*0.7854)-(vdesc^2)*vcomp*0.7854
VVLPG:=VTTM3*VVLM3
SetColor("w/b")
@ Linha,60 Say Transform(vttm3, "@e 99.999")
@ Linha,70 Say Transform(vvlpg, "@e 9,999.99")
Setcolor("N/W,W/B")
ro_imp=vroma /* Informa‡Æo para a fun‡Æo Impr_ro2 */
ro_ven=vvend /* Idem */
do while .t.
If travarquivo(5)
Appe Blank
Repl PLAC WITH VPLAC,DTEN WITH VDTEN,ROMA WITH VROMA,;
ESSE WITH VESSE,DIAM WITH VDIAM,COMP WITH VCOMP,;
DESC WITH VDESC,TDES WITH VTDES,TTM3 WITH VTTM3,;
VEND WITH VVEND,FRET WITH VFRET,VLM3 WITH VVLM3,;
VLPG WITH VVLPG
Else
loop
Endif
exit
enddo
Tone(1800,1)
Alert("Cadastro",,"W/B")
Commit
Endif
Linha++
Tm3:=Tm3+vttm3
Tpg:=Tpg+vvlpg
@ 44,46 Say "Totais:" + Transform(Tm3,"@e 9,999.999") + " M3"
@ 44,67 Say "R$ " + Transform(Tpg,"@e 9,999.99")
Next
Set Cursor off
Tone(1600,1);Tone(1600,2);Tone(1600,3)
Alert("Fim do Romaneio "+Alltrim(STR(VROMA)),,"w/g")
Setcolor("bg/bg")
@ 45,01 Clear to 45,78
Tone(1700,1)
If Opc:=Alert("Deseja Imprimir?",{"Sim","NÆo"},"w/bg")=1
Set Cursor off
Impr_ro2()
Tone(1700,1)
Set Cursor off
mais:=Alert("Mais Romaneios?",{"Sim","NÆo"})
If mais = 1
Loop
Else
DbCloseAll()
Exit
Endif
Else
Tone(1700,1)
Set Cursor off
opc:=Alert("Mais Romaneios?",{"Sim","NÆo"}, "w/bg")
If opc = 1
Loop
Else
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Endif
Enddo
DbCloseAll()
Return
[]´s
Netavin
Sei q a melhor maneira de analisar é vendo os códigos. É que toma tanto espaço. Quando programava em MBasic, trocentos anos atrás, o For ...next para mim tinha outras utilizações. Eu não imaginava que poderia utilizá-lo como uso agora nesta rotina de inclusão. Porisso estou achando q não é o melhor caminho. Apenas isso. Mas está aí a rotina. Funciona 90%. Não me permite, por exemplo, voltar ao Get anterior se eu precisar.
/* >>> InclusÆo de Toras no Estoque <<< */
/*****************************************/
Function INCL_EST
PUBLIC VEND
Set Key -4 to Con_esse /* Pesquisa nome de essˆncias */
Set Key -5 to
Set Cursor off
Use CADTORA Index placa,esse,roma
If !File("Placa.ntx")
Index on Plac to Placa
Else
Set Index to placa
Endif
If !File("esse.ntx")
Index on esse to esse
Else
Set Index to esse
Endif
If !File("roma.ntx")
Index on roma to roma
Else
Set Index to roma
Endif
Set Index to placa,esse,roma
Reindex
OrdSetFocus(1)
Set Uniq on
Do While .t.
Set Color to
Set Escape on
Set Cursor on
/* Cria vari veis */
Tm3 :=0
Tpg :=0
MARC :=0
VDTEN :=DATE() /* Data de cadastro do Romaneio */
VROMA :=0 /* N§ do romaneio */
ro_imp:=0
VQTD :=0 /* Quantidade de toras do Romaneio */
VVEND :=Space(15) /* Nome do vendedor/Toreiro */
VFRET :=Space(15) /* Nome do freteiro se houver */
Linha :=22
LIN46()
@ 46,53 Say "<F5>"
Setcolor("W/N")
@ 46,58 Say "Lista das Essencias"
Setcolor("B/W,W/B")
/* Desenha o quadro */
DispBox(16,00,43,79,chr(219),"BG/W")
DispBox(43,00,45,79,chr(219),"bg/w")
@ 17,01 Clear to 42,78
@ 44,01 Clear to 44,78
@ 48,03 Say PADC(" Entrada de toras no estoque ",75)
Setcolor("N/W,W/B")
Set Cursor on
@ 18,03 Say "Data:" Get vdten
@ 18,21 Say "N§ romaneio:" Get vroma Pict "99999" Valid (N_roma(vroma))
@ 18,41 Say "Qtde :" Get VQTD Pict "99" Valid(C_QDE(VQTD)) When Dica(19,40,"Qte itens")
@ 18,53 Say "Toreiro:" Get vvend Pict "@!" Valid !empty(vvend)
@ 19,52 Say "Freteiro:" Get VFRET Pict "@!" Valid Dicafinal()
Setcolor("r/w")
@ 20,01 Say Repl("-",78)
Setcolor("N/W,W/B")
Save Screen to Limpadica
Read
Set Cursor off
Restore Screen From Limpadica
If Lastkey() = 27
Tone(1700,1)
Alert("Opera‡Æo abortada!")
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
For X = 1 to VQTD
VPLAC=0 /* N§ da plaqueta */
VESSE=Space(16) /* Nome da essˆncia */
VDIAM=0 /* Diƒmetro da tora */
VCOMP=0 /* Comprimento da tora */
VDESC=0 /* Desconto em Cm */
VTDES=0 /* Total do desconto e M3 */
VTTM3=0 /* Total da tora em M3 */
VVLM3=0 /* Valor por M3 em R$ */
VVLPG=0 /* Valor pago na tora */
@ 21,02 Say "Placa"
@ 21,10 Say "Esp‚cie"
@ 21,29 Say "Diƒm"
@ 21,36 Say "Comp"
@ 21,44 Say "Desc"
@ 21,51 Say "Vlr/M3"
@ 21,60 Say "Ttl M3"
@ 21,70 Say "Vlr pago"
Set Cursor on
@ Linha,02 Get VPLAC Pict "99999" Valid !EMPTY(VPLAC>0)
Read
Set Cursor off
If Lastkey() = 27
Tone(1700,1)
Alert("Romaneio Cancelado!")
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Seek VPLAC
If Found()
Set Cursor off
Tone(1800,1)
Alert("Plaqueta j cadastrada!")
Tone(1700,1)
If OPC:=Alert("Continuar?",{"Sim","NÆo"},"W/B") = 1
X = X - 1
Set Cursor on
Loop
Else
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Else
Setcolor("N/BG")
If X = VQTD
@ 45,18 Clear to 45,63
@ 45,18 Say " Cadastrando £ltimo item do romaneio n§ "+Alltrim(STR(VROMA))
Else
@ 45,18 Say " Cadastrando item n§ "+Alltrim(str(x))+"/"+Alltrim(STR(VQTD))+" do Romaneio n§ "+Alltrim(str(vroma))+" "
Endif
Set Cursor on
Setcolor("N/W,W/B")
@ Linha,10 Get VESSE Pict "@!" Valid((TEM(VESSE)))
@ Linha,29 Get VDIAM Pict "9.99" Valid Diametro(VDIAM)
@ Linha,36 Get VCOMP Pict "99.99" Valid Valida(VCOMP)
@ Linha,44 Get VDESC Pict "9.99" Valid (VDESC < vdiam)
@ Linha,51 Get VVLM3 Pict "@E 999.99" Valid Verif_vlr(VVLM3)
Read
Set Cursor off
If Lastkey()=27
Tone(1700,1)
Alert("Romaneio cancelado!")
Exit
Endif
/* >>>> Aqui ‚ feito o c lculo da tora <<<< */
VTDES:=(vdesc^2)*vcomp*0.7854
VTTM3:=((vdiam^2)*vcomp*0.7854)-(vdesc^2)*vcomp*0.7854
VVLPG:=VTTM3*VVLM3
SetColor("w/b")
@ Linha,60 Say Transform(vttm3, "@e 99.999")
@ Linha,70 Say Transform(vvlpg, "@e 9,999.99")
Setcolor("N/W,W/B")
ro_imp=vroma /* Informa‡Æo para a fun‡Æo Impr_ro2 */
ro_ven=vvend /* Idem */
do while .t.
If travarquivo(5)
Appe Blank
Repl PLAC WITH VPLAC,DTEN WITH VDTEN,ROMA WITH VROMA,;
ESSE WITH VESSE,DIAM WITH VDIAM,COMP WITH VCOMP,;
DESC WITH VDESC,TDES WITH VTDES,TTM3 WITH VTTM3,;
VEND WITH VVEND,FRET WITH VFRET,VLM3 WITH VVLM3,;
VLPG WITH VVLPG
Else
loop
Endif
exit
enddo
Tone(1800,1)
Alert("Cadastro",,"W/B")
Commit
Endif
Linha++
Tm3:=Tm3+vttm3
Tpg:=Tpg+vvlpg
@ 44,46 Say "Totais:" + Transform(Tm3,"@e 9,999.999") + " M3"
@ 44,67 Say "R$ " + Transform(Tpg,"@e 9,999.99")
Next
Set Cursor off
Tone(1600,1);Tone(1600,2);Tone(1600,3)
Alert("Fim do Romaneio "+Alltrim(STR(VROMA)),,"w/g")
Setcolor("bg/bg")
@ 45,01 Clear to 45,78
Tone(1700,1)
If Opc:=Alert("Deseja Imprimir?",{"Sim","NÆo"},"w/bg")=1
Set Cursor off
Impr_ro2()
Tone(1700,1)
Set Cursor off
mais:=Alert("Mais Romaneios?",{"Sim","NÆo"})
If mais = 1
Loop
Else
DbCloseAll()
Exit
Endif
Else
Tone(1700,1)
Set Cursor off
opc:=Alert("Mais Romaneios?",{"Sim","NÆo"}, "w/bg")
If opc = 1
Loop
Else
DbCloseAll()
Rest Screen from Tel1
Exit
Endif
Endif
Enddo
DbCloseAll()
Return
[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Caro colega Netavin,
Pelo que eu conseguí entender, você precisa fazer uma inclusão na qual um dos itens podem ser multiplos e você faz através de um looping (neste caso FOR...NEXT) para tratar cada um deles. Neste caso eu diria que você poderia trabalhar tranquilamente com VETORES. Bem... não sei se você viu, mas eu tenho uma grande tendência a utilizar TBROWSEs. Eu faria tomando o conceito PAI + FILHOS para a inclusão, fazendo através de variáveis+vetores. Esta seria para mim a unica forma de você poder NAVEGAR entre os seus GETs.
Se você tiver paciência, empenho e ainda quiser fazer assim terei todo prazer de lhe ajudar. Tome em conta que você irá resolver uma limitação de navegação acrescentando novas técnicas de programação OOP com TBROWSE.
Mas seria muito melhor você colocar o seu código-fonte, utilizando os recursos de edição/exibição e que mantenha as suas devidas endentações para melhor comprensão do seu código. Se quiser saber a respeito: Clique aqui (Produzir código ou texto com uma largura fixa).
Espero que surjam outras sugestões dos colegas para que você tenha mais opções e escolher a mais apropriada para você. É só dizer...
Um clip-abraço :)Pos
Pelo que eu conseguí entender, você precisa fazer uma inclusão na qual um dos itens podem ser multiplos e você faz através de um looping (neste caso FOR...NEXT) para tratar cada um deles. Neste caso eu diria que você poderia trabalhar tranquilamente com VETORES. Bem... não sei se você viu, mas eu tenho uma grande tendência a utilizar TBROWSEs. Eu faria tomando o conceito PAI + FILHOS para a inclusão, fazendo através de variáveis+vetores. Esta seria para mim a unica forma de você poder NAVEGAR entre os seus GETs.
Se você tiver paciência, empenho e ainda quiser fazer assim terei todo prazer de lhe ajudar. Tome em conta que você irá resolver uma limitação de navegação acrescentando novas técnicas de programação OOP com TBROWSE.
Mas seria muito melhor você colocar o seu código-fonte, utilizando os recursos de edição/exibição e que mantenha as suas devidas endentações para melhor comprensão do seu código. Se quiser saber a respeito: Clique aqui (Produzir código ou texto com uma largura fixa).
Espero que surjam outras sugestões dos colegas para que você tenha mais opções e escolher a mais apropriada para você. É só dizer...
Um clip-abraço :)Pos
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Até foi diferente desse caso aqui, mas a discussão não foi paralela.....era sobre exatamente o que o colega poderia esta passando ou pecando....Maligno escreveu:Sim, mas foi bem diferente. Lá houve uma discussão paralela que nada tinha a ver com o problema do colega.sygecom escreveu:olha como ficou a do Colega SCOM sobre os registro em Branco....
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
For ... next
ok Pablo !
Sua técnica já me chamou a atenção sim.
Rapaz, não sei nada de Tbrowse e Vetores. Acho que é porque nunca precisei, ou achava que não precisava. Mas lhe afirmo que vou começar a estudar esse assunto ainda hoje.
Eu não sabia como postar código de maneira certa e correta. Vi o link. Nas próximas oportunidades farei uso.
Grato a todos!
[]´s
Netavin.
Sua técnica já me chamou a atenção sim.
Rapaz, não sei nada de Tbrowse e Vetores. Acho que é porque nunca precisei, ou achava que não precisava. Mas lhe afirmo que vou começar a estudar esse assunto ainda hoje.
Eu não sabia como postar código de maneira certa e correta. Vi o link. Nas próximas oportunidades farei uso.
Grato a todos!
[]´s
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: For ... next
Que bom. Sei que você sabe... o conhecimento não ocupa espaço e eu ajudarei ao colega para que domine esse dragão !.Netavin escreveu:Mas lhe afirmo que vou começar a estudar esse assunto ainda hoje.
Desculpe ser chato mas veja que ainda dá... Pra re-editar ver aquiNetavin escreveu:Eu não sabia como postar código de maneira certa e correta. Vi o link. Nas próximas oportunidades farei uso.
Para o seu aprendizado e resolver esta sua questão, acho que seria de muita utilidade se nos passasse parte do seu CADTORA.DBF. Veja como eu fiz colocando apenas alguns registros em forma de texto e depois importar para o DBF criado. Isso vai estimular a executar esse módulo seu e deixar ele funcionando. Veja aqui o exemplo
Um clip-abraço :)Pos

