Announcement

Collapse
No announcement yet.

Set of Typ und case Anweisung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Set of Typ und case Anweisung

    Hallo,

    folgendes (nur ein Beispiel):

    type
    TFarbe = (gruen, blau, gelb, lila, pink,...);
    TFarbenSet = set of TFarben;

    const
    LieblingsFarben : TFarbenSet = (blau, gelb);
    ...

    jetzt möchte ich mit einer case- Anweisung überprüfen, ob eine bestimmte Farbe in LieblingsFarben enthalten ist. Geht das mit Case überhaupt - abgesehen davon das es hier keinen Sinn macht, bei meiner Programmstruktur ist es aber *fast* zwingend erforderlich.

    Vielen Dank für Eure Hilfe,

    Gruß, Andreas

  • #2
    Mit Case geht es nicht.<p>
    If blau in Farbenset then ...<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Hab ich das jetzt so richtig verstanden?

      <PRE>
      unit Unit1;

      interface

      uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

      type TFarben = (rot, gelb, blau);

      type
      TForm1 = class(TForm)
      Button1: TButton;
      ComboBox1: TComboBox;
      procedure Button1Click(Sender: TObject);
      private
      { Private-Deklarationen }
      public
      { Public-Deklarationen }
      end;

      var
      Form1: TForm1;

      implementation

      {$R *.dfm}

      procedure TForm1.Button1Click(Sender: TObject);
      var
      farbe: TFarben;
      begin
      farbe := rot;

      if ComboBox1.Text = 'Rot' then farbe := rot;
      if ComboBox1.Text = 'Gelb' then farbe := gelb;
      if ComboBox1.Text = 'Blau' then farbe := blau;

      case farbe of
      rot: ShowMessage('Rot');
      gelb: ShowMessage('Gelb');
      blau: ShowMessage('Blau');
      end;

      end;

      end.

      <\PRE&gt

      Comment


      • #4
        Nee, falscher kann man es nicht verstehen: Mario hat doch alles dazu geschrieben
        !??

        Gruß Ul

        Comment


        • #5
          Hallo,

          wenn du die Farben bei <b>type</b> TFarben genauso anordnest wie in der Combobox, dann stimmt Combobox1.ItemIndex genau mit Ord(farbe) überein.
          <pre><b>case</b> Combobox1.ItemIndex <b>of</b>
          Ord(rot) :
          Ord(gelb):
          Ord(blau):
          <b>end</b>;</pre>
          Gruß,<br>
          Ale

          Comment

          Working...
          X