Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "with"-Schleife für mehrere Objekte?? (https://www.delphipraxis.net/18687-schleife-fuer-mehrere-objekte.html)

ak1 23. Mär 2004 11:00


"with"-Schleife für mehrere Objekte??
 
Hallo Leute,

ich habe einen Code der sieht ungefähr so aus:

Delphi-Quellcode:
with Objekt1 do begin
    //irgendwas
  end;
Jetzt würde ich diese doch sehr lange Schleife gerne für mehrere Objekte anwenden, ungefähr so:

Delphi-Quellcode:
with (Objekt1) and (Objekt2) and (Objekt3) do begin
    //irgendwas
  end;
Das geht natürlich nicht, aber ich denke es ist verständlich was ich tun will. Wie könnte ich das sonst machen?

Gruß

Tyrael Y. 23. Mär 2004 11:01

Re: "with"-Schleife für mehrere Objekte??
 
Sind alle Objekte vom selben Typ ?

Tyrael Y. 23. Mär 2004 11:08

Re: "with"-Schleife für mehrere Objekte??
 
..wenn alle Objekte z.B. vom Typ TmeinTyp sind und du innerhalb der Methode nen Sender zur Verfügung hast dann beispielsweise so...


Delphi-Quellcode:
with Sender as TmeinTyp do
begin
 -irgendwas-
end;

Sharky 23. Mär 2004 11:09

Re: "with"-Schleife für mehrere Objekte??
 
Hai ak1,

wenn Du sicherstellen kannst das Du immer die Eigenschaft des richtigen Objektes ansprichst geht es.

Delphi-Quellcode:
begin
  with Edit1, Label1 do
  begin
    Caption := Text;
  end;
end;
Oder kürzer ;-)
Delphi-Quellcode:
begin
  Label1.Caption := Edit1.Text;
end;

Dannyboy 23. Mär 2004 11:12

Re: "with"-Schleife für mehrere Objekte??
 
Hallo ak1,
ich setzte mal voraus, dass Deine Objekte zur selben Klasse gehören. :!:
Packe sie mal alle in ein Array und greife dann so zu (ungetestet):
Delphi-Quellcode:
VAR MYObjects : Array[1..<anzahl der objekte>] of <Oberklasse>
            i : integer;
// objekte hinein packen ... ... ...
// ...
// ...
// zugriff auf alle Objekte im Array
for i:= 1 to <anzahl der objekte> do
    With MYObjects[i] Do
    begin
      // whatever you wanna do
    end;
Gruß Dannyboy

jbg 23. Mär 2004 11:41

Re: "with"-Schleife für mehrere Objekte??
 
Zitat:

Zitat von ak1
"with"-Schleife

Du weißt aber schon die Definition einer Schleife? Nicht jeder Block / mit begin-end begrenzter Quellcode ist eine Schleife.

ak1 23. Mär 2004 11:53

Re: "with"-Schleife für mehrere Objekte??
 
Die Objekte gehören natürlich alle zur gleichen Klasse.

Zitat:

Zitat von Sharky

Delphi-Quellcode:
begin
  with Edit1, Label1 do
  begin
    Caption := Text;
  end;
end;
[/delphi]

Das findet Delphi irgendwie nicht so gut (Program bleibt stehen). Ich werde jetzt mal die Version mit dem Array probieren.

Danke für die Tips.

Update: Die Geschichte mit dem Array klappt sehr gut. Danke nochmal.

ak1 23. Mär 2004 11:55

Re: "with"-Schleife für mehrere Objekte??
 
Zitat:

Zitat von jbg
Zitat:

Zitat von ak1
"with"-Schleife

Du weißt aber schon die Definition einer Schleife? Nicht jeder Block / mit begin-end begrenzter Quellcode ist eine Schleife.

Hast ja recht, da "with" nur einmal ausgeführt wird, ist es auch nur eine Anweisung. :-)

Sharky 23. Mär 2004 11:56

Re: "with"-Schleife für mehrere Objekte??
 
Zitat:

Zitat von ak1
...Das findet Delphi irgendwie nicht so gut (Program bleibt stehen). .....

Hmmm..... geht bei mir ohne Probleme! Aber da Du ja alle Objekte von der selben Klasse hast geht das so natürlich nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 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