Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
Delphi XE2 Professional
|
Re: Immer mehrere CheckBoxen = true
24. Jan 2010, 19:34
Hallo nochmal,
so ich habe das jetzt noch etwas verändert, in dem ich die möglichen Zustände vorher über den ItemIndex der einzelnen Komponenten berechnen. Ich denke das das so schon ganz gut ist. Entweder werft mir Kommentare entgegen, oder Verbesserungsvorschläge. Da es ein doch recht Aufwendiges Thema war, ist der folgenden Code etwas länger.
Ich hoffe die Lust verlässt Euch trotzdem nicht.
Delphi-Quellcode:
{Suchfubktion über Edit 1 und Edit in Verbindung aller Möglichkeiten}
procedure TFDatenauswertung.btnFilterClick(Sender: TObject);
var
Callback : integer;
begin
case cbLinking.ItemIndex of
0:case cbLinkingAfterwards.ItemIndex of
0: Callback := cbSearchOne.ItemIndex;
1: Callback := cbSearchOne.ItemIndex+3;
2: Callback := cbSearchOne.ItemIndex+6;
end;
1:case cbLinkingAfterwards.ItemIndex of
0: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+10;
2: Callback := cbSearchTwo.ItemIndex+12;
3: Callback := cbSearchTwo.ItemIndex+14;
end;
1: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+16;
2: Callback := cbSearchTwo.ItemIndex+18;
3: Callback := cbSearchTwo.ItemIndex+20;
end;
2: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+22;
2: Callback := cbSearchTwo.ItemIndex+24;
3: Callback := cbSearchTwo.ItemIndex+26;
end;
end;
2:case cbLinkingAfterwards.ItemIndex of
0: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+28;
2: Callback := cbSearchTwo.ItemIndex+30;
3: Callback := cbSearchTwo.ItemIndex+32;
end;
1: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+34;
2: Callback := cbSearchTwo.ItemIndex+36;
3: Callback := cbSearchTwo.ItemIndex+38;
end;
2: case cbSearchOne.ItemIndex of
1: Callback := cbSearchTwo.ItemIndex+40;
2: Callback := cbSearchTwo.ItemIndex+42;
3: Callback := cbSearchTwo.ItemIndex+44;
end;
end;
end;
case Callback of
1:vst.IterateSubtree(nil,SucheCallbackEdit1,nil);
2:vst.IterateSubtree(nil,SucheCallbackEdit2,nil);
3:vst.IterateSubtree(nil,SucheCallbackEdit3,nil);
4:vst.IterateSubtree(nil,SucheCallbackEdit4,nil);
5:vst.IterateSubtree(nil,SucheCallbackEdit5,nil);
6:vst.IterateSubtree(nil,SucheCallbackEdit6,nil);
7:vst.IterateSubtree(nil,SucheCallbackEdit7,nil);
8:vst.IterateSubtree(nil,SucheCallbackEdit8,nil);
9:vst.IterateSubtree(nil,SucheCallbackEdit9,nil);
10:vst.IterateSubtree(nil,SucheCallbackEdit10,nil);
11:vst.IterateSubtree(nil,SucheCallbackEdit11,nil);
12:vst.IterateSubtree(nil,SucheCallbackEdit10,nil);
13:vst.IterateSubtree(nil,SucheCallbackEdit12,nil);
14:vst.IterateSubtree(nil,SucheCallbackEdit11,nil);
15:vst.IterateSubtree(nil,SucheCallbackEdit12,nil);
16:vst.IterateSubtree(nil,SucheCallbackEdit13,nil);
17:vst.IterateSubtree(nil,SucheCallbackEdit14,nil);
18:vst.IterateSubtree(nil,SucheCallbackEdit13,nil);
19:vst.IterateSubtree(nil,SucheCallbackEdit15,nil);
20:vst.IterateSubtree(nil,SucheCallbackEdit14,nil);
21:vst.IterateSubtree(nil,SucheCallbackEdit15,nil);
22:vst.IterateSubtree(nil,SucheCallbackEdit16,nil);
23:vst.IterateSubtree(nil,SucheCallbackEdit17,nil);
24:vst.IterateSubtree(nil,SucheCallbackEdit16,nil);
25:vst.IterateSubtree(nil,SucheCallbackEdit18,nil);
26:vst.IterateSubtree(nil,SucheCallbackEdit17,nil);
27:vst.IterateSubtree(nil,SucheCallbackEdit18,nil);
28:vst.IterateSubtree(nil,SucheCallbackEdit19,nil);
29:vst.IterateSubtree(nil,SucheCallbackEdit20,nil);
30:vst.IterateSubtree(nil,SucheCallbackEdit19,nil);
31:vst.IterateSubtree(nil,SucheCallbackEdit21,nil);
32:vst.IterateSubtree(nil,SucheCallbackEdit20,nil);
33:vst.IterateSubtree(nil,SucheCallbackEdit21,nil);
34:vst.IterateSubtree(nil,SucheCallbackEdit22,nil);
35:vst.IterateSubtree(nil,SucheCallbackEdit23,nil);
36:vst.IterateSubtree(nil,SucheCallbackEdit22,nil);
37:vst.IterateSubtree(nil,SucheCallbackEdit24,nil);
38:vst.IterateSubtree(nil,SucheCallbackEdit23,nil);
39:vst.IterateSubtree(nil,SucheCallbackEdit24,nil);
40:vst.IterateSubtree(nil,SucheCallbackEdit25,nil);
41:vst.IterateSubtree(nil,SucheCallbackEdit26,nil);
42:vst.IterateSubtree(nil,SucheCallbackEdit25,nil);
43:vst.IterateSubtree(nil,SucheCallbackEdit27,nil);
44:vst.IterateSubtree(nil,SucheCallbackEdit26,nil);
45:vst.IterateSubtree(nil,SucheCallbackEdit27,nil);
end;
btnReset.Enabled := true;
end;
procedure TFDatenauswertung.btnResetClick(Sender: TObject);
begin
vst.IterateSubtree(nil,SucheCallbackEditReset,nil);
btnReset.Enabled := false;
end;
//Suche Zurücksetzten und alle geladenen Daten Anzeigen
procedure TFDatenauswertung.SucheCallbackEditReset(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := true;
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit1(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Teilnehmer nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit2(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit3(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit4(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Teilnehmer nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit5(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit6(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit7(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Teilnehmer nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit8(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit9(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Teilnehmer nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit10(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0)
or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Bereich nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit11(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0)
or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Teilnehmer OR Bereich nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit12(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0)
or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Teilnehmer nach Text Edit 1 OR Edit 2
procedure TFDatenauswertung.SucheCallbackEdit13(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Bereich nach Text Edit 1 OR Edit 2
procedure TFDatenauswertung.SucheCallbackEdit14(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich OR Teilnehmer nach Text Edit 1 OR Edit 2
procedure TFDatenauswertung.SucheCallbackEdit15(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Teilnehmer nach Text Edit 1 AND Edit 2
procedure TFDatenauswertung.SucheCallbackEdit16(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis OR Bereich nach Text Edit 1 AND Edit 2
procedure TFDatenauswertung.SucheCallbackEdit17(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich OR Teilnehmer nach Text Edit 1 AND Edit 2
procedure TFDatenauswertung.SucheCallbackEdit18(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Teilnehmer nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit19(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0)
and (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Bereich nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit20(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0)
and (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Teilnehmer AND Bereich nach Text Edit 1
procedure TFDatenauswertung.SucheCallbackEdit21(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := (EDManFilter1.Text='') or (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0)
and (Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Teilnehmer nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit22(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Bereich nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit23(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich AND Teilnehmer nach Text Edit 1 OR Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit24(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) or
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Teilnehmer nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit25(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Ereignis AND Bereich nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit26(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Ereignis))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
//Suche in Spalte Bereich AND Teilnehmer nach Text Edit 1 AND Text Edit 2
procedure TFDatenauswertung.SucheCallbackEdit27(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
DatenMB : TOMBSerie;
begin
DatenMB := TOMBSerie(VST.GetNodeData(Node)^);
VST.IsVisible[Node] := ((EDManFilter1.Text='') and (EDManFilter2.Text='')) or
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter1.Text), LowerCase(DatenMB.Teilnehmer))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Bereich))>0) and
(Pos(LowerCase(EDManFilter2.Text), LowerCase(DatenMB.Teilnehmer))>0);
PBFortschritt.Position := PBFortschritt.Position +1;
if PBFortschritt.Position = PBFortschritt.Max then
PBFortschritt.Position := 0;
end;
Also Danke nochmal an alle und
Gruß Jens
Jens Hartmann Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
|