Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

GoTo [D7, XP]


Страницы:   1 2 3 4 5

WestBronx ©   (2006-02-18 11:35:00) 

Привет. Подскажите, есть ли в делфи нечто подобное:

if i := 1 then  goto endp;
...
endp:


Извените за прямо сказать тупой вопрос, просто по F1, искал, нашёл кое что но непонял как этим пользоваться, объясните пожалуйсто. спасибо.


begin...end   (2006-02-26 08:47:00) [21]

Гы...

Кому интересно -- скачайте старую ветку этого форума: http://slil.ru/22582632

Самое смешное в той истории -- то, что главный противник goto и Break впоследствии не раз приводил в своих ответах на форуме код, использующий Break...

Гы...

:о)))))


Готец   (2006-02-26 08:00:00) [22]

> выход из нескольких вложенных циклов есть ничто иное как потенциальный
> ГЛЮКОДРОМ,

перебор элементов четырёхмерного массива, с поиском нужного элемента - глюкодром? Ну ну.


Defunct   (2006-02-26 05:16:00) [23]

> Как быть с выходом из нескольких вложенных циклов без goto - обсуждалось?

А зачем доводить реализацию программу до такой стадии, что нельзя обойтись без ГЛЮКОДРОМА. Выход из нескольких вложенных циклов есть ничто иное как потенциальный ГЛЮКОДРОМ, который будет здорово преукрашен конструкциями с использованием GOTO. GOTO и ГЛЮКОДРОМ - синонимы.


Готец   (2006-02-26 04:10:00) [24]

> Может некорректно, но еще и по этому я не люблю циклы for ... to... do..., надо
> всегда помнить, что переменная цикла не определна до начала цикла и после
> его завершения. Т.е. нельзя проверить выполнялся ли цикл, и если да . то
> сколько раз, и в какой точке был быброс.

В конструкции с goto - это не нужно. Ты просто сам себе жизнь усложняешь отказываясь от него.

Как быть с выходом из нескольких вложенных циклов без goto - обсуждалось?


ASoft   (2006-02-26 03:27:00) [25]

Я помню был спор на счет EXIT... Помахав руками, пришли, все же, к мнению, что кому хочется (удобней) использовать его (exit), тот пусть его использует.
>[52] "...вы все еще пользуетесь GOTO? Тогда мы идем к Вам.." :) (оч. похоже:))
Лично мне не приходилось использовать в Delphi goto...Обходился как-то..
Но тут прозвучало мненение, что вообще "всё" не корректно: циклы, exit, break, goto..:)
Дык, давайте оставим только if..else..if, begin и end! Долой сорняки! :) Даешь флаги и счетчики! :)
сорри, если офтоп


Галинка   (2006-02-26 00:02:00) [26]

Такк   (24.02.06 06:44) [61]

Может некорректно, но еще и по этому я не люблю циклы for ... to... do..., надо всегда помнить, что переменная цикла не определна до начала цикла и после его завершения. Т.е. нельзя проверить выполнялся ли цикл, и если да . то сколько раз, и в какой точке был быброс.


Pit   (2006-02-25 21:39:00) [27]

Зайдите на http://rsdn.ru/summary/3165.xmlкак раз для вас.


Галинка   (2006-02-25 21:34:00) [28]

Grief ©   (24.02.06 15:25) [62]

А while Вы тоже не используете? Вы вообще задачи какого характера тогда пишите?


Психиатор   (2006-02-25 06:48:00) [29]

Удалено модератором


Grief   (2006-02-24 15:25:00) [30]

Блин ну и споры тут.... Тогда можно знаете, считать циклы с постусловиями тоже потенциально опасной структурой, так как чел, читающий код может к моменту, когда дочитает до условия забыть, что происходило выше... Да и вообще многие конструкции можно считать таковыми (опасными). Мое мнение - каждый должен сам решать, использовать их или нет. Лично я не использую не goto, не repeat..until'ы :)


Такк   (2006-02-24 06:44:00) [31]

Так и не нашёл свою ошибку за столько времени?
i у тебя не определено при нулевом числе Энеми.


Defunct   (2006-02-20 03:10:00) [32]

Такк   (20.02.06 03:08) [59]

LOL
что бы я без вас делал? наверное, умер бы со скуки.


Такк   (2006-02-20 03:08:00) [33]

> Defunct ©   (20.02.06 02:54) [57]

Дельфи вылетела. Сам ищи ошибку в своём глюкавом коде. Программист, блин.


Defunct   (2006-02-20 02:58:00) [34]

Такк   (20.02.06 02:52) [56]
> А различные оптимизации - вплоть до перевода на ассемблер - это вообще отдельная задача.

Да но вначале должен быть выбран оптимальный алгоритм, а иначе и ассемблер не поможет.


Defunct   (2006-02-20 02:54:00) [35]

> Такк  

а так?

var
   i : Integer;
begin
     for i := Low( Enemy1) to High( Enemy1) do
        if Enemy1[i] = nil then
           break;
     if  i >= High( Enemy1) then
        SetLength(Enemy1, Length( Enemy1) + 1);
..


Такк   (2006-02-20 02:52:00) [36]

> Германн ©   (20.02.06 02:45) [55]
Если ты делаешь большой проект, и не один, а в команде, то первое правило - это код должен быть понятным.

А различные оптимизации - вплоть до перевода на ассемблер - это вообще отдельная задача. И делать её нужно, только там где критично. Если, конечно, ты хочешь уложиться в сроки, а не писать программу десять лет.


Германн   (2006-02-20 02:45:00) [37]

Не знаю разъясню ли я данную ситуацию или запутаю!
Но, имхо, основной (потенциальный) вред Goto состоит в том, что метку для сего перехода можно определить "где угодно" в пределах модуля, в котором она описаны. Без учёта "где он (переход) вызван" и "где находится сия метка"!.


Такк   (2006-02-20 02:41:00) [38]

Обе конструкции работают быстрее чем 0.001 секунды. Поэтому засечь время не получилось.


Такк   (2006-02-20 02:38:00) [39]

> Дополнительное преимущество перед вашим кодом - в переменной i гарантированного оказывается номер нового.
Ну, кому ты врёшь? Он и в том коде там оказывается.

> не надо вводить дополнительной переменной.
Ну, что ты опять врёшь? Там две переменные и у тебя две переменные.

Ведь спор достойно, без вранья.

У тебя : while f and (i < length(Arr)) do
И откуда читающий код знает что такое f ? Ты предлагаешь ему просмотреть весь код, чтобы это понять.

А конструкция: if Enemy1[i] = nil then - ясна с первого взгляда.


Defunct   (2006-02-20 02:37:00) [40]

Такк   (20.02.06 02:30) [51]

ну как? работает программа быстрее или до сих пор goto пользуемся?


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо