那位大虾给我解释一下下面这段代码???(0)

  • 主题发起人 qwert8008
  • 开始时间
Q

qwert8008

Unregistered / Unconfirmed
GUEST, unregistred user!
能不能解释一下下面这段代码,特别是字体加粗的部分procedure TForm1.LvUpDown(lv: TListView; MoveUp: Boolean);//listView 排序//原理:将所选行赋予一个新TListItem,然后将其插入前(后)行// 再将原所选行删除,将新的选区置于新ListItemvar DestItem: TListItem;begin if (lv.Selected = nil) or ((lv.Selected.Index=0) and MoveUp) or ((lv.Selected.Index+1=lv.Items.Count) and (not MoveUp)) then Exit; DestItem := nil; lv.Items.BeginUpdate; try case MoveUp of true: DestItem := lv.Items.Insert(lv.Selected.Index-1); false: DestItem := lv.Items.Insert(lv.Selected.Index+2); end; DestItem.Assign(lv.Selected); lv.Selected.Free; lv.Selected := DestItem; finally lv.Items.EndUpdate; end; DestItem.MakeVisible(False);end;
 
if (lv.Selected = nil) or ((lv.Selected.Index=0) and MoveUp) or ((lv.Selected.Index+1=lv.Items.Count) and (not MoveUp)) 这段是什么意思case MoveUp oftrue: DestItem := lv.Items.Insert(lv.Selected.Index-1); false: DestItem := lv.Items.Insert(lv.Selected.Index+2);往前Index-1怎么往后Index+2 ;加2是什么意思
 
lv.Selected.Index+1=lv.Items.Count如果选中的是最后一行记住:Index 从 0 开始。再记住:如果下次还有问题,要出分!不要吝啬那些分,我看你还有不少积分,不够了就去挣,我也是从 200 分走来的,OK?
 
谢谢szhcracker
 
哈哈积分0,表示这问题没有难度,或者无关紧要一般很少人会来看的。
 
顶部