Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Problem mit Bearbeiten eines Objekts im Array . OOP (https://www.delphipraxis.net/166571-problem-mit-bearbeiten-eines-objekts-im-array-oop.html)

hotkey 19. Feb 2012 19:20

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Ja , danke , dass du es endlich verstanden hast :D

Wir müssen ein Array nehmen , aber das Problem ist , wie mache ich das jetzt ?

Ich hab schon ein Array , aber wie füg ich da jetzt etwas hinzu ?

PS: Danke nochmal , dass du dir Zeit genommen hast und die Frage beantwort hast.
Bin halt noch ein Neuling , was OOP angeht :D
Tut mir echt Leid..

himitsu 19. Feb 2012 19:26

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Zitat:

Zitat von hotkey (Beitrag 1151901)
, aber wie füg ich da jetzt etwas hinzu ?

Ähhhhhhh, ich bin mir nicht ganz sicher, aber an deiner Stelle würde ich mal nachsehn, was du im Post #1 so alles geschrieben hast.

hotkey 19. Feb 2012 19:32

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Na ich hab doch zuerst ein Array erstellt , oder ?

Stimmt , da sind jetzt die ganzen "Klassen" etc drin , wie greife ich jetzt auf die zu ?

Mit Arraynaname [index] geht das ja wohl schlecht , oder ?

stahli 19. Feb 2012 19:38

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Hast Du Dir schon mal die Hilfe zum Array angesehen? F1-Taste.

Dann musst Du unterscheiden und entscheiden, ob Du ein statisches Array nutzen kannst (z.B. genau 50 Einträge) oder ein dynamisches, bei dem die Anzahl erst während der Laufzeit festgelegt wird und auch jederzeit geändert werden kann. Letzteres ist etwas aufwendiger.

Steht aber alles in der Hilfe.

hotkey 19. Feb 2012 19:39

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Nein , ich will die Einträge festellen , soll nicht zur Laufzeit entschieden werden.

In der Hilfe steht aber leider nix von Array in Bezug auf OOP.

stahli 19. Feb 2012 19:45

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Das hat auch wenig mit OOP zu tun. Du speicherst einfach irgendwas in einem Array (kannst Du quasi als Tabelle ansehen), in dem Fall halt irgendwelche Objekte.
Das Array könnte aber auch Integer oder Strings speichern. Ist also nix OOP.

Du machst also Schubfächer auf, packst dort etwas rein und kannst es später wieder auslesen. Da spielt es keine Rolle, von welchem Typ die Inhalte sind.

hotkey 19. Feb 2012 20:24

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Wie setze ich das aber jetzt um ? Könntest du mir bitte ein ganz kleines Beispiel zeigen , das mit diesem Problem ansatzweise zu tun hat ? Wäre echt nett.

stahli 19. Feb 2012 21:44

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Suche Dir einfach ein Beispiel, das z.B.
Delphi-Quellcode:
Array [1..100] of Integer
o.ä. nutzt und ändere das in
Delphi-Quellcode:
Array [1..100] of TGeo_Objects
.
Alles weitere würde dann analog funktionieren.

Sir Rufo 19. Feb 2012 22:56

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
@hotkey

Wenn du dir und uns einen Gefallen tun möchtest, dann lass den Begriff OOP einfach mal weg, da es einfach nur verwirrt, denn deine Fragen hatten bislang - bis auf gefühlt eine - soviel mit OOP zu schaffen, wie eine Banane mit einem Kuchenblech.

Somit bekommst du auch irgendwie immer zunächst die falschen Antworten, weil du mit dem Begriff OOP erst mal alle in die falsche Richtung blicken lässt.

So und nun mal ein Beispiel-Code für ein statisches Array für Objekt-Instanzen:

Delphi-Quellcode:
type
  TFoo = class
    procedure DoSomething;
  end;

procedure UseTheArray;
var
  ObjArr : array[1..10] of TFoo;
  idx : integer;
begin
  // Create the Objects
  for idx := 1 to 10 do
    ObjArr[ idx ] := TFoo.Create;

  // Use the Objects
  for idx := 1 to 10 do
    ObjArr[ idx ].DoSomething;

  // Free the Objects
  for idx := 1 to 10 do
    ObjArr[ idx ].Free;
end;

DeddyH 20. Feb 2012 07:24

AW: Problem mit Bearbeiten eines Objekts im Array . OOP
 
Dazu noch ein kleiner Tipp am Rande: gewöhn Dir am besten gleich an, Arrays immer von Low() bis High() zu durchlaufen, dann bleibst Du garantiert innerhalb der Array-Grenzen und liest nicht davor oder dahinter, was ganz hässliche Fehler nach sich ziehen würde. Auch dazu ein Beispiel:
Delphi-Quellcode:
procedure TFormTest.ButtonTestClick(Sender: TObject);
var
  Arr: array[1..5] of integer;
  i: integer;
begin
  for i := Low(Arr) to High(Arr) do
    Arr[i] := i * 2;
  for i := Low(Arr) to High(Arr) do
    ShowMessage(Format('Wert an Index %d: %d', [i, Arr[i]]));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz