Fastreport Kolan Bilgisine Göre Gruplama

Fastreport üzerinde for ve dizi kullanarak master detail içinde verilerin gruplanması yada kayıt sayılarının alınması

				
					
        var
        gorev:string;
        i:integer;
        adet : integer;
        numbers: array [1..50] of string;
        katilanlar:array[1..50] of string;
        
        
        procedure KatilanPersonelGOREVOnAfterData(Sender: TfrxComponent);
begin
         //

           adet:=adet+1;
           //showmessage(adet);
           numbers[adet]:=<KatilanPersonel."GOREV">;

end;




procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);

var
  katilan_sayisi:integer;

x,x2,x3,x4 :integer;
     eslesti:integer;                                  
begin
    //showmessage(adet);
    memo26.text:='';
       for x:=1 to adet do
       begin
       //showmessage(numbers[x]);
       katilan_sayisi:=0;

               for i:=1 to adet do
               begin
                       if     numbers[x]=numbers[i] then
                       begin

                        katilan_sayisi:=katilan_sayisi+1;
                       // showmessage(numbers[adet]);
                       end;
                       if  i=adet then
                       begin

                       katilanlar[x]:=numbers[x]+' Katilan Sayısı: '+inttostr(katilan_sayisi);
                       end;
               end;
              end;        
              
                      for x2:=1 to adet do
               begin
               eslesti:=0;                                       
                    for x3:=1 to adet do
                       begin
                       if   katilanlar[x2]=katilanlar[x3] then
                          begin
                          if           eslesti=0 then eslesti:=eslesti+1    else       katilanlar[x3]:='';
                          end;
                       end;
                     end;                                               
                                       

           for x4:=1 to adet do
           begin
           //showmessage(adet);
           if  Length(katilanlar[x4])>0 then   
           begin
           //showmessage(katilanlar[x4]);
           memo26.text:=memo26.text+' '+katilanlar[x4];
           end;                     
           end;                       
       
end;
				
			

hakkında admin

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir