Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kombinationen von mehreren Elementen (Zahlen) (https://www.delphipraxis.net/45338-kombinationen-von-mehreren-elementen-zahlen.html)

Herbie 4. Mai 2005 13:52


Kombinationen von mehreren Elementen (Zahlen)
 
Hallo zusammen,

möchte ein Muster erstellen, um die Kombinationen von mehreren Elementen zueinander, darzustellen. Ein Element ist dabei immer fest – Beispiel:


E1_______E2_______E3_______E4

____________________________X
X___________________________X
__________X_________________X
__________________X_________X
X_________X_________________X
X_________X_______X_________X
X_________________X_________X
__________X_______X_________X

Formel: ((Element-Anzahl - 1) ²) – 1 = 8 Kombinationen


Jetzt sollen nicht nur 4 Elemente wie im obigen Beispiel kombiniert werden, sondern die Element-Anzahl kann zwischen 1 und 20 variieren.

Wie kann ich denn solch ein Muster flexibel mit Delphi erstellen?

Bin für jeden Tipp sehr dankbar, denn irgendwie komme ich nicht weiter!

Gruss
Herbie

jfheins 4. Mai 2005 13:58

Re: Kombinationen von mehreren Elementen (Zahlen)
 
Arbeite mit einer Zahl und Zweiepotenzen.

Das geht dann so:
Delphi-Quellcode:
const
  Flag1: Cardinal = 1;
  Flag1: Cardinal = 2;
  Flag1: Cardinal = 4;
  Flag1: Cardinal = 8;

Setzen:
 Flags := Flags or Flag3;

Lesen:
  if (Flags and Flag3) = Flag3 then
    // Flag3 gesetzt
Ich hoffe, ich hab' dich richtig verstanden ... ^^

Herbie 4. Mai 2005 15:20

Re: Kombinationen von mehreren Elementen (Zahlen)
 
Sorry, aber irgendwie komme ich mit dem Codebeispiel nicht klar.

"Flag1: Cardinal = 1;
Flag1: Cardinal = 2;
Flag1: Cardinal = 4;
Flag1: Cardinal = 8; "

Konstanten muss ich wohl durchnummerieren?

"Setzen:
Flags := Flags or Flag3;"

Ist Flags eine Cardinal-Variable?

Wie binde ich das ganze in mein Delphi-Projekt ein? Komme mit dem "Setzen" und "Lesen" nicht ganz zurecht.

Vielen Dank!

Gruss
Herbie


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