eigene typen in Prozedurdeklaration

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
mulcheo
Beiträge: 57
Registriert: Do 1. Aug 2013, 15:11

eigene typen in Prozedurdeklaration

Beitrag von mulcheo »

Hallo,

Es gibt ja die Möglichkeit, eigene Variablenypen zu deklarieren nach dem Schema

Code: Alles auswählen

var
  Test: (rot, gelb);
gibt es darüber hinaus auch die Möglichkeit, eigene Typen für die Deklaration von Prozeduren zu verwenden, also?

Code: Alles auswählen

type
 
  TestKlasse = class
    (...)
    procedure Testproc(???); // hier soll ein eigener Typ nach obigen Schema übergeben werden
  end;
Danke schonmal

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: eigene typen in Prozedurdeklaration

Beitrag von Michl »

Das könntest Du über einen Record lösen:

Code: Alles auswählen

type
  TTest = Record
    Rot:  Byte;
    Gelb: Byte;
  end;
 
type
  TTestKlasse = Class
    (...)
    procedure Testproc(myTest: TTest); // hier soll ein eigener Typ nach obigen Schema übergeben werden
  end; 
Siehe http://wiki.lazarus.freepascal.org/Record/de

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: eigene typen in Prozedurdeklaration

Beitrag von m.fuchs »

Ja, das kannst du machen, indem du die Typendeklaration nicht direkt in der Variable machst, sondern vorher als eigenen Typen einführst.

Code: Alles auswählen

type
  TFarben = (rot, gelb);
 
procedure Testproc(Farbe: TFarben);
begin
  (* ... *)
end;
 
begin
  Testproc(rot);
end.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten