Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi eigene Klasse als array (https://www.delphipraxis.net/152220-eigene-klasse-als-array.html)

ichhabeeinproblem 15. Jun 2010 15:38

eigene Klasse als array
 
Also, ich habe ein Problem.

Erstens will ich eine eigene Klasse haben. Diese soll z.B. Einheit.Name, Einheit.Kosten enthalten.
Diese Einheiten will ich dann in einem Array anordnen, sodass ich mit einem Integer wert auf eine bestimmte Einheit aus dem Array zugreifen kann. Außerdem soll dass array später in einer Listbox angezeigt werden.

Ich hab im Moment keine Ahnung wie ich ein eigenes array von meiner Klasse hinbekomme. (bin ein wenig aus der Übung und hatte ne extrem schlechte Informatiklehrerin) Hoffentlich habe ich wenigstens an der richtigen STelle gepostet und nichts schwachsinniges geschrieben^^. Es wäre super wenn ich ein paar Codeansätze und Erklärungen von euch bekommen könnte.

DenSchub 15. Jun 2010 15:44

AW: eigene Klasse als array
 
Versuche, ein Array als Klassenvariable zu definieren, in dem du die genannten Daten speicherst.
Und gegen das "aus der Übung kommen" gibt es im Delphi-Treff schöne Tutorials und im Bereich OOP-Einstieg kann ich dir diese 35-seitige PDF empfehlen.

Google und die Forensuche hätten dir auch gerne geholfen.

Teekeks 15. Jun 2010 15:52

AW: eigene Klasse als array
 
Delphi-Quellcode:
type
  TMeineKlasse=class
    {bla bla blupp}
    {...}
  end;

  TMeineKlasseArray=array of TMeineKlasse;

var MeineKlassen:TMeineKlasseArray;

//Initialisierung des Arrays ganz zu beginn:
SetLength(MeineKlassen,0);

//Initialisierung eines neuen Array-Elementes:
SetLength(MeineKlassen,Length(MeineKlassen)+1);        //Array um ein Feld erweitern
Meineklassen[High(MeineKlassen)]:=TMeineKlasse.create; //Instanz erzeugen

himitsu 15. Jun 2010 15:54

AW: eigene Klasse als array
 
Sollen da einfach nur Daten gespeichert werden?

Wenn ja, warum dann nicht einen Record verwenden?

ichhabeeinproblem 15. Jun 2010 16:01

AW: eigene Klasse als array
 
Erstmal vielen Dank für die Antwort,
allerdings habe ich immer noch Probleme...
Ich hab mir die Links mal angeguckt, allerdings hab ich momentan nicht Lust und Zeit alles durchzulesen. Auch nen Stück Code, dass ich übernehem wollte hat nicht ganz funktioniert. Ich komm gerade nicht weiter. Ich schreib mal was ich versucht hab und hoffe, dass ihr mir was schreiben könnt was funktioniert.
Code:

type

Einheit = class
    private
      Name: string;
      Kosten: Integer;
    public
   end;

   Einheitenliste= array[1..5] of Einheit;

...

Einheitenliste[1].Name:='blabla';
Delphi motzt immer bei der letzten Zeile rum. Was hab ich falsch gemacht und wie gehts richtig. Am liebsten würde ich fertigen code bekommen.


(mit Google hatte ich gesucht)

himitsu 15. Jun 2010 16:03

AW: eigene Klasse als array
 
Siehe Post #3.

Wenn du Objekte verwenden willst, dann mußt du diese auch erstellen ( .Create ) und am Ende natürlich auch wieder freigeben ( .Free ) .

Bei einer Variante mir Records wäre sowas nicht nötig.

ichhabeeinproblem 15. Jun 2010 16:07

AW: eigene Klasse als array
 
oho, während ich meine antwort geschrieben habe ist ja ne menge neues gekommen. ich probier erstmal was rum und melde mich falls ich nochmal probleme hab. Nochmal vielen Dank an alle fleißigen Antworter. (Hätte nicht gedacht, dass alles so schnell geht).

himitsu 15. Jun 2010 16:14

AW: eigene Klasse als array
 
Zitat:

Zitat von ichhabeeinproblem (Beitrag 1029064)
(Hätte nicht gedacht, dass alles so schnell geht).

Tut uns Leid :lol:

PS: Du nutzt wirklich noch Delphi 2?
Ich glaub unser DP-Admin hatte noch ein paar Delphi 7 Serials und falls man einen netten Brief an den Embarcadero-Support schreibt, dann könnte man von denen noch einen Turbo Delphi-Serial aka Delphi 2006 bekommen.
(Setupdateien gibt's dann von uns)
Und abundzu gibt's auch mal was Günstiges bei eBay und Co. oder als Beilage in einigen Delphi-Büchern.

ichhabeeinproblem 15. Jun 2010 16:26

AW: eigene Klasse als array
 
Ein neues Problem hat sich aufgetan. Wenn ich auf Start drücke erscheint die Meldung:

Zugriffsverletzung bei Adresse 00403593 in Modul 'Project1.exe'
Schreiben von Adresse 00000004

Was zum Teufel heißt das?

-- Ich benutzte Delphi 3 unter Vista --

DenSchub 15. Jun 2010 16:28

AW: eigene Klasse als array
 
:wall:
Schau dir GENAU Post 3 an. Hast du die Klasse deklariert? Die Variable? Hast du entsprechend .create() und setLenght() gemacht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr.
Seite 1 von 3  1 23      

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