dúvida com laço for
Pessoal, tem dois dias q estou tentando terminar uma funcionalidade em um sistema,
e não estou conseguindo, por isso peço a ajuda de vcs.
Vou explicar rapidamente o objetivo dessa funcionalidade:
Uma tela de cadastro com 3 textbox(txtAndarIni, txtAndarFim, txtIntervalo)
o objetico é inserir andares numa tabela.
Fiz isso em ASP(mas no asp, tem lá o ´step´), mas no Delphi estou levando uma surra
Segue o codigo em ASP:
ini = CInt(txtAndarIni.text)
fim = CInt(txtAndarFim.text)
intervalo = CInt(txtIntervalo.text)
for ini = ini to fim step 100
Dim i
for i= ini to ini + intervalo
//INSERIR ANDAR i
next
nex
EX: ini = 401, fim = 1203, intervalo = 2
//DADOS INSERIDOS NA TABELA
401
402
403
501
502
503
...
1201
1202
1203
e não estou conseguindo, por isso peço a ajuda de vcs.
Vou explicar rapidamente o objetivo dessa funcionalidade:
Uma tela de cadastro com 3 textbox(txtAndarIni, txtAndarFim, txtIntervalo)
o objetico é inserir andares numa tabela.
Fiz isso em ASP(mas no asp, tem lá o ´step´), mas no Delphi estou levando uma surra
Segue o codigo em ASP:
ini = CInt(txtAndarIni.text)
fim = CInt(txtAndarFim.text)
intervalo = CInt(txtIntervalo.text)
for ini = ini to fim step 100
Dim i
for i= ini to ini + intervalo
//INSERIR ANDAR i
next
nex
EX: ini = 401, fim = 1203, intervalo = 2
//DADOS INSERIDOS NA TABELA
401
402
403
501
502
503
...
1201
1202
1203
Angelomi
Curtidas 0
Respostas
Rjun
07/07/2005
Em Delphi não tem step. Você pode utilizar o while.
ini := StrToInt(txtAndarIni.text); fim := StrToInt(txtAndarFim.text); intervalo := StrToInt(txtIntervalo.text); while (ini <= fim) do begin for i := ini to (ini + intervalo) // Inserir Andar; fim := fim + 100; end;
GOSTEI 0
Angelomi
07/07/2005
Para incrementar , poderia usar
o INC(ini,100);
daria certo?
Obrigado pela ajuda
o INC(ini,100);
daria certo?
Obrigado pela ajuda
GOSTEI 0
Rjun
07/07/2005
Sim, você pode utilizar o Inc, mas eu acho que a atribuição direta é mais rápida.
GOSTEI 0
Beppe
07/07/2005
Oi!
Para incrementar uma variável local, a performance é a mesma. A única diferença é semântica, já que ambos os lados de uma atribuição precisam ser avaliados, e por isso expressões não-funcionais podem gerar resultados diferentes.
Exemplo(Random pode retornar resultados diferentes):
Inc(A[Random(10), 100]);
A[Random(10)] := A[Random(10)] + 100;
Sim, você pode utilizar o Inc, mas eu acho que a atribuição direta é mais rápida.
Para incrementar uma variável local, a performance é a mesma. A única diferença é semântica, já que ambos os lados de uma atribuição precisam ser avaliados, e por isso expressões não-funcionais podem gerar resultados diferentes.
Exemplo(Random pode retornar resultados diferentes):
Inc(A[Random(10), 100]);
A[Random(10)] := A[Random(10)] + 100;
GOSTEI 0