这个嵌套怎么倒?一段VF小程序。(40分)

  • 主题发起人 主题发起人 gxtdlang
  • 开始时间 开始时间
G

gxtdlang

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是VF的一段程序, 我试用D6倒一下,但觉得效率不好。我头太乱,各位帮一下,我要休息。
我时候,觉得编程于我只是一种爱好。
nsl = temp_sl
DO WHILE !EOF() AND (temp_spdm = xjxc.spdm) AND (nsl > 0) //xjxc是一个表,我的的问题关键就是在这个嵌套。
IF (xjxc.sysl < 0)
nsl = nsl + xjxc.sysl xjxc.sysl < 0
IF nsl >= 0
REPLACE xjxc.sysl WITH 0
ELSE
REPLACE xjxc.sysl WITH nsl
ENDIF
ENDIF
SKIP
ENDDO
顺便问一下,在“在线富翁”拦里,如何加入个人QQ号?刚上DFW,不怎懂。



 
说错了,不是嵌套。
 
是这行:
DO WHILE !EOF() AND (temp_spdm = xjxc.spdm) AND (nsl > 0)
怎么倒?
 
不是好作:
var nsl;
....
begin
nsl:= temp_sl;
WHILE (not tablename.eof) AND (temp_spdm = tablename.fieldvalues['spdm']) AND (nsl > 0) do
//xjxc是一个表,我的的问题关键就是在这个嵌套。
begin
IF (tablename.fieldvalues['sysl'] < 0) then
begin
nsl := nsl + tablename.fieldvalues['sysl'];
Tablename.edit;
IF nsl >= 0 then
tablename.fieldvalues['sysl']:=0
ELSE
tablename.fieldvalues['sysl']:=nsl;
tablename.post;
end;
tablename.next;
END
end;
 
青侠:
按你倒后,我调试一下,循环里的东东怎么没有更改?
各位,发表你们高见吧!
 
难道我要加分?
 
不懂 VF :([:(]
 
青侠说的差不多了,
你还差那里
 
temp_spdm是个什么东西???
 
TO:风中的狼
是已赋值的两个变量。这段小程序是一个函数里的一部分。
 
Var
Nal:Integer;//或Double
Begin
Nsl:=Temp_SL;
If
Nsl>0
Then
Begin
With Query1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * From Xjxc Where spdm=:DD');
PamamByName('DD').AsValue:=Temp_Spdm;
Open;
End;
Wihile Not Query1.Eof Do
Begin
If
Query1.FieldByName('sysl').AsValues<0
Then
Nsl:=Nsl+Query1.FieldByName('Sysl').Asinteger;
With Query2 Do
Begin
Close;
SQL.Clear;
SQL.Add('Update xjxc Set Sysl=:DD Where (Spdm=:EE) And (Sysl=:FF)');
If
Nsl>=0
Then
ParamByName('DD').AsInteger:=0
Else
ParambyName('DD').AsInteger:=Nsl;
ParamByName('EE').Asvalue:=Query1.FieldByname('Spdm').AsValue;
ParamByName('FF').AsInteger:=Query1.FieldByName('sysl').AsInteger;
ExecSQL;
End;
Query1.Next;
End;
End;
End;
 
各位:
已解决!多谢!
青侠15分,风中的狼25分。你们没有意见吧!如没有,我就《确定》了。
再帮看另外一个贴子,也是倒VF,不过,可简单的。今晚我等着!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1131331
 
青侠,因为风中的狼给我一种思维提示,所以分给他多点。下回再补吧!
 
后退
顶部