Datenbank:
select Bereich from bereiche where StartWert >= DenSucheIch and EndeWert <= DenSucheIch
Grob sowas:
Delphi-Quellcode:
var
sBereiche : String;
iBereiche : Integer;
begin
qry.SQL.Text := 'select Bereich from bereiche where StartWert >= :DenSucheIch and EndeWert <= :DenSucheIch';
qry.ParamByName('DenSucheIch').AsInteger := EineZahl;
qry.Open;
iBereiche := qry.RecordCount;
sBereiche := '';
while not qry.EoF do begin
sBereich := Format(', %s',[sBereich,qry.FieldByName('Bereich').AsString]);
qry.Next;
end;
qry.Close;
sBereich := Copy(sBereich,3,Length(sBereich));
end;
Ist's keine Datenbank, kannst Du auch 'ne Memorytable, ClientDataSet oder sowas nehmen.
Da geht's dann ggfls. statt per Select per Filter:
Delphi-Quellcode:
MemTable.Filtered := false;
MemTable.Filer := Format('StartWert >= %0:d and EndeWert <= %0:d',[EineZahl]);
MemTable.Filtered := true;
// WhileNotEoF wie oben
Achso: Alles nur hingedaddelt, keine wirklich schon ausprobierten Routinen, Syntaxfehler also durchaus wahrscheinlich
Edit: Wie himitsu weiter unten richtig bemerkt