Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie eine Summe in seine bekannten Summanden zerlegen ? (https://www.delphipraxis.net/175901-wie-eine-summe-seine-bekannten-summanden-zerlegen.html)

madina 27. Jul 2013 15:00

Wie eine Summe in seine bekannten Summanden zerlegen ?
 
Hallo,

ich habe mehrere DB's mit den DB-ID's (2, 4, 8, 16, 32, 64, 128). Nun habe ich auch ein DB Material mit einer Spalte "In_Gruppe" (z.B. DB4 + DB128 = 132, in dieser Spalte steht, daß dieser Material von welchen o.g. DB's benutzt werden). In der Summe heißt dies z.B DB4 und DB128.

1. lesen der In_Gruppe Spalte: ich will jetzt wissen, welche DB's in dieser 132 enhalten sind ? (also 4 und 128)
2. Speichern in die In_Gruppe Spalte: íst in In_Gruppe=132 schon DB16 z.B enthalten ? (also Nein, neue DB16 addieren In_Gruppe=132+DB16 d.h in 148 ist DB4, DB128 und DB16 enthalten)

Könnte jemand einen Tip geben oder so etwas begegnet.

MFG

Uwe Raabe 27. Jul 2013 15:31

AW: Wie eine Summe in seine bekannten Summanden zerlegen ?
 
Delphi-Quellcode:
var
  inGruppe: Integer;


{ alle verwendeten DBs iterieren }
inGruppe := <Wert aus Datenfeld>;
for I in TIntegerSet(inGruppe) do begin
  { hier hat I nur die enthaltenen Werte }
end;

{ DB16 hinzufügen, wenn noch nicht da }
inGruppe := <Wert aus Datenfeld>;
Include(TIntegerSet(inGruppe), 16);
<Wert in Datenfeld> := inGruppe;

Namenloser 27. Jul 2013 16:26

AW: Wie eine Summe in seine bekannten Summanden zerlegen ?
 
Tipp: Guck dir die IDs und die Summen mal in Binärdarstellung an. Stichwort: Bitmasken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 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-2025 by Thomas Breitkreuz