Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array of "eigener Record" ansprechen (https://www.delphipraxis.net/50410-array-eigener-record-ansprechen.html)

Nightfly 25. Jul 2005 13:17


Array of "eigener Record" ansprechen
 
Hi

Ich deklariere Folgende Typen:

Delphi-Quellcode:
type Sperrtripel = record
     Nr : String;
     Behandlung : TDate;
     Tage : Integer;
end;
type Sperre = array [0..1] of Sperrtripel;
Und nun dachte ich, ich könnte siese Struktur in der Form Sperre[0].Nr := irgendwas ansprechen... leider geht das nicht.

EDIT:

Ich bin 'n Volldepp, hab die Variablendeklaration vergessen, dann gehts natürlich. :oops:

Wie handhabt man sowas?

Steve 25. Jul 2005 13:20

Re: Array of "eigener Record" ansprechen
 
Hi,

Sperre ist bei Dir ja der Typ und keine Variable o.ä., drum versuchs mal so:
Delphi-Quellcode:
type TSperre = array [0..1] of Sperrtripel;
var
  Sperre : TSperre;
...
Das sollte klappen :)

Gruß
Stephan :dance:;

Ultimator 25. Jul 2005 13:22

Re: Array of "eigener Record" ansprechen
 
Delphi-Quellcode:
type Sperrtripel = record
     Nr : String;
     Behandlung : TDate;
     Tage : Integer;
end;

//entweder

var Sperre: array[0..1] of SperrTripel;
begin
 Sperre[0].Nr := 'asdf';
end;

//oder

type Sperre = array[0..1] of SperrTripel;

var MySperre: Sperre;
begin
 MySperre[0].Nr := 'bla';
end;

NicoDE 25. Jul 2005 13:22

Re: Array of "eigener Record" ansprechen
 
Sperre ist ein Typ.
Um ein Array ansprechen zu können, braucht man eine Variable.

Delphi-Quellcode:
var
  Foo: Sperre;
begin
  ShowMessage(
    Foo[0].Nr
    );

Nightfly 25. Jul 2005 13:23

Re: Array of "eigener Record" ansprechen
 
Dank euch...wirklich peinlich...

Chris1986 25. Jul 2005 13:23

Re: Array of "eigener Record" ansprechen
 
Hi Nightfly. Du hast bis jetzt nur einen Type Sperre, aber noch keine Variable deklariert.

Folgendes funktioniert:
Delphi-Quellcode:
type
  Sperrtripel = record
                  Nr : String;
                  Behandlung : TDate;
                  Tage : Integer;
                end;
  Sperre = array [0..1] of Sperrtripel;

var
  DeineSperre: Sperre;

begin
  DeineSperre[0].Nr := '123';
end;
Um Typen und Variablen nicht zu verwechseln würde ich dir empfehlen jede Typen-Deklaration jeweils mit einem T zu beginnen.

Gruß
Christian

Edit: Hm, wieder zu langsam :roll:

malo 25. Jul 2005 13:51

Re: Array of "eigener Record" ansprechen
 
Zitat:

Zitat von Nightfly
Dank euch...wirklich peinlich...

Tipp für die Zukunft (und auch für eben dieses Programm): Typen (Records, Klassen oder anderes, was unter "Type" aufgeführt wird) immer mit einem großen "T" am Anfang bennen. Also den Recordtyp nicht "Sperrtripel" nennen, sondern "TSperrtripel". Das hilft ein weing zur Übersicht. Wenn du dann nämlich siehst, dass ein großes T am Anfang steht, weiß man sofort, dass es ein Typ ist und keine Variable ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz