Fórum dúvida com laço for #287346

07/07/2005

0

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


Angelomi

Angelomi

Responder

Posts

07/07/2005

Rjun

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;



Responder

Gostei + 0

07/07/2005

Angelomi

Para incrementar , poderia usar
o INC(ini,100);

daria certo?

Obrigado pela ajuda


Responder

Gostei + 0

07/07/2005

Rjun

Sim, você pode utilizar o Inc, mas eu acho que a atribuição direta é mais rápida.


Responder

Gostei + 0

09/07/2005

Beppe

Oi!

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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar