参见http://expert.csdn.net/Expert/TopicView1.asp?id=2660036
解决方案 »
- 如何让服务程序自行重启
- 为IDWB,tjianliang 等几位朋友散分
- 服务器运行时报错“由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作。” 是什么原因
- 有没有一个函数:将一个字符串中的字符分开保存到一个字符串数组里。 今晚揭帖
- 庆祝升双星、结婚在即!
- 怎样用QuickReport做这样的报表?
- delphi7的tnmudp组件在那里
- 在DLL中用globalalloc函数申请应用程序共享内存,实现多个应用程序共享数据!行不通!!
- 对不同的库同时进行操作,这样的sql对不对?
- 谁有使用tchart的详细资料,最好有例子!
- 短定长字符串(比如ID)加密用什么算法比较好?
- 如何让媒体文件无法直接播放?
比如字符串,TStringList.Add()实现进入
取出TStringList[0]处理,然后TStringList.Delete(0)
private
FQueue:array[1..10] of integer;
CurentRearPos:integer;
NumOfElem:integer;
protected
procedure InitQueue;
public
constructor Create;
procedure pushelem(value:integer);
function popelem:integer;
end;constructor TQueue.Create;
begin
InitQueue;
end;procedure TQueue.InitQueue;
var
i:integer;
begin
for i:=1 to 10 do FQueue[i]:=0;
CurentRearPos:=1;NumOfElem:=0;
end;function TQueue.popelem: integer;
begin
if NumOfElem>0 then
begin
result:=FQueue[1];
Dec(CurentRearPos);Dec(NumOfElem);
end
else
raise Exception.Create('The Queue is empty.');
end;procedure TQueue.pushelem(value:integer);
begin
if NumOfElem<10 then
begin
FQueue[CurentRearPos]:=Value;
inc(NumOfElem);inc(CurentRearPos);
end
else
raise Exception.Create('The Queue is full.');
end;
function TQueue.popelem: integer;
var
i:integer;
begin
if NumOfElem>0 then
begin
result:=FQueue[1];
for i:=1 to CurentRearPos-1 do
FQueue[i]:=FQueue[i+1];
Dec(CurentRearPos);Dec(NumOfElem);
end
else
raise Exception.Create('The Queue is empty.');
end;