AGB  ·  Datenschutz  ·  Impressum  







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

record mit funktion verknüpfen

Ein Thema von Bong · begonnen am 23. Jan 2009 · letzter Beitrag vom 24. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Bong

Registriert seit: 18. Feb 2008
Ort: Jülich
3 Beiträge
 
#1

record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:15
Guten Tag,

ich habe eine frage...
und zwar würde ich gerne, wie der titel schon sagt, ein record mit ner function "verknüpfen"..
das stell ich mir ungefähr so vor:

XYZ = record
Name: String[255];
Prod: Produktion(); {eine vorher definierte funktion}
cost: Kosten();
end;


ist das möglich, und wenn ja, wie?
ich möchte da später dann in etwa so drauf zugreifen:

Gebaude: array of XYZ;

Gebaude[1].cost(4) {also Kosten für Stufe 4 des Gebäudes, die dann über die funktion Kosten() berechnet werden sollen}

schonmal danke im vorraus


lg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:20
Verknüpft man eine Datenstruktur (Record) mit Code zur Manipulation der Daten, hat man eine Klasse. In Delphi können zwar auch record Prozeduren beinhalten, aber ich glaube, das sind noch Relikte aus der Steinzeit von Pascal und Delphi.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Bong

Registriert seit: 18. Feb 2008
Ort: Jülich
3 Beiträge
 
#3

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:22
Zitat von Luckie:
Verknüpft man eine Datenstruktur (Record) mit Code zur Manipulation der Daten, hat man eine Klasse. In Delphi können zwar auch record Prozeduren beinhalten, aber ich glaube, das sind noch Relikte aus der Steinzeit von Pascal und Delphi.
okay danke für die schnelle antwort.. hab lange nicht mehr geproggt, dann werd ich mir das mal anschaun
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:27
Hier gibt es ein Klasse(n) Tutorial für Delphi: http://delphitutorials.michael-puff.de
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:50
Zitat von Luckie:
Verknüpft man eine Datenstruktur (Record) mit Code zur Manipulation der Daten, hat man eine Klasse. In Delphi können zwar auch record Prozeduren beinhalten, aber ich glaube, das sind noch Relikte aus der Steinzeit von Pascal und Delphi.
Hallo,

Records mit Prozeduren sind viel jünger als Objekte und Klassen. Meiner Meinung nach sind sie ausserdem überflüssig und fragwürdig - die einfache Recordstruktur, die man auch mit anderen Sprachen austauschen kann (z.B. WIN-API) geht verloren, und im Endeffekt hat man doch nichts anderes als eben eine Klasse, nur dass sie Record heisst. Oder habe ich da was übersehen?

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#6

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 12:54
Genau diese Frage habe ich mir auch schon gestellt. Einfache Datenstruktur -> Record, Struktur mit Funktionalität -> Klasse, wozu ist das neuerdings vermischt worden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 13:02
Ging es nicht darum, dass der OP einen Funktionszeiger speichern will?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 13:04
Zitat von sirius:
Ging es nicht darum, dass der OP einen Funktionszeiger speichern will?
Mit selbigen werde ich als Programmierer aber doch gar nicht konfrontiert oder? Das heißt, mir als Programmierer kann es doch egal sein, was intern passiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 16:48
Wieso geht bitte durch Methoden die WinAPI-Kompatibilität von Records verloren? Das ist doch Blödsinn. Diese Methoden sind wie bei Klassen auch ganz normale Routinen, die einen Self-Parameter besitzen und in einem speziellen Namensraum abgelegt sind. Und ich finde das durchaus sehr nützlich. Wenn eine bestimmte Routine eindeutig einem Record zugeordnet sind, sollte ich sie auch als Methode deklarieren. Der Vorteil von Records gegenüber Klassen, nämlich der deutlich geringere Overhead (u.A. dadurch, dass Records auf dem Stack abgelegt werden können), bleibt.

Und der Threadersteller hat nicht deutlich gemacht, ob er nun eine Methode oder einen Funktionszeiger will.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: record mit funktion verknüpfen

  Alt 23. Jan 2009, 17:15
Zitat:
Oder habe ich da was übersehen?
Ja die Methoden von Records sind Klassenmethoden. Ausserdem unterstützt Delphi bisher keine Klassenoperatoren für Klassen, sondern nur für Records. Deshalb haben die Records doch noch eine Daseinsberechtigung
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:39 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