[ medixsa @ 16.10.2014. 21:00 ] @
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]
[ savkic @ 16.10.2014. 21:19 ] @
Možeš li uploadovati neku sliku ili pdf tog reporta, i naznačiti šta ne valja, iz opisa mi to i nije najjasnije.
[ dusans @ 16.10.2014. 21:22 ] @
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.
[ Rapaic Rajko @ 17.10.2014. 11:57 ] @
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