#1: цикл харбора Author: OlgaCherry, Location: ВишневскаяPosted: 24 Oct 2007 14:50 Добрый день !
Я стала работать с харбором (пишу prg). Не получается написать простой цикл. Если параметр =0 то выход из цикла. Харбор ругается на return 0. Как надо писать - выход из цикла .
return - это не выход из цикла, а возврат результата работы функции (например function fufu(par1,par2)) или выход из процедуры (например procedure ppp(par1,par2)), пишется чаще всего в конце тела этой функции или процеду
#3: Author: nordk, Location: Горбунов КонстантинPosted: 24 Oct 2007 16:16 Ну вобщем Вам подсказывают правильный стиль программирования.
Но и return в цикле должен работать.
ВОзможно ошибка в чем-то другом - надо смотреть текст
А вообще придерживайтесь лучше данного Вам совета
в цикл
#4: продолжение цикла харбора Author: OlgaCherry, Location: ВишневскаяPosted: 25 Oct 2007 08:33 Добрый день !
Подскажите , плиз, как сделать выход в цикле. Программа рабочая, но на 0 (выход из цикла не работает). Я уже пробовала писать exit - прога не работает
Function Main()
local hkkm, sum, dept, dat, doc, nds, NCheck, p,f,s
p := LoadPath() +'!kkm.log'
if File(p) = .T.
f := FOpen(p,1)
else
f:= FCreate(p)
endif
sum:= DIALOG("Сумма :","999999999.99",0)
dept := DIALOG("‘Секция :","9",0)
nds := 0
if dept=1 .or. dept=3
nds := sum*18/118
sum := sum - nds
endif
alert("sum >0")
if sum3 = 0
m:=DIALOG("Вы ввели нуль - 0. Далее для выхода 0. Продолжение- 1","9",1)
//если раскоментировать то вводится только 1 сумма а нужно много и по нажатию 2 раза 0 - выход
// if m = 0
// alert("m=0")
// exit
// end if
if m=1
sum1:= DIALOG("Сумма равна sum1: ","999999999.99",0)
hkkm:Price := Round(sum1,2)
hkkm:Quantity := 1
hkkm:Department := dept
hkkm:Registration()
endif
sum2:= DIALOG("Введите сумму 2 или 0 !","9999999.99",0)
hkkm:Price := Round(sum2,2)
hkkm:Quantity := 1
hkkm:Department := dept
hkkm:Registration()
endif
end do
//*******конец цикла
#6: Author: nordk, Location: Горбунов КонстантинPosted: 25 Oct 2007 13:58 Да мне с отладчиком у себя не пройти по Вашей задаче
А Вы с отладчиком пробовали смотреть.
Похоже проблема не в этом месте то совершен