Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Niz brojeva i shape u FastReport sa odgovarujom bojom

[es] :: Pascal / Delphi / Kylix :: Niz brojeva i shape u FastReport sa odgovarujom bojom

[ Pregleda: 1721 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

medixsa

Član broj: 155471
Poruke: 184
*.sa.hs-hkb.ba.



+2 Profil

icon Niz brojeva i shape u FastReport sa odgovarujom bojom16.10.2014. u 21:00 - pre 69 meseci
Pozdrav !!!

Malo je komplesno za objasniti kao i sam program

Program treba da prikaze niz brojeva npr od 1 do xxxx u FastReportu poredani vertikalno i podjeljen format na 6 kolona i 6 redova
npr.

Napomena : svaki broj treba da ima odgovarajucu boju i pored sebe kvadar sa istom bojom kako sto je broj do njega :
recimo da imamo neki niz brojeva od 458101 do 458106 to je ukupno 6 brojeva:

ja sam u kodu sve uradio kako treba ali ima problem da mi zadnji 6 brojeva u nizu vertikalno ne upisuje tacnu boju uz broj - numeracija je OK


npr. s

od 45801 do 458106 - niz brojeva i razdvojeni vertikalno na 6 kolona i 6 redova
---------------------------------------------------------------------------------------------------

4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape 4 4 ovdje ide shape 4

5 ovdje ide shape memo 5 5 ovdje ide shape memo 5 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape 4 4 ovdje ide shape 4

8 ovdje ide shape memo 8 8 ovdje ide shape memo 8 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape 4 4 ovdje ide shape 4

1 ovdje ide shape memo 1 1 ovdje ide shape memo 1 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape 4 4 ovdje ide shape 4

0 ovdje ide shape memo 0 0 ovdje ide shape memo 0 4 ovdje ide shape memo 4 4 ovdje ide shape memo 4 4 ovdje ide shape 4 4 ovdje ide shape 4

1 ovdje ide shape memo 1 2 ovdje ide shape memo 2 3 ovdje ide shape memo 3 4 ovdje ide shape memo 4 5 ovdje ide shape 5 6 ovdje ide shape 6
----------------------------------------------------------------------------------------------------------------------------------------------------

* ovdje ide shape memo = oblik kvadrat sa odgovarajucom bojom kao sto je i broj


evo koda:

Code:

var
  i : integer;
  eOd_txt,eDo_txt : integer;
  begin
  eOd_txt := strtoint(eOd.Text);
  eDo_txt := strtoint(eDo.Text);

    // Provjera da li postoji vrijednost za numerisanje
    if Length(eOd.Text) = 0 then
      begin
        ShowMessage('Unesite vrijednost !!!');
        exit;
      end;

    if Length(eDo.Text) = 0 then
      begin
        ShowMessage('Unesite vrijednost !!!');
        exit;
      end;
  // Unos stavki u tabelu sa seperacijom brojeva
  with DM,tblNumerisanje do
  begin
   try
    for i := eOd_txt to eDo_txt do
      begin
        tblNumerisanje.DisableControls;
              tblNumerisanje.Append;
              tblNumerisanje.FieldByName('BROJ').AsString := inttostr(i);
              tblNumerisanje.Edit;
              tblNumerisanje.FieldByName('NUM_1').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,1,1);
              tblNumerisanje.FieldByName('NUM_2').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,2,2);
              tblNumerisanje.FieldByName('NUM_3').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,3,3);
              tblNumerisanje.FieldByName('NUM_4').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,4,4);
              tblNumerisanje.FieldByName('NUM_5').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,5,5);
              tblNumerisanje.FieldByName('NUM_6').AsString := Copy(DM.tblNumerisanje.FieldByName('BROJ').AsString,6,6);
              tblNumerisanje.Post;
              eUkupno.Text := inttostr(tblNumerisanje.RecordCount);
              tblNumerisanje.EnableControls;
       // bSeperate.Click;
      end;
    except
      ShowMessage('Desila se greška');
      exit;
   end;

              bBoja.Click;

end;
*********************************
Print u FastReportu
var
  // Num_1
  memo1: TfrxMemoView;
  memo2: TfrxMemoView;
  shape_3: TfrxMemoView;
  // Num_2
  memo4  : TfrxMemoView;
  memo6  : TfrxMemoView;
  shape_5: TfrxMemoView;
  // Num_3
  memo7  : TfrxMemoView;
  memo9  : TfrxMemoView;
  shape_8: TfrxMemoView;
  // Num_4
  memo10  : TfrxMemoView;
  memo12  : TfrxMemoView;
  shape_11: TfrxMemoView;
  // Num_5
  memo13  : TfrxMemoView;
  memo15  : TfrxMemoView;
  shape_14: TfrxMemoView;

  // Num_6
  memo16  : TfrxMemoView;
  memo18  : TfrxMemoView;
  shape_17: TfrxMemoView;

  // Num_6
  shape_19: TfrxMemoView;
  shape_20: TfrxMemoView;
  memo21  : TfrxMemoView;
  memo22  : TfrxMemoView;
  begin

  with DM do
    begin
    if tblNumerisanje.RecordCount = 0 then
      begin
        ShowMessage('Nema potakata za prikaz !!!');
        exit;
      end;
      tblNumerisanje.First;
     while not tblNumerisanje.Eof do
      begin//----- pocetak-----
         //**************************************************************************

                  memo1 := izvjNumerisanje.FindComponent('Memo1') as TfrxMemoView;
                  memo2 := izvjNumerisanje.FindComponent('Memo2') as TfrxMemoView;
                  shape_3 := izvjNumerisanje.FindComponent('Memo3') as TfrxMemoView;
                  memo1.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_1B').AsString);
                  memo2.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_1B').AsString);
                  shape_3.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_1B').AsString);
        //**************************************************************************
                  memo4 := izvjNumerisanje.FindComponent('Memo4') as TfrxMemoView;
                  memo6 := izvjNumerisanje.FindComponent('Memo6') as TfrxMemoView;
                  shape_5 := izvjNumerisanje.FindComponent('Memo5') as TfrxMemoView;
                  memo4.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_2B').AsString);
                  memo6.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_2B').AsString);
                  shape_5.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_2B').AsString);
         //**************************************************************************
                  memo7 := izvjNumerisanje.FindComponent('memo7') as TfrxMemoView;
                  memo9 := izvjNumerisanje.FindComponent('memo9') as TfrxMemoView;
                  shape_8 := izvjNumerisanje.FindComponent('Memo8') as TfrxMemoView;
                  memo7.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_3B').AsString);
                  memo9.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_3B').AsString);
                  shape_8.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_3B').AsString);
         //**************************************************************************
                  memo10 := izvjNumerisanje.FindComponent('memo10') as TfrxMemoView;
                  memo12 := izvjNumerisanje.FindComponent('memo12') as TfrxMemoView;
                  shape_11 := izvjNumerisanje.FindComponent('Memo11') as TfrxMemoView;
                  memo10.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_4B').AsString);
                  memo12.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_4B').AsString);
                  shape_11.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_4B').AsString);
        //**************************************************************************
                  memo13 := izvjNumerisanje.FindComponent('memo13') as TfrxMemoView;
                  memo15 := izvjNumerisanje.FindComponent('memo15') as TfrxMemoView;
                  shape_14 := izvjNumerisanje.FindComponent('Memo14') as TfrxMemoView;
                  memo13.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_5B').AsString);
                  memo15.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_5B').AsString);
                  shape_14.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_5B').AsString);
     //**************************************************************************
                  memo16 := izvjNumerisanje.FindComponent('memo16') as TfrxMemoView;
                  memo18 := izvjNumerisanje.FindComponent('memo18') as TfrxMemoView;
                  shape_17 := izvjNumerisanje.FindComponent('memo17') as TfrxMemoView;
                  memo16.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_6B').AsString);
                  memo18.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_6B').AsString);
                  shape_17.Color := $000000;
  //**************************************************************************
                  memo16 := izvjNumerisanje.FindComponent('memo16') as TfrxMemoView;
                  memo18 := izvjNumerisanje.FindComponent('memo18') as TfrxMemoView;
                  shape_17 := izvjNumerisanje.FindComponent('memo17') as TfrxMemoView;
                  memo16.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_6B').AsString);
                  memo18.Font.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_6B').AsString);
                  shape_17.Color := stringtoColor(tblNumerisanje.FieldByName('NUM_6B').AsString);
    //**************************************************************************
   tblNumerisanje.Next;
 end;
  izvjNumerisanje.ShowReport();
 end;
end;
***************************************


        case tblNumerisanje.FieldByName('NUM_1').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_1B').AsString := ColorToString($813B0F);
               end;
         end;
//****************************************************************************************
         case tblNumerisanje.FieldByName('NUM_2').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_2B').AsString := ColorToString($813B0F);
               end;
         end;
//****************************************************************************************
         case tblNumerisanje.FieldByName('NUM_3').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_3B').AsString := ColorToString($813B0F);
               end;
         end;
//*********************************************************************************************
         case tblNumerisanje.FieldByName('NUM_4').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_4B').AsString := ColorToString($813B0F);
               end;
         end;
//******************************************************************************************
         case tblNumerisanje.FieldByName('NUM_5').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_5B').AsString := ColorToString($813B0F);
               end;
         end;
//*************************************************************************************
Dodjeljivanje COLOR boju u string tako da FastReport uzima string i konvertuje u boju
---------------------------------      
   case tblNumerisanje.FieldByName('NUM_6').AsInteger of
           0 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($0024FF);
               end;
           1 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($4F1D26);
               end;
           2 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($0024FF);
               end;
           3 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($AB6905);
               end;
           4 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($00A859);
               end;
           5 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($087CCD);
               end;
           6 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($EA937D);
               end;
           7 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($EC268F);
               end;
           8 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($AAA387);
               end;
           9 : begin
                 tblNumerisanje.FieldByName('NUM_6B').AsString := ColorToString($813B0F);
               end;
         end;
//******************************************************************************************

         tblNumerisanje.Post;
         tblNumerisanje.Next;





[Ovu poruku je menjao savkic dana 16.10.2014. u 22:18 GMT+1]
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Niz brojeva i shape u FastReport sa odgovarujom bojom16.10.2014. u 21:19 - pre 69 meseci
Možeš li uploadovati neku sliku ili pdf tog reporta, i naznačiti šta ne valja, iz opisa mi to i nije najjasnije.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1327
*.dynamic.sbb.rs.



+307 Profil

icon Re: Niz brojeva i shape u FastReport sa odgovarujom bojom16.10.2014. u 21:22 - pre 69 meseci
Vidim da dva puta postavljaš boju za ove:
Code:

memo16
memo18
shape_17

A nigde za ove:
Code:

shape_19
shape_20
memo21
memo22

Pa je to možda problem.

Inače, kod ti je tako loš da ne znam odakle bih počeo sa kritikama.
Tačno se vidi da nije dato pet para da se osmisli rešenje, već je sve copy-paste fazon.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 790
..ppoe.dyn.broadband.blic.net.



+61 Profil

icon Re: Niz brojeva i shape u FastReport sa odgovarujom bojom17.10.2014. u 11:57 - pre 69 meseci
Slazem se, kod bi mogao biti bar 3x manji.

Ali opet, treba ceniti trud programera (pocetnika ); koliko su cesta(retka) pitanja gde se trazi POMOC, a ne kompletan posao da se odradi..?

Pozz
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Niz brojeva i shape u FastReport sa odgovarujom bojom

[ Pregleda: 1721 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.