ListControl控件问题
一枚小菜 2009-06-06 11:06:28 我想在报告式的ListControl控件中显示就绪队列、阻塞队列进程的信息。
前面显示就绪队列中进程信息,接着是阻塞队列信息。
效果如:
进程名称 到达时间 进程状态 优先数 所需时间 已运行时间
bb 23:01:37 运行中 0 12 2
aa 23:01:32 阻塞 0 15 5
但是运行的时候出现了一点小问题:
显示的却是这样:
进程名称 到达时间 进程状态 优先数 所需时间 已运行时间
bb 23:01:37 运行中 0 12 2
aa 23:01:32 阻塞 0 15 5
bb 23:01:37 运行中 0 12 2
有多出一个bb来,不知道是怎么回事。显示的如下代码:
UpdateData(true);
m_WaitProcessList.DeleteAllItems();//清除所有显示
CString Supper,NeedTime,RunTime;
int ItemCount;
PCB *p;
p=Queue.GetFrontPointer();//获取队头指针
if(!Queue.QueueEmpty())
Queue.GetFrontPointer()->state="运行中...";
while(p) //显示就绪队列进程信息
{
Supper.Format("%d",Queue.GetProSupper(p));
NeedTime.Format("%d",Queue.GetProNTime(p));
RunTime.Format("%d",Queue.GetProRTime(p));
ItemCount=m_WaitProcessList.GetItemCount();
m_WaitProcessList.InsertItem(ItemCount,Queue.GetProName(p));
m_WaitProcessList.SetItemText(ItemCount,1,Queue.GetATime(p));
m_WaitProcessList.SetItemText(ItemCount,2,Queue.GetProState(p));
m_WaitProcessList.SetItemText(ItemCount,3,Supper);
m_WaitProcessList.SetItemText(ItemCount,4,NeedTime);
m_WaitProcessList.SetItemText(ItemCount,5,RunTime);
p=p->next;
}
p=QueueBlock.GetFrontPointer();
while(p) //显示阻塞队列进程信息
{
Supper.Format("%d",QueueBlock.GetProSupper(p));
NeedTime.Format("%d",QueueBlock.GetProNTime(p));
RunTime.Format("%d",QueueBlock.GetProRTime(p));
ItemCount=m_WaitProcessList.GetItemCount();
m_WaitProcessList.InsertItem(ItemCount,QueueBlock.GetProName(p));
m_WaitProcessList.SetItemText(ItemCount,1,QueueBlock.GetATime(p));
m_WaitProcessList.SetItemText(ItemCount,2,QueueBlock.GetProState(p));
m_WaitProcessList.SetItemText(ItemCount,3,Supper);
m_WaitProcessList.SetItemText(ItemCount,4,NeedTime);
m_WaitProcessList.SetItemText(ItemCount,5,RunTime);
p=p->next;
}