AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Control zugraufen per Schleife?

Ein Thema von Taladan · begonnen am 29. Jun 2005 · letzter Beitrag vom 2. Jul 2005
Antwort Antwort
Seite 2 von 3     12 3      
Robert_G
(Gast)

n/a Beiträge
 
#11

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 08:16
Ich dachte ich greife dein Beispiel auf.
Zitat von Taladan:
Delphi-Quellcode:
   for i := 0 to 5 do begin
     button[i].visible := false;
     panel[i].visible := false:
   end;
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#12

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 09:49
Delphi sagt mir aber, das ein ArrayTyp erforderlich ist. Soweit war ich auch schon, das klappt leider nicht.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#13

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 10:40
Delphi-Referenz durchsuchenControls ist doch ein Arraytyp. Klappt ja selbst mit CSharp wunderbar:
Code:
private void SetChildrenVisibility(Control parent, bool visible)
{
  foreach(Control control in parent.Controls) {
    control.Visible = visible;
  }
}

this.SetChildrenVisibility(this, false);
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#14

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 10:51
ich nutze jedoch delphi
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#15

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 10:54
Das habe ich bereits bemerkt. Wenn du aber tatsächlich für das .NET Framework schreibst, und nicht die VCL.NET benutzt, dann ist es letztlich nur eine Frage der anderen Syntax.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#16

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 11:00
Ich habe das kurze Codestückchen mal eben kompiliert und die Exe im Reflector betrachtet. Die Umschaltung auf Delphi ergab:
Delphi-Quellcode:
procedure MainForm.SetChildrenVisibility(parent: Control; visible: boolean);
begin
  for control1 in parent.Controls do
  begin
    control1.Visible := visible
  end
end;
Warum jetzt die Variable control1 nirgendwo deklariert wird, kann ich dir aber nicht sagen. Evtl. ein kleines Problem im Programm, denn die VB-Variante scheint korrekt zu sein:
Code:
Private Sub SetChildrenVisibility(ByVal parent As Control, ByVal visible As Boolean)
      Dim control1 As Control
      For Each control1 In parent.Controls
            control1.Visible = visible
      Next
End Sub
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#17

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 11:05
Auch wenn obriges beispiel funtionieren sollte, hilft es nciht weiter. Immerhin will ich nicht alle sondern ausschlißlich ein paar Panels und Buttons sichbar (und andocken) machen.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#18

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 11:11
Bevor hier Mathias noch 5-mal sagt, dass es geht und du darauf sagst, dass es nicht geht und ...

Ich habe deine Problem so aufgefasst, dass du auf ein paar Controls in einer Schleife zugreifen willst:
Zitat:
Ich möchte gerne auf Controls (u. a. auf Buttons und Panels) per schleifen zugreifen.
Könnte man also fast so auffassen.

Mein kleiner Minischnipdel macht nix anderes als Visible der Controls eines Forms/Panels/TabSheets/whatsoever auf true oder auf false zu setzen.
Die Syntax /IST/ kompatibel zu D.Net auch wenn ich zuviel Stolz habe um es selbst auszuprobieren.
Was Delphi vielleicht nicht schnallt ist das hier:Control : Control; auch wenn's dann kkomisch aussieht, benenne die Variable einfach mal um. )

Nachtrag: Auch wenn obriges beispiel funtionieren sollte, hilft es nciht weiter. Immerhin will ich nicht alle sondern ausschlißlich ein paar Panels und Buttons sichbar (und andocken) machen. Aha! nun kommen wir doch der Sache etwas näher.
Werfe betreffende Controls in einen Container (ArrayList, ControlCollection, ...) und nun kansst du durch den iterieren.

p.s.: Mathias' Code war natürlich falsch.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#19

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 11:16
Zitat von Robert_G:
p.s.: Mathias' Code war natürlich falsch.
Nur wenn man die neue Situation bzw. die neuen Informationen zugrunde legt, an denen ich nun auch teilhaben durfte.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#20

Re: Auf Control zugraufen per Schleife?

  Alt 2. Jul 2005, 11:48
Zitat von MathiasSimmack:
Zitat von Robert_G:
p.s.: Mathias' Code war natürlich falsch.
Nur wenn man die neue Situation bzw. die neuen Informationen zugrunde legt, an denen ich nun auch teilhaben durfte.
Wäre immer falsch, außer du bist so krank und deklarierst Control1 als feld des Forms...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz