change edtBox color according to value in pascal lazarus / 31-LCL ---------------------------------------------------------------------- xaver13 · 2016-11-24 15:46 Hello, please is there any simply way (f.e. in FormActivate event)  to set color of many editBoxes according to its values? Something as With all form1.editBoxes Do if self.value > 30 then self.color :=$00B3B3FF else self.color :=$00000000;    Thank you very much for help! ---------------------------------------------------------------------- howardpc · 2016-11-24 16:55 You could try this: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TForm1.ChangeEditColorIfAbove(aValue: integer);var  i, j: integer;begin  for i:=0 to ControlCount-1 do    if (Controls[i] is TEdit) then begin      if TryStrToInt(TEdit(Controls[i]).Text, j) and (j > aValue) then        TEdit(Controls[i]).Color:=$00B3B3FF      else TEdit(Controls[i]).Color:=clDefault;    end;end; ---------------------------------------------------------------------- ASerge · 2016-11-24 17:00 Quote from: xaver13 on November 24, 2016, 04:46:40 pm...to set color of many editBoxes according to its values? Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TForm1.FormCreate(Sender: TObject);var  C: TControl;begin  for C in GetEnumeratorControls do  begin    if (C is TEdit) and (StrToIntDef(TEdit(C).Text, -1) > 30) then      C.Color := clLime;  end;end; ---------------------------------------------------------------------- Graeme · 2016-11-25 10:43 Very nice suggestion ASerge. I keep forgetting about the FOR...IN syntax. It makes the code so much more readable. ---------------------------------------------------------------------- xaver13 · 2016-11-26 08:29 Quote from: ASerge on November 24, 2016, 06:00:10 pmQuote from: xaver13 on November 24, 2016, 04:46:40 pm...to set color of many editBoxes according to its values? Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TForm1.FormCreate(Sender: TObject);var  C: TControl;begin  for C in GetEnumeratorControls do  begin    if (C is TEdit) and (StrToIntDef(TEdit(C).Text, -1) > 30) then      C.Color := clLime;  end;end; Thank you very much for your suggestion, Serge, I used it to fetch data from sql to fields and to colorize this fields: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i //fulfill fields with Edth prefix with values from SQL with h prefix, colorize themprocedure ScatterFields();var  C: Tcontrol;  q: string;begin  for C in Kalendar1.GetEnumeratorControls do  begin    if (C is TEdit) and (copy(TEdit(C).Name, 1, 4) = 'Edth') then    begin      //fields in sql q = 'h0101','h0102',..'h0131'...'h1231'      q := 'h' + copy(TEdit(C).Name, 5, 4);      C.Caption := Kalendar1.Query1.FieldByName(q).Value;      //color      if TEdit(C).Text = 'M' then        C.Color := $00B3B3FF      else        C.Color := clDefault;    end;  end;end;