Avatar billede xing Novice
17. april 2005 - 16:34 Der er 7 kommentarer og
1 løsning

for each lykke

Hvordan laver man en Lykke med for each i delphi 7?

var
Navn : String;

for each object in form1 do
Begin
  navn := navn + object.name
end;
Avatar billede Slettet bruger
17. april 2005 - 16:45 #1
Man kan ikke ligge strenge sammen på den måde og mener heller der er nogen for each måske en "do with", men ved ikke om den kan bruges i dette tilfælde med form1.
Avatar billede arne_v Ekspert
17. april 2005 - 16:49 #2
Pascal som Delphi jo trods alt er en variant af har ikke en foreach løkke. Brug en
almindelig for løkke.

Jeg mener nu nok at man kan konkatanere strenge med + i delphi. Jeg er mere
skeptisk overfor hvordan man nu traverserer en form.
Avatar billede xing Novice
17. april 2005 - 17:00 #3
Hvordan laver man en for lykke hvor man løber alle objecterne igennem?

jeg har en form med 98 combobox på..

Jeg vil gerne have en sum på dem alle ind i en integer..

Kan det virklig ikke gøres på mindre en 98 linnier?
Avatar billede kroning Nybegynder
17. april 2005 - 18:46 #4
Du skal bruge en traversal function f.eks:

function DoIt(WinC : TWinControl) : integer;
var
  i : integer;
begin
  result:=0;
  for i:=0 to WinC.ControlCount-1 do
    if WinC.Controls[i] is TComboBox then
      Inc(Result,StrToInt((WinC.Controls[i] as TComboBox).Text))
    else
      if WinC.Controls[i] is Twincontrol then
        Inc(Result,DoIt((WinC.Controls[i] as TWinControl)));
end;

Den kalden sådan:

var
  Sum : integer;
begin
  sum:=DoIt(Form1);
  showmessage(inttostr(sum));
end;
Avatar billede kroning Nybegynder
17. april 2005 - 19:10 #5
Til min forrige post: Jeg mener self. en rekursiv funktion. En traversal funktion er vel noget vrøvl :)
Avatar billede xing Novice
17. april 2005 - 20:11 #6
Du er for sej kroning...

Tusinde tusinde tak..
Avatar billede xing Novice
17. april 2005 - 20:11 #7
Klikker du svar
Avatar billede kroning Nybegynder
17. april 2005 - 21:22 #8
Jep
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester