[Delphi] For Next met variabele i.p.v. labelnaam

Pagina: 1
Acties:

  • klaaz
  • Registratie: April 2000
  • Laatst online: 25-08 07:14

klaaz

it's me!

Topicstarter
Ik wil de volgende code uitvoeren:
code:
1
2
3
4
5
6
7
8
9
10
For M := 1 to 12 do
Begin
    For I := 1 to TotaalAantal-1 do
    Begin
    If UpperCase(AdvStringGrid1.Cells[5,I]) = 'OFFERTE' then
    if StrToInt(AdvStringGrid1.Cells[7,I]) = M then
    Totaal := Totaal + StrToint(AdvStringGrid1.Cells[8,I]);
    end;
    M.caption  := IntToStr(Totaal);
end;

Waarbij in plaats van de naam van de label een variabele wordt gebruikt (maandnummer). Dus tijdens de 12 loops moeten van de labels 1 t/m 12 de captions gevuld worden mat de opgetelde waarde uit de andere loop.

Hoe doe ik dit?

Het betreft dus regel:
M.caption := IntToStr(Totaal);

Verwijderd

Labels in een array zetten en M als index gebruiken.

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

code:
1
2
3
4
5
6
7
8
for i:=0 to form.componentcount-1 do begin
   if form.components[i] is tlabel then begin
    for j:=1 to 12 do begin
       if tlabel(form.components[i]).name='label'+inttostr(j) then begin
       tlabel(form.components[i]).caption:=inttostr(j) 
    end;
   end;
end;

Zoiets bedoel je? Je kan ook van tevoren een array maken van je labels. Hierover zijn wel eerder topics geweest.

Siditamentis astuentis pactum.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 20:19

Tomatoman

Fulltime prutser

Op zondag 05 mei 2002 16:22 schreef Klaaz het volgende:
Ik wil de volgende code uitvoeren:
code:
1
    For I := 1 to TotaalAantal-1 do
Pas op, je slaat er een over - je doorloopt deze lus TotaalAantal -1 keer. Is dat werkelijk wat je wilt? Alternatieven:
code:
1
2
3
4
5
    for I := 0 to TotaalAantal -1 do

en

    for I := 1 to TotaalAantal do

Een goede grap mag vrienden kosten.


  • klaaz
  • Registratie: April 2000
  • Laatst online: 25-08 07:14

klaaz

it's me!

Topicstarter
de arraymethode werkt en voldoet!
dank jullie wel! :)