Показать сообщение отдельно
  #1  
Старый 11.09.2019, 01:21
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 113
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Не понятно что не так

Здравствуйте!
Не понятно почему условие else наступает только на 4 - е нажатие кнопки?
хотя условие false.
Код:
if   Table3.Locate('Rezid',Table1.FieldByName('Projid').AsInteger,[]) then
    begin
   for i:=0 to m  do
       begin
   StringGrid1.Cells[1,i+1]:=Table3.FieldByName('Alfa1').AsString;
   StringGrid1.Cells[2,i+1]:=Table3.FieldByName('Alfa2').AsString;
   StringGrid1.Cells[3,i+1]:=Table3.FieldByName('Alfa3').AsString;
   StringGrid1.Cells[4,i+1]:=Table3.FieldByName('Alfa4').AsString;
   StringGrid1.Cells[5,i+1]:=Table3.FieldByName('Alfa5').AsString;
   StringGrid1.Cells[6,i+1]:=Table3.FieldByName('Alfa6').AsString;
       Table3.Next;
    c7_[i]:=StrtoFloat(Table3.FieldByName('Alfa1').AsString);
    c8_[i]:=StrtoFloat(Table3.FieldByName('Alfa2').AsString);
    c9_[i]:=StrtoFloat(Table3.FieldByName('Alfa3').AsString);
    c10_[i]:=StrtoFloat(Table3.FieldByName('Alfa4').AsString);
    c11_[i]:=StrtoFloat(Table3.FieldByName('Alfa5').AsString);
    c12_[i]:=StrtoFloat(Table3.FieldByName('Alfa6').AsString);
    end;
ysum1_[0]:=c7_[14];
  ........
   Chart1.Series[0].Clear;
   for i:=0 to n  do
       begin
   alfa1[i]:=(10+5*i);
 Chart1.Series[0].AddXY(alfa1[i],ysum1_[i]);
 end;
 end
else
begin
for i:=1 to m+1 do
begin
StringGrid1.Cells[1,i]:='';
StringGrid1.Cells[2,i]:='';
StringGrid1.Cells[3,i]:='';
StringGrid1.Cells[4,i]:='';
StringGrid1.Cells[5,i]:='';
StringGrid1.Cells[6,i]:='';
end;
Chart1.Series[0].Clear;
end;
Т. е при false должно произойти
Код:
for i:=1 to m+1 do
begin
StringGrid1.Cells[1,i]:='';
StringGrid1.Cells[2,i]:='';
StringGrid1.Cells[3,i]:='';
StringGrid1.Cells[4,i]:='';
StringGrid1.Cells[5,i]:='';
StringGrid1.Cells[6,i]:='';
end;
Chart1.Series[0].Clear;
А это происходит только после 4-го подряд нажатия на кнопку.
Ответить с цитированием