Guten Tag... schön vor sich hin Programmiert, fällt plötzlich auf, dass ich nicht weiß, um welchen Array es in derProzedure gerade geht... Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| For C:=1 to 10 do begin BeispielArray[C].Prozedure2; end;
procedure Beispiel.Prozedure2; begin Showmessage('Der BeispielArrayIndes ist'+ ???); end; |
ich kenne dazu mehrere Möglichkeitne:
1. Bei dem Constructor einbauen, welcher Index es ist
Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| constructor Beispiel.Create(derIndex: Integer); begin BeispielIndex := derIndex; end; Showmessage('Der BeispielArrayIndes ist'+ IntToStr(BeispielIndex)); |
Eine Andere nöglichkeit wäre die oben verwendete counter variable (in diesem Fall C) mit zu übergeben
dann säh prouedure 2 so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| For C:=1 to 10 do begin BeispielArray[C].Prozedure2(C); end;
procedure Beispiel.Prozedure2(derIndex: Integer); begin Showmessage('Der BeispielArrayIndes ist'+ IntToStr(derIndex)); end; |
Edit:
Oder man ändert eine schon vorhandene Variable, guckt weleche sich verändert hat (in dem man vorher und nacher alle durchgeht) und setz sie dannach wieder zurück... aber das ist ebenfalls sehr umstädnlich
aber ich denke, dass es einfacher geht oder? gibt es dazu eine Feste Variable/Konstante?