Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigenen Record/Type erstellen (https://www.delphipraxis.net/61800-eigenen-record-type-erstellen.html)

Aike 26. Jan 2006 13:35


Eigenen Record/Type erstellen
 
Hallöchen,

ich hab schon lange nichts mehr hier posten müssen, aber jetzt habe ich mich an etwas neues gewagt: Die Records.
Und zwar möchte ich in einer Funktion einen Aufruf, der so aussieht:

Delphi-Quellcode:
type
  TMeinMathe; record
    Rechenvorschrift: (Plus,Minus);
  end;

function AddierenSubtrahieren(Zahl1,Zahl2:integer;Rechenvorschrift:TMeinMathe):integer;
begin
  if Rechenvorschrift=Plus then
    result:=Zahl1+Zahl2;
  if Rechenvorschrift=Minus then
    result:=Zahl1-Zahl2;
end;

procedure TForm1.Button1OnClick(Sender: TObject);
begin
  showmessage(IntToStr(AddierenSubtrahieren(2,1,Plus)));
end;
So wie es in der showmessage steht, soll es aussiehen.
Das darüber ist die Art, wie ich es mir vorstelle, dass es aussehen muss, damit es klappt (tut es aber nicht).
Ich könnte es sicher auch mit Konstanten oder Variablen lösen, aber ich möchte das gerne mit einem Record (oder einem Type?) lösen, falls möglich.

Wie immer vielen Dank im voraus! :-)

Grüße,
Aike

3_of_8 26. Jan 2006 13:37

Re: Eigenen Record/Type erstellen
 
Die Deklaration ist IMHO schon mal falsch.

Delphi-Quellcode:
type
  TMeinMathe=record
    Rechenvorschrift: (Plus,Minus);
  end;

Aike 26. Jan 2006 13:39

Re: Eigenen Record/Type erstellen
 
Vertippt.

Kroko1999 26. Jan 2006 13:41

Re: Eigenen Record/Type erstellen
 
Delphi-Quellcode:
type
  TMeineOp = (moPlus,moMinus);

function AddierenSubtrahieren(const Zahl1,Zahl2: Integer;const Rechenvorschrift:TMeineOp): Integer;
begin
  case Rechenvorschrift of
    opPlus: Result:=Zahl1+Zahl2;
    opMinus: Result:=Zahl1-Zahl2;
    else Result := 0;
  end;
end;

procedure TForm1.Button1OnClick(Sender: TObject);
begin
  showmessage(IntToStr(AddierenSubtrahieren(2,1,moPlus)));
end;

Aike 26. Jan 2006 13:44

Re: Eigenen Record/Type erstellen
 
Ah, super. Danke!

Kannst du mir vielleicht noch kurz sagen, warum du "const" eingefügt hast?


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