AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Erklärung von record (Delphihilfe unverständlich :))
Thema durchsuchen
Ansicht
Themen-Optionen

Erklärung von record (Delphihilfe unverständlich :))

Ein Thema von ErdNussLocke · begonnen am 1. Nov 2006 · letzter Beitrag vom 2. Nov 2006
Antwort Antwort
Seite 2 von 4     12 34      
mkinzler
(Moderator)

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

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 19:45
Zitat:
Da hat er sich vertan. Das ist ein Variant-Typ.
Wie alzaimar geschrieben hat, ist das das Selbe in einer anderen Sprache ( Union = varianter record; Struktur = Record, ...)
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#12

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 19:50
Die Frage steht aber bei Delphi-language und da ist das ein Variant. Guckt mal lieber noch nach meinem Edit oben, ob das unter Delphi wirklich noch so ist.
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 19:53
Das mit dem Speicherverbrauch ist m.w. bei c genauso.
Markus Kinzler
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 19:59
Zitat von Hansa:
[Edit] mir fällt gerade noch ein : der Variant braucht pro Einheit immer soviel Platz, wie das größte Element. Krasses Beispiel : der Variant besteht nur aus einem integer oder alternativ einem TImage von 5 MB. Der integer würde dann 5 MB belegen !!
TImage? Wäre eine Klasse, somit würde es eine Instanzenvariable sein und das wäre wiederrum ein Pointer (intern) und somit auch 4 Byte gross...

w.z.b.w. *g*
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 20:23
Zitat von alzaimar:
Zitat von 3_of_8:
Das ist schon ein recht fortschrittliches Sprachfeature.
Nicht ganz. Es ist so alt wie Pascal selbst. Und damit bald 40 Jahre ...
Ich meinte nicht "fortschrittlich" sondern "fortgeschritten". Gehört jedenfalls nicht ganz zu den Grundlagen von Delphi, IMHO.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#16

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 20:50
Zitat von 3_of_8:
sondern "fortgeschritten". Gehört jedenfalls nicht ganz zu den Grundlagen von Delphi, IMHO.
Doch, doch. Das gehört schon zu den Delphi Ursprüngen. Alzaimar hat das doch gesagt. Genauer gesagt stammt das aus 1972 von der Ur-Pascal Definition von Nikolaus Wirth. Was ist nun daran fortgeschritten ? Im Zusammenhang mit Records, wohl gemerkt. Es geht nicht um den Datentyp Variant ! Es geht um eine alte Spielart von Records. Die nennt man Varianten, aber das Wort taucht in der Deklaration dieser Records im SOurce gar nicht auf. Die Delphi-Hilfe könnte das aber schon liefern.

@Muetze1 : Du behauptest also ernsthaft, ein beliebiges TImage würde nur 4 Byte brauchen ? Erkläre mal, was 10 TImages in verketteter Liste brauchen, wobei jedes 1 MB hat und die sollen abgespeichert werden. Das mußt Du mir mal vormachen mit 40 Bytes für 10 TImages.
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 20:52
Zitat:
@Muetze1 : Du behauptest also ernsthaft, ein beliebiges TImage würde nur 4 Byte brauchen ? Shocked Erkläre mal, was 10 TImages in verketteter Liste brauchen, wobei jedes 1 MB hat und die sollen abgespeichert werden. Das mußt Du mir mal vormachen mit 40 Bytes für 10 TImages. Mr. Green
Das Image selber belegt natürlich mehr Speicher, die Referenz im (varianten) Record aber nur 4 Bytes.
Markus Kinzler
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 22:56
Was bedeutet eigentlich case Integer of wie es zum Beispiel in der Deklaration von TRect steht?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 23:06
Dass es nicht von einem Ordinaltyp im Record, sondern von der Art des Aufrufs abhängig ist.

Beispiel:
Delphi-Quellcode:
type
  TARGB=record
  case Integer of
  0: (Value: Integer);
  1: (A, R, G, B: Byte);
  end;

//...

myARGB.Value:=$000000FF;
//...ist das gleiche wie...
myARGB.R:=255;
Achja: Mit "Keine Grundlage" meinte ich, dass man es als Anfänger nicht unbedingt wissen muss, sondern dass es eher etwas für Fortgeschrittene ist.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Erklärung von record (Delphihilfe unverständlich :))

  Alt 1. Nov 2006, 23:23
Aha. Hat das einen Grund, warum es
Delphi-Quellcode:
case Integer of
  0: { ... } 
  1: { ... }
heißt und nicht
Delphi-Quellcode:
case Boolean of
  True : { ... }
  False: { ... }
oder vielleicht auch Byte heißt, oder ist das einfach nur Zufall?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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:26 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