AGB  ·  Datenschutz  ·  Impressum  







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

Typenumwandlung

Ein Thema von PinKing · begonnen am 9. Feb 2007 · letzter Beitrag vom 9. Feb 2007
Antwort Antwort
PinKing

Registriert seit: 21. Nov 2006
20 Beiträge
 
#1

Typenumwandlung

  Alt 9. Feb 2007, 12:13
hallo,
gerade hab ich ein kleines problem mit dem informatik projekt das mir mein lehrer aufgedrückt hat. Wie man es allgemein löst hab ich schon herausgefunden, im prinzip müsste ich nur eine Typenumwandlung machen, die DP-Suche hat mich nur soweit gebracht, dass sich das ganze UpCast nennt, leider konnte ich die beispiele nicht auf mein projekt übertragen.
Zum problem.
Wenn es mal fertig ist, soll mit dem programm ein Supermarkt simuliert werden. wir sollten an diesem Beispiel uns üben mit mehreren klassen zu arbeiten. Für diesen zweck haben wir z.B. eine eigene Klasse tRegal und Produkttyp. Da man ja mehrer regale hat werden dementsprechend viele Objekte von den Typen erstellt.
Diese sollen in einer selbstgeschriebenen Listenklasse verwaltet, die mit TObject arbeitet (also als rückgabe wert usw.) mein lehrer meinte es würde reichen wenn man es so allgmein macht.

Objekte in die Liste Eintragen funktioniert wunderbar, aber wenn ich mir ein objekt ausgeben lasse von der liste hat es den typ TObject was mir aber nicht viel bringt, ich muss dem irgendwie beibringen das er es handhaben soll als währe es TRegal oder z.B. TProdukttyp.
dafür bräuchte ich dann diese typenumwandlung, mein problem ist jetzt wie ich diese vornehme.
als beispiel wenn ich mir ein objekt aus der liste ausgeben lasse, wie kann ich dann dort die typenumwandlung vornehmen um auf eine methode des "Regalklasse" zuzugreifen?

Delphi-Quellcode:
Regal := Regalliste.findeObjekt(schluessel);
Regal.fuege_Produkt_ein;
hoffe ihr könnt mir helfen.

mfG
Pin
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Typenumwandlung

  Alt 9. Feb 2007, 12:18
Regal := Regalliste.findeObjekt(schluessel) as TRegal; oder

Delphi-Quellcode:
if Regalliste.findeObjekt(schluessel) is TRegal then
  Regal := Regalliste.findeObjekt(schluessel) as TRegal;
oder wenn du ganz sicher bist, dass was zurück kommt und das ein regal ist:

Regal := TRegal(Regalliste.findeObjekt(schluessel));
  Mit Zitat antworten Zitat
PinKing

Registriert seit: 21. Nov 2006
20 Beiträge
 
#3

Re: Typenumwandlung

  Alt 9. Feb 2007, 12:35
herzlichen dank^^
das ist ja simpell *g*

lg pin
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:30 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