AGB  ·  Datenschutz  ·  Impressum  







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

eigene Klasse als array

Offene Frage von "himitsu"
Ein Thema von ichhabeeinproblem · begonnen am 15. Jun 2010 · letzter Beitrag vom 15. Jun 2010
Antwort Antwort
Seite 1 von 3  1 23      
ichhabeeinproblem

Registriert seit: 15. Jun 2010
8 Beiträge
 
Delphi 3 Standard
 
#1

eigene Klasse als array

  Alt 15. Jun 2010, 15:38
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.
  Mit Zitat antworten Zitat
DenSchub

Registriert seit: 4. Jun 2006
Ort: Balingen
209 Beiträge
 
#2

AW: eigene Klasse als array

  Alt 15. Jun 2010, 15:44
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.
Dennis Schubert
Ground Zero is nichts gegen mein Schreibtisch.
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#3

AW: eigene Klasse als array

  Alt 15. Jun 2010, 15:52
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
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

AW: eigene Klasse als array

  Alt 15. Jun 2010, 15:54
Sollen da einfach nur Daten gespeichert werden?

Wenn ja, warum dann nicht einen Record verwenden?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ichhabeeinproblem

Registriert seit: 15. Jun 2010
8 Beiträge
 
Delphi 3 Standard
 
#5

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:01
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)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:03
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ichhabeeinproblem

Registriert seit: 15. Jun 2010
8 Beiträge
 
Delphi 3 Standard
 
#7

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:07
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).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#8

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:14
(Hätte nicht gedacht, dass alles so schnell geht).
Tut uns Leid

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ichhabeeinproblem

Registriert seit: 15. Jun 2010
8 Beiträge
 
Delphi 3 Standard
 
#9

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:26
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 --
  Mit Zitat antworten Zitat
DenSchub

Registriert seit: 4. Jun 2006
Ort: Balingen
209 Beiträge
 
#10

AW: eigene Klasse als array

  Alt 15. Jun 2010, 16:28

Schau dir GENAU Post 3 an. Hast du die Klasse deklariert? Die Variable? Hast du entsprechend .create() und setLenght() gemacht?
Dennis Schubert
Ground Zero is nichts gegen mein Schreibtisch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 21:08 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