捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号-1 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:利用记录和文件类型存储和读取数据
xuejf_568568 24590 2006/6/27 9:10:11
pos只能模糊查询,而你的代码本意不是如此
xuejf_568568 24589 2006/6/27 9:08:47
代码有点粗糙,例如:pos函数用的不好,可以用comparestr代替
qiyuanwj 24565 2006/6/26 14:17:15
修改了一个错误,这样删除最后一条记录就不会出错了,修改版已经上传。

function DeleteRecord(Position:Integer):Boolean;
Var
  PersonRec:TPersonRecord;
  F:file of TPersonRecord;
  i:Integer;
  bl:boolean;
begin
  try//判断操作是否成功,用于返回函数值
    AssignFile(F,AppPath+DataFileName);
    bl:=false;          
    try//为了确保释放文件
      Reset(F);
      for i:=Position+1 to GetRecordCount-1 do   //如果是最后一条记录则此循环不能执行,此时文件指针指向了eof,因为,
      begin      //读取下一条记录          //此前做过读取或者写记录的操作,执行读写以后,文件指针自动后移一位,
        seek(F,i);          //如果是读取最后一条记录,则文件指针自动指向了eof,如果做 Truncate(F)
        read(F,PersonRec);          // 操作就会出错。可以设置一个标志,如果循环未执行,就是到了最后一条记录,
        //覆盖当前记录记录          //将文件指针移动到 Position位置,即可正确删除
        seek(F,i-1);
        Write(F,PersonRec);
        bl:=true;
      end;
      if not bl then
        seek(f, Position);
      Truncate(F)  ;

    finally
      CloseFile(F);
    end;
  except
    Result:=False;
    //退出函数
    exit;
  end;
  Result:=True;
end;
第一页 上一页 下一页 最后页 有 3 条纪录 共1页 1 - 3
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号-1 更新RSS列表