//检查账号在指定充值文件中存在的行数,并删除,返回行数*比例
function CheckAccount(const TxtFile, Account: String; Rate: Double): Double;
var
LS: TStrings;
Idx: Integer;
ASum: Integer;
begin
Result := 0;
//检查是否存在文件
if FileExists(TxtFile) then
begin
LS := TStringList.Create;
ASum:= 0; //初始取到的行数为0
try
//将文件加载到TStrings对象
LS.LoadFromFile(TxtFile);
while true do
begin
Idx := LS.IndexOf(Account);
//取出一条账号记录
if Idx <> -1 then
begin
//如果取到了记录,则删除这条记录,并增加取到的行数
LS.Delete(Idx);
Inc(ASum);
end
else
//没取到则直接跳出循环
Break;
end;
if ASum > 0 then
//如果取到的行数大于0,则说明对列表有做过更新,需要保存
LS.SaveToFile(TxtFile);
//返回元宝数量(取到的行数x比例)
Result:= ASum * Rate;
finally
LS.Free;
end;
end;
end;