懂VB又懂delphi的朋友进来,看看。急急。。。。。。(100分)

  • 主题发起人 dodoxiao
  • 开始时间
D

dodoxiao

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是vb的代码,怎么编写delphi的
Dim i, j As Integer
If Check2.value = 0 Then
If rsLine.RowCount <> 0 Then
rsLine.MoveFirst
For j = 1 To rsLine.RowCount
For i = 0 To 23
If (rsLine("fport") And 2 ^ i) = 2 ^ i Then
Check1(i).Enabled = False
Check1(i).value = 0
End If
Next
rsLine.MoveNext
Next
End If
End If
在VB代码中,and 的用法delphi里怎么用 。
 
呵呵,我熟。。。。

AND一样的。只是在DELPHI中你要
((rsLine("fport")) And (2 ^ i))

付值号都改成:=

句尾加;

 
var i, j : Integer
begin
If Check2.value = 0 Then
begin
If rsLine.RowCount <> 0 Then
begin
rsLine.MoveFirst;
For j := 1 To rsLine.RowCount do
begin
For i := 0 To 23 do
begin
If ((rsLine("fport")) And (2 ^ i)) = (2 ^ i) Then
begin
Check1(i).Enabled := False;
Check1(i).value = 0;
End;
end;
rsLine.MoveNext;
end;
End;
End;
end;

呵呵,现改的,不一定对哦
 
for 语句掉了一个do
 
谢谢,有人已经和我讲了and的含义。
 
var
i, j: Integer;
begin
if not Check2.Checked then //VB中CheckBox的Value属性相当于Delphi中的Checked
if rsLine.RowCount <> 0 then begin //由于不知道rsLine是什么控件,只能照抄
rsLine.MoveFirst;
for j := 1 to rsLine.RowCount do begin
for i := 0 to 23 do
if rsLine('fport') and (1 shl i) = 1 shl i then begin //Delphi并不支持幂运算,但2的幂可以用移位运算代替
Check1.Enabled := False; //VB中的控件数组Delphi并不支持,可以自己定义数组来处理
Check1.Checked := False;
end;
rsLine.MoveNext;
end;
end;
end;
 
多人接受答案了。
 
顶部