Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was ist das für eine Konstruktion (record)? (https://www.delphipraxis.net/54123-ist-das-fuer-eine-konstruktion-record.html)

malo 28. Sep 2005 13:22


Was ist das für eine Konstruktion (record)?
 
Olli hat in diesem Beitrag einen Code gepostet, der u.A. folgenden Auszug enthält:

Delphi-Quellcode:
var
  // Mappingliste von Typen zu Namen
  ResourceTypeDefaultNames: array[0..20] of record
    ResType: PChar;
    ResTypeName: string;
  end = (
    (ResType: RT_ACCELERATOR; ResTypeName: 'RT_ACCELERATOR'; ),
    (ResType: RT_ANICURSOR; ResTypeName: 'RT_ANICURSOR'; ),
    (ResType: RT_ANIICON; ResTypeName: 'RT_ANIICON'; ),
    (ResType: RT_BITMAP; ResTypeName: 'RT_BITMAP'; )
    //noch ein paar Zeilen weiter...
    );
Nur würde mich jetzt interessieren, was das genau für eine Konstruktion ist und was sie macht... weil ich sowas bisher noch nicht gesehen hab :gruebel:

himitsu 28. Sep 2005 13:26

Re: Was ist das für eine Konstruktion (record)?
 
Dat is ganz einfach eine Varibale, welche aus einem Array of Record bersteht

und diese Variable ist dazu noch mit bestimmten werten vorbelegt.


ist sowas wie
Delphi-Quellcode:
Var i: Integer = 100;


[add]
es entspricht im Grunde genommen dem:
Delphi-Quellcode:
ResourceTypeDefaultNames: array[0..20] of record
  ResType: PChar;
  ResTypeName: string;
end;


ResourceTypeDefaultNames[0].ResType    := RT_ACCELERATOR;
ResourceTypeDefaultNames[0].ResTypeName := 'RT_ACCELERATOR';
ResourceTypeDefaultNames[1].ResType    := RT_ANICURSOR;
ResourceTypeDefaultNames[1].ResTypeName := 'RT_ANICURSOR';
ResourceTypeDefaultNames[2].ResType    := RT_ANIICON:
ResourceTypeDefaultNames[2].ResTypeName := 'RT_ANIICON';
...

leddl 28. Sep 2005 13:28

Re: Was ist das für eine Konstruktion (record)?
 
Ist doch ganz offen ersichtlich: Er definiert ein Array aus einen Record, den er direkt in der Deklaration des Arrays definiert und belegt dann das Array mit den jeweiligen Werten.
Delphi-Quellcode:
var
  // Mappingliste von Typen zu Namen
  ResourceTypeDefaultNames: array[0..20] of record //ein Array eines Records
    ResType: PChar;     // der Record wird
    ResTypeName: string; // definiert
  end = ( 
    (ResType: RT_ACCELERATOR; ResTypeName: 'RT_ACCELERATOR'; ), //erstes Array-Element
    (ResType: RT_ANICURSOR; ResTypeName: 'RT_ANICURSOR'; ),    //zweites Array-Element
    (ResType: RT_ANIICON; ResTypeName: 'RT_ANIICON'; ),        //...
    (ResType: RT_BITMAP; ResTypeName: 'RT_BITMAP'; )
    //noch ein paar Zeilen weiter...
    );
Übrigens hat er das ziemlich gut strukturiert. Die Bedeutung sticht einem eigentlich sofort ins Auge.

malo 28. Sep 2005 13:29

Re: Was ist das für eine Konstruktion (record)?
 
Zitat:

Zitat von himitsu
Dat is ganz einfach eine Varibale, welche aus einem Array of Record bersteht

und diese Variable ist dazu noch mit bestimmten werten vorbelegt.


ist sowas wie
Delphi-Quellcode:
Var i: Integer = 100;

:gruebel: naja, das wäre eine Erklärung. Besonders verwunderlich fand ich jedoch, dass so viele Werte darin gespeichert werden... aber so ist mir das ganze noch gar nicht aufgefallen ;)

edit: :wall: Das ist ja ein Array... :roll: (Sry, hab kein rotes Kästchen gehabt...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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