以下是引用xs591222在2014-8-24 20:29:06的发言:
能让TonyDeng出手写代码,看来楼主不简单……
能让TonyDeng出手写代码,看来楼主不简单……
错!T版经常给出代码的,我也是受益者之一。
你要有明确的需求,且这个需求应该是你动过脑筋仍无法解决的,T版通常都会出来相助的。
活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
* 确定 PROCEDURE Go LOCAL lcStr, lcNumber, lcName, lnRow, lnCol SELECT "居民信息" SET ORDER TO "Master" IF SEEK(ThisForm.cList) lcStr = 楼栋号 + 单元号 + 楼层号 + 户室号 && 这就是自动生成的房号字符串,但里面是含有空格的 DO WHILE (ThisForm.cList $ lcStr) .AND. !EOF() IF (楼栋号 + 单元号 + 楼层号 + 户室号 == lcStr) .AND. (ALLTRIM(户主关系) == "户主") WITH = STRTRAN(楼栋号 + 单元号 + 楼层号 + 户室号, ' ', '0') && 这是把上面含有空格的房号字符串中的空格替换成0得到实际输出的房号串 lcName = "House_" + lcNumber IF VARTYPE(.&lcName) != "O" lnRow = INT(VAL(楼层号)) lnCol = INT(VAL(户室号)) .AddObject(lcName, "C_Household") WITH .&lcName .Arrange .Top = .Parent.Height - lnRow * (.Height + 5) .Left = (lnCol - 1) * (.Width + 5) ._Number = lcNumber ._Name = ALLTRIM(姓名) .Visible = .T. ENDWITH ENDIF ENDWITH ENDIF SKIP IF (楼栋号 + 单元号 + 楼层号 + 户室号) != lcStr lcStr = 楼栋号 + 单元号 + 楼层号 + 户室号 ENDIF ENDDO ENDIF ENDPROC