Hi,
How to tune loading time of this script, I think the loop function is not correct.
Drop box link: https://www.dropbox.com/s/cnlormp1eovcr … b.zip?dl=0
procedure frmMain_tgDrawings_OnChange (Sender: string);
begin
TableGrid_OnChange(frmMain.tgDrawings);
frmMain.tgMembers.dbUpdate;
// UpdateDatabase('members');
end;
procedure frmMain_tgMembers_OnChange (Sender: string);
begin
TableGrid_OnChange(frmMain.tgMembers);
end;
procedure TableGrid_OnChange (Sender: TdbStringGridEx);
var
i,c: integer;
k,q: integer;
ii,cc: integer;
kk,qq: integer;
begin
frmMain.tgMembers.SelectedRow := 0;
frmMain.tgMembers.ScrollToRow(0);
frmMain.tgDrawings.SelectedRow := 0;
frmMain.tgDrawings.ScrollToRow(0);
frmMain.tgMembers.BeginUpdate;
qq := frmMain.tgMembers.Columns.Count-1;
cc := frmMain.tgMembers.RowCount - 1;
q := frmMain.tgDrawings.Columns.Count-1;
c := frmMain.tgDrawings.RowCount - 1;
begin
for i := 0 to c do
for k := 0 to q do
for ii := 0 to cc do
for kk := 0 to qq do
begin
if (frmMain.tgDrawings.Cells[k,i] = '1') and (frmMain.tgMembers.Cells[kk,ii] = '1') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '2') and (frmMain.tgMembers.Cells[kk,ii] = '2') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '3') and (frmMain.tgMembers.Cells[kk,ii] = '3') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '4') and (frmMain.tgMembers.Cells[kk,ii] = '4') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '5') and (frmMain.tgMembers.Cells[kk,ii] = '5') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '6') and (frmMain.tgMembers.Cells[kk,ii] = '6') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '7') and (frmMain.tgMembers.Cells[kk,ii] = '7') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '8') and (frmMain.tgMembers.Cells[kk,ii] = '8') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '9') and (frmMain.tgMembers.Cells[kk,ii] = '9') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '10') and (frmMain.tgMembers.Cells[kk,ii] = '10') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '11') and (frmMain.tgMembers.Cells[kk,ii] = '11') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '12') and (frmMain.tgMembers.Cells[kk,ii] = '12') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '13') and (frmMain.tgMembers.Cells[kk,ii] = '13') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '14') and (frmMain.tgMembers.Cells[kk,ii] = '14') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '15') and (frmMain.tgMembers.Cells[kk,ii] = '15') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '16') and (frmMain.tgMembers.Cells[kk,ii] = '16') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '17') and (frmMain.tgMembers.Cells[kk,ii] = '17') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '18') and (frmMain.tgMembers.Cells[kk,ii] = '18') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '19') and (frmMain.tgMembers.Cells[kk,ii] = '19') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '20') and (frmMain.tgMembers.Cells[kk,ii] = '20') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '21') and (frmMain.tgMembers.Cells[kk,ii] = '21') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '22') and (frmMain.tgMembers.Cells[kk,ii] = '22') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '23') and (frmMain.tgMembers.Cells[kk,ii] = '23') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '24') and (frmMain.tgMembers.Cells[kk,ii] = '24') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '25') and (frmMain.tgMembers.Cells[kk,ii] = '25') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '26') and (frmMain.tgMembers.Cells[kk,ii] = '26') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '27') and (frmMain.tgMembers.Cells[kk,ii] = '27') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '28') and (frmMain.tgMembers.Cells[kk,ii] = '28') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '29') and (frmMain.tgMembers.Cells[kk,ii] = '29') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '30') and (frmMain.tgMembers.Cells[kk,ii] = '30') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '31') and (frmMain.tgMembers.Cells[kk,ii] = '31') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '32') and (frmMain.tgMembers.Cells[kk,ii] = '32') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '33') and (frmMain.tgMembers.Cells[kk,ii] = '33') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '34') and (frmMain.tgMembers.Cells[kk,ii] = '34') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '35') and (frmMain.tgMembers.Cells[kk,ii] = '35') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '36') and (frmMain.tgMembers.Cells[kk,ii] = '36') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '37') and (frmMain.tgMembers.Cells[kk,ii] = '37') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '38') and (frmMain.tgMembers.Cells[kk,ii] = '38') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '39') and (frmMain.tgMembers.Cells[kk,ii] = '39') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '40') and (frmMain.tgMembers.Cells[kk,ii] = '40') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '41') and (frmMain.tgMembers.Cells[kk,ii] = '41') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '42') and (frmMain.tgMembers.Cells[kk,ii] = '42') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '43') and (frmMain.tgMembers.Cells[kk,ii] = '43') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '44') and (frmMain.tgMembers.Cells[kk,ii] = '44') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
if (frmMain.tgDrawings.Cells[k,i] = '45') and (frmMain.tgMembers.Cells[kk,ii] = '45') then frmMain.tgMembers.Cell[kk,ii].Color := clGreen;
frmMain.tgMembers.EndUpdate;
Thanks, Carlo