恭喜,你发布的帖子
发布于 2023-01-04 10:42:03
18楼
mainScreenName & "openedFPs" :指针
mainScreenName & "array_" & 1 & "_screen"画面数组1
mainScreenName & "array_" & 1 & "_screen"画面数组2
mainScreenName & "array_" & 1 & "_screen"画面数组3
mainScreenName & "array_" & 1 & "_screen"画面数组4
mainScreenName & "array_" & 1 & "_screen"画面数组5
=======================================================================================
假设屏幕中最大的窗口数是5,并且每次只打开一次的情况下,各参数的值
第一次打开窗体:mainScreenName & "openedFPs":值是1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0,0)
检测的空闲窗口是窗口5,显示窗口5,指针的值是1,将画面数组变量改为:(5,0,0,0,0),指针的值是2
=======================================================================================
第二次打开窗体:mainScreenName & "openedFPs":值是2,此时mainScreenName & "array_" & 1 & "_screen(5,0,0,0,0)
执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:1(counter2 = 1),newEmptyField的值是:1
此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是1 = (1 - 1) + 1
arrayField2:值是0 = 1 - 1则改成arrayField2:值是5 = 5 + 0,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第2次:arrayField1:值是0 = (1 - 2) + 1,则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 1 - 2则改成
arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第3次:arrayField1:值是-1= (1 - 3) + 1,则改成arrayField1:值是4 = 5 - 1,arrayField2:值是-2 = 1 - 3则改成
arrayField2:值是3 = 5 - 2,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第4次:arrayField1:值是-2= (1 - 4) + 1,则改成arrayField1:值是3 = 5 - 2,arrayField2:值是-3 = 1 - 4则改成
arrayField2:值是2 = 5 - 3,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
经过这4轮现象是:5给1,4给5,3给4,2给3
检测到的空闲窗口是5,显示窗口是5,指针的值是2,将画面数组变量改为(0,5,0,0,0), 指针的值是3
=======================================================================================
第三次打开窗体:mainScreenName & "openedFPs":值是3,此时mainScreenName & "array_" & 1 & "_screen(0,5,0,0,0)
执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:2(counter2 = 2),newEmptyField的值是:2
此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是2 = (2 - 1) + 1
arrayField2:值是1 = 2 - 1此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第2次:arrayField1:值是1 = (2 - 2) + 1,arrayField2:值是0 = 2 - 2则改成arrayField2:值是5 = 5 - 0,
此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第3次:arrayField1:值是0 = (2 - 3) + 1,则改成则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 2 - 3则改成
arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第4次:arrayField1:值是-1 = (2 - 4) + 1,则改成则改成arrayField1:值是4 = 5-1,arrayField2:值是-2 = 2 - 4则改成
arrayField2:值是3 = 5 - 2,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
经过这4轮现象是:1给2,5给1,4给5,3给4
检测到的空闲窗口是5,显示窗口是5,指针的值是3,将画面数组变量改为(0,0,5,0,0),指针的值是4
=========================================================================================
第四次打开窗体:mainScreenName & "openedFPs":值是4,此时mainScreenName & "array_" & 1 & "_screen(0,0,5,0,0)
执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:3(counter2 = 3),newEmptyField的值是:3
此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是3 = (3 - 1) + 1
arrayField2:值是2 = 3 - 1此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第2次:arrayField1:值是2 = (3 - 2) + 1,arrayField2:值是1 = 3 - 2
此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第3次:arrayField1:值是1 = (3 - 3) + 1,arrayField2:值是0 = 3 - 3则改成arrayField2:值是5 = 5 - 0,
此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
第4次:arrayField1:值是0 = (3 - 4) + 1则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 3 - 4则改成arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)
经过这4轮现象是:2给3,1给2,5给1,4给5
检测到的空闲窗口是5,显示窗口是5,指针的值是4,将画面数组变量改为(0,0,0,5,0),指针的值是5
==========================================================================================
第五次打开窗体:4轮的现象是:3给4,2给3,1给2,5给1
检测到的空闲窗口时5,显示窗口时5,指针的值是5,将画面数组改位(0,0,0,0,5),指针的值是1
感谢分享,收藏级
请填写推广理由:
分享
只看
楼主