Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Внизfor i := ... Найти похожие ветки
← →
yyy111 (2006-11-09 11:43) [0]Есть цикл:
for i := 0 to MyTypeLength(myType) - 1 do
Возможно ли внутри цикла узнать что это последний элемент. При условии, что внутри цикла вызвать MyTypeLength(myType) повторно нельзя.
Единственный выход такой?Cnt := MyTypeLength(myType);
for i := 0 to Cnt - 1 do
if i = cnt - 1 then ...
← →
Dmitrij_K (2006-11-09 11:46) [1]
Cnt := MyTypeLength(myType)-1;
for i := 0 to Cnt do
if i = cnt then ...
чем плох?
← →
RWolf © (2006-11-09 11:46) [2]а чем такой вариант не устраивает?
← →
yyy111 (2006-11-09 11:48) [3]Нет, всё ок нормальный вариант, просто спросил может есть более хорошее решение. Спасибо!
← →
Kolan © (2006-11-09 11:49) [4]> Единственный выход такой?
Мож и не единственный, но нормальный...
← →
RWolf © (2006-11-09 11:51) [5]Что до хорошего решения, то, судя по коду, кроме if, в цикле ничего нет. Если так - цикл ни к чему.
if MyTypeLength(myType)>0 then ...
← →
Kolan © (2006-11-09 11:54) [6]> то, судя по коду, кроме if, в цикле ничего нет
судя по коду это неизвестно...
← →
RWolf © (2006-11-09 11:55) [7]
> судя по коду это неизвестно...
do без begin именно это и обозначает.
← →
Kolan © (2006-11-09 12:00) [8]> [7] RWolf © (09.11.06 11:55)
>
> > судя по коду это неизвестно...
>
> do без begin именно это и обозначает.
А else ?
← →
RWolf © (2006-11-09 12:06) [9]а что else? операторов в тело цикла оно не прибавит. Условие сработает все равно только для одного значения i.
← →
Anatoly Podgoretsky © (2006-11-09 12:09) [10]> yyy111 (09.11.2006 11:43:00) [0]
Ну и чего тебе тогда не нравится, соответствует твоей задаче и твоему (а твоему ли) зверскому ограничению, ничем не обоснованному.
← →
Kolan © (2006-11-09 12:11) [11]Замени это:
Cnt := MyTypeLength(myType);
for i := 0 to Cnt - 1 do
if i = cnt - 1 then
ShowMessage("End")
else
ShowMessage("Still working"+IntToStr(I));
C помощьюif MyTypeLength(myType)>0 then
← →
RWolf © (2006-11-09 12:13) [12]Это верно, согласен.
← →
_RusLAN © (2006-11-09 15:47) [13]> Единственный выход такой?
> Cnt := MyTypeLength(myType);
> for i := 0 to Cnt - 1 do
> if i = cnt - 1 then ...
еще так можно:for i := MyTypeLength(myType) - 1 dowto 0 do
if i = 0 then ...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c