精通VF的朋友帮看这个语句。(送分)(40分)

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

gxtdlang

Unregistered / Unconfirmed
GUEST, unregistred user!
有些时候,我就是觉得运行相同一个结果,VF程序比D要精简!
我用DELPHI倒VF一些程序,因为,对VF不熟,所以无法验证数据运行结果。手中仅有
一本简单的FOXBASE书,所以,精通VF的朋友帮我倒一下,因为DELPHI里头没有 IIF?

1》 temp_jhj = IIF(spdm.byydpj <> 0, spdm.byydpj, IIF(spdm.ccj <> 0, spdm.ccj, spdm.zjjhj))
2》在VF中,执行一个循环过程中想退出用EXIT,在DELPHI中如何做?
请看VF: DO WHILE !EOF() AND (temp_spdm = xjxc.spdmm) AND (nsl > 0)
IF (xjxc.sysl > 0)
nsl = nsl - xjxc.sysl
IF nsl <= 0
//数据处理
EXIT
ELSE
//数据处理
ENDIF
ENDIF
SKIP

ENDDO
 
2.break出 continue跳下一个
1。iif(条件,a,b )
就是 if 条件 then a else b
iif 执行起来效率不见得高,另可读性及差
不然你也不会来问
1》 temp_jhj = IIF(spdm.byydpj <> 0, spdm.byydpj, IIF(spdm.ccj <> 0, spdm.ccj, spdm.zjjhj))
//真是高智商人的代码呀!!!!
 
temp_jhj = IIF(spdm.byydpj <> 0, spdm.byydpj, IIF(spdm.ccj <> 0, spdm.ccj, spdm.zjjhj))
在Delphi中的用法應如下
if spdm.byydpj <> 0 then
temp_jhj = spdm.byydpj
else if spdm.ccj <> 0 then
temp_jhj = spdm.ccj
else temp_jhj = spdm.zjjhj
 
在Delphi中如果要跳出來請用
break 代替 Exit 就行了
 
//--------第一个问题----
if table1.fieldbyname('byydpj').asfloat <> 0 then
begin
temp_jhj :=table1.fieldbyname('byydpj').asfloat;
end
else
begin
if table1.fieldbyname('ccj').asfloat <> 0 then
temp_jhj := table1.fieldbyname('ccj').asfloat
else
temp_jhj := table1.fieldbyname('zjjhj').asfloat;
end;
//----------第二个问题----------
with table1 do
begin
if (not eof) and (temp_spdm =filedbyname('spdmm').asinteger ) and (nsl > 0)
//spdmm为整型 ,如果为字符型则为filedbyname('spdmm').asstring
begin
IF (filedbyname('sysl').asfloat> 0) then
begin
nsl = nsl - filedbyname('sysl').asfloat;
IF nsl <= 0
//数据处理
break //退出
ELSE
//数据处理
SKIP;
end;
end;
end;
 
1)第一个问题楼上的兄弟已经解答了。
2)第二个问题,DELPHI中Break是跳出至上一级循环,而EXIT是直接跳出这一个过程。
感觉兄弟你好象也是刚用DELPHI啊,为什么要VF和DELPHI一同学呢?
不管从哪方面来看,DELPHI都该VF强大,也比VF好用的啊!
 
多人接受答案了。
 

Similar threads

后退
顶部