Results 1 to 6 of 6

Thread: Lus probleem(pje)!!!

  1. #1

    Lus probleem(pje)!!!

    Ik heb op een form 10 buttons staan met de volgende 'Name':

    Button1
    Button2
    Button3
    ....
    Button10

    Ik zou graag via een lus de buttons 1 voor 1 willen aanspreken zoals:

    Code:
    for Lus1 := 0 to form1.ComponentCount-1 do begin;
      if Form1.Components[Lus1] is TButton then Form1.Components[Lus1].Color:=Clred;
    end;
    Nu zou ik graag alleen de Tbutton willen aanspreken door de bijbehorende Name te gebruiken zodat ik niet alle componenten op de form hoef door te lopen.
    Ik dacht iets van:

    Code:
    for Lus1 := 1 to 10 do begin;
     TButton.Name(Lus1).Color:= Clred;
    end;
    Deze code werkt natuurlijk niet, maar wat is dan wel de goede manier???

  2. #2
    Gebruik een FindComponent daar kun je een string aan opgeven. (wat henkie ook al zei)
    Last edited by Dees; 09-Mar-08 at 19:33. Reason: iets teveel .net gericht antwoord :D

  3. #3
    Gebruik Findcomponent
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  4. #4
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,180
    Gebruik je oorspronkelijke code. Findcomponent is in een loop veel trager dan de is test.

    (Tenzij je niet alle buttons wilt verkleuren, dan is FindComponent wel goed, maar zo lees ik je vraag niet)
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  5. #5
    De reden dat die code niet werkt is dat TButton geen color property heeft (of er in ieder geval niet zo op reageert). clRed is namelijk zwart... en clBlue ook
    1+1=b

  6. #6
    Dat omzeil je dan door gebruik te maken van een TSpeedbutton ipv een TButton
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •