TSetOfInteger, Verze 1.0 pro Delphi

Copyright © Michal Kökörčený 2005

Web:      http://74.cz/setofinteger

E-mail:    michal@74.cz

Jazyk Object Pascal disponuje pouze množinami do maximálního počtu 256 prvků (SET OF BYTE nebo SET OF CHAR). TSetOfInteger je třída, která umožňuje překonat tento limit a dovoluje pracovat s neomezenou množinou integerů podobným způsobem, jako se pracuje s běžnými množinami. Velikost množiny je omezena pouze velikostí volné paměti.

TSetOfInteger je FREEWARE, tzn. můžete jej používat a distribuovat bez omezení a bezúplatně.

Adresář SOURCE obsahuje zdrojový kód třídy TSetOfInteger, adresář DEMO obsahuje aplikaci ve spustitelném (EXE) tvaru včetně zdrojových kódů.

constructor tsetofinteger.create;

Vytvořit množinu.

destructor tsetofinteger.destroy;

Uvolnit množinu. Pro uvolnění množiny z paměti používejte metodu tsetofinteger.free.

procedure tsetofinteger.clear;

Vyprázdnit množinu.

procedure tsetofinteger.assign(setint:tsetofinteger);

Zkopírovat obsah množiny.

setint - zdrojová množina

procedure tsetofinteger.include(i:integer);

Vložit prvek do množiny.

i - prvek

procedure tsetofinteger.include(a:array of integer);

Vložit pole integerů do množiny.

a - pole integerů

procedure tsetofinteger.exclude(i:integer);

Odstranit prvek z množiny.

i - prvek

procedure tsetofinteger.exclude(a:array of integer);

Odstranit pole integerů z množiny.

a - pole integerů

procedure tsetofinteger.invert(i:integer);

Invertovat prvek v množině.

i - prvek

procedure tsetofinteger.invert(a:array of integer);

Invertovat pole integerů v množině.

a - pole integerů

procedure tsetofinteger.intersection(setint:tsetofinteger);

Průnik dvou množin.

SELF:=SELF*SETINT

setint - druhá množina

procedure tsetofinteger.union(setint:tsetofinteger);

Sjednocení dvou množin.

SELF:=SELF+SETINT

setint - druhá množina

procedure tsetofinteger.difference(setint:tsetofinteger);

Rozdíl dvou množin.

SELF:=SELF-SETINT

setint - druhá množina

function tsetofinteger.subset(setint:tsetofinteger):boolean;

Test jestli množina SETINT je podmnožinou SELF.

SETINT<=SELF

setint - druhá množina

result - true když množina SETINT je podmnožinou SELF

function tsetofinteger.notsubset(setint:tsetofinteger):boolean;

Test jestli množina SETINT není podmnožinou SELF.

SETINT>SELF

setint - druhá množina

result - true když množina SETINT není podmnožinou SELF

function tsetofinteger.superset(setint:tsetofinteger):boolean;

Test jestli množina SETINT je nadmnožinou SELF.

SETINT>=SELF

setint - druhá množina

result - true když množina SETINT je nadmnožinou SELF

function tsetofinteger.notsuperset(setint:tsetofinteger):boolean;

Test jestli množina SETINT není nadmnožinou SELF.

SETINT<SELF

setint - druhá množina

result - true když množina SETINT není nadmnožinou SELF

function tsetofinteger.equality(setint:tsetofinteger):boolean;

Test na rovnost dvou množin.

setint - druhá množina

result - true když množiny jsou stejné, false když množiny nejsou stejné

function tsetofinteger.inequality(setint:tsetofinteger):boolean;

Test na nerovnost dvou množin.

setint - druhá množina

result - true když množiny nejsou stejné, false když množiny jsou stejné

function tsetofinteger.within(i:integer):boolean;

Test jestli I je prvkem množiny.

i - prvek

result - i je/není prvkem množiny

function tsetofinteger.count:integer;

Zjistit počet prvků v množině.

result - počet prvků

function tsetofinteger.isempty:boolean;

Testovat jestli je množina prázdná.

result - množina je/není prázdná

function tsetofinteger.findfirst(out i:integer):boolean;

Najít první prvek v množině.

i - první prvek v množině

result - nalezeno/nenalezeno

function tsetofinteger.findnext(out i:integer):boolean;

Najít další prvek v množině.

i - další prvek v množině

result - nalezeno/nenalezeno

function tsetofinteger.exportasarray:tarrayofinteger;

Exportovat množinu jako pole integerů.

result - výstupní pole integerů

procedure tsetofinteger.loadfromstream(stream:tstream);

Načíst množinu ze streamu.

stream - zdrojový stream

procedure tsetofinteger.savetostream(stream:tstream);

Uložit množinu do streamu.

stream - cílový stream

procedure tsetofinteger.loadfromfile(const filename:string);

Načíst množinu ze souboru.

filename - název souboru

procedure tsetofinteger.savetofile(const filename:string);

Uložit množinu do souboru.

filename - název souboru