Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

примитив про цикл   Найти похожие ветки 

 
заза   (2008-02-03 15:57) [0]

for i := Low(RecArr) to High(RecArr) do
 with RecArr[i] do
   if (Edit1.Text <> RecData1) and (Edit1.Text <> RecData2) then
   begin
     //ok , test
     Halt;
   end else
   begin
     ShowMessage("Имена совпадают, что-то не так")
     Break;
   end;


RecArr - это массив состоящий из record"ов.

Я не пойму, почему Break не работает так как мне хочется. Если срабатывает else, после Break цикл крутится до следующего элемента и на нем уже срабатывает if. Т.е. Break не помогает.


 
Johnmen ©   (2008-02-03 16:00) [1]

А как ты проверил, что крутится?


 
Сергей М. ©   (2008-02-03 16:02) [2]


> после Break цикл крутится до следующего элемента


На основании чего ты утверждаешь это ?


 
Thrasher ©   (2008-02-05 14:26) [3]

Сделай условие по-другому:

for i := Low(RecArr) to High(RecArr) do
with RecArr[i] do
  if (Edit1.Text = RecData1) and (Edit1.Text = RecData2) then
  begin
    ShowMessage("Имена совпадают, что-то не так")
    Break;
  end
    else
 begin
    //ok , test
    Halt;
 end;

Странная вещь в этом коде - если имена совпадают, то Break, если не совпадают, то Halt. Автор разберись в коде!

Вообще такие конструкции надо стараться избегать. Дело в том, что при компилировании в машинный код, компилятор данную конструкцию компилирует БЕЗ сохранения флагов проверки.


 
Johnmen ©   (2008-02-05 14:39) [4]


> Thrasher ©   (05.02.08 14:26) [3]
> Сделай условие по-другому:

Логика "другого условия" не соответствует логике автора.
Учите азы булевой алгебры. А уж потом советуйте...


 
ketmar ©   (2008-02-05 15:34) [5]

>[3] Thrasher ©(05.02.08 14:26)
>Дело в том, что при компилировании в машинный код, компилятор данную
>конструкцию компилирует БЕЗ сохранения флагов проверки.

можно это перевести на понятный русский?



Страницы: 1 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
3-1192105820
Dush
2007-10-11 16:30
2008.03.02
условие отображения данных в DBGridEh


2-1202475868
АИК
2008-02-08 16:04
2008.03.02
Undeclared identifier: CoTaskMemAlloc


15-1201334473
del
2008-01-26 11:01
2008.03.02
Санер радиочастот


2-1202226967
_Shuler_
2008-02-05 18:56
2008.03.02
копирование из MsWord


15-1201519922
No_Dead
2008-01-28 14:32
2008.03.02
А не подскажете как правильно пишется&amp;#133