Добрый день.
У меня сомнения в корректности вот такого способа возврата процедурой любого количества значений.
Скорее всего я где-то этот способ подсмотрел, но где - не помню, хоть убей.
В отладчике всё работает прекрасно.
Хотелось бы узнать мнение специалистов, можно ли так делать?
Код с поддержкой unicode
;Решается задача выборочной совместной обработки данных из нескольких ;массивов с большими (порядка тысячи) количествами элементов. ;В примере для простоты массивы имеют по пять элементов. ;Аргументы процедуры имеют вид: (0,2,3,4), (1,2,2,1) и так ;далее.... согласно применяемого алгоритма обработки. ; Global Dim SLOVO1.l(4) Global Dim SLOVO2.l(4) Global Dim SLOVO3.l(4) Global Dim SLOVO4.l(4) Debug "инициализация массивов:" For i=0 To 4 SLOVO1(i)=1 Next i For i=0 To 4 SLOVO2(i)=2 Next i For i=0 To 4 SLOVO3(i)=3 Next i For i=0 To 4 SLOVO4(i)=4 Next i ;вывод значений в отладчике: Debug "SLOVO1" For i=0 To 4 Debug SLOVO1(i) Next i Debug "SLOVO2" For i=0 To 4 Debug SLOVO2(i) Next i Debug "SLOVO3" For i=0 To 4 Debug SLOVO3(i) Next i Debug "SLOVO4" For i=0 To 4 Debug SLOVO4(i) Next i Procedure Sklad(a,b,c,d) x=SLOVO1(a) y=SLOVO2(b) z=SLOVO3(c) k=SLOVO4(d) x=x+100 y=x+1 z=y+1 k=z+1 SLOVO1(a)=x SLOVO2(b)=y SLOVO3(c)=z SLOVO4(d)=k EndProcedure Debug "манипуляции с данными" Sklad(1,2,3,4) Debug "SLOVO1 - новые значения" For i=0 To 4 Debug SLOVO1(i) Next i Debug "SLOVO2 - новые значения" For i=0 To 4 Debug SLOVO2(i) Next i Debug "SLOVO3 - новые значения" For i=0 To 4 Debug SLOVO3(i) Next i Debug "SLOVO4 - новые значения" For i=0 To 4 Debug SLOVO4(i) Next i