Показать сообщение отдельно
  #38  
Старый 05.01.2012, 00:32
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код:
  while True do
  begin
    min1 := 0;

    for I := 1 to (Length(byteArray)-1) do
      if byteArray[i] < byteArray[min1] then
        min1 := i;

    x1 :=  StrToInt(Edit21.Text);

    case min1 of
      0 :
      begin
        Edit1.Color := clLime;
        yy1 :=  StrToInt(Edit16.text);
        z1 := x1 - yy1 - z1;
      end;
      1 :
      begin
        Edit2.Color := clLime;
        yy1 :=  StrToInt(Edit17.text);
        z1 := x1 - yy1 - z1;
      end;
      2 :
      begin
        Edit3.Color := clLime;
        yy1 :=  StrToInt(Edit18.text);
        z1 := x1 - yy1 - z1;
      end;
      3 :
      begin
        Edit4.Color := clLime;
        yy1 := StrToInt(Edit19.text);
        z1 := x1 - yy1 - z1;
      end;
      4 :
      begin
        Edit5.Color := clLime;
        yy1 := StrToInt(Edit20.text);
        z1 := x1 - yy1 - z1;
      end;
    end;
  
    for I := min1 to Length(byteArray) - 2 do
      byteArray[i] := byteArray[I + 1];

    SetLength(byteArray, Length(byteArray) - 1);

    if z1 = 0 then
      Break;
  end;
Почти так, только работать не будет, так как z1 неинициализирована. Какое она должна иметь первоначальное значение тебе видней, я логику не проверял. И в следующий раз не ври, что так и делал. Красным я выделил ошибку в твоём рассуждении.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием