delphi程序问题 下面的代码啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi程序问题 下面的代码啥意思?相关的知识,希望对你有一定的参考价值。

procedure TDataSet.CheckActive;
begin
if State = dsInactive then DatabaseError(SDataSetClosed, Self);
end;

procedure TDataSet.CheckBrowseMode;
begin
CheckActive;
DataEvent(deCheckBrowseMode, 0);
case State of
dsEdit, dsInsert:
begin
UpdateRecord;
if Modified then Post else Cancel;
end;
dsSetKey:
Post;
end;
end;

procedure TCustomClientDataSet.EmptyDataSet;
begin
CheckBrowseMode;
Check(FDSBase.Reset);
ProviderEOF := True;
Resync([]);
InitRecord(ActiveBuffer);
end;

看见列出的代码应该是 dataset 的吧, 具体应该是想描述怎么清空数据集的,此处作答为本人个人理解 具体分析如下:
CheckActive 检测活动开启状态,如果 State = dsInactive 既激活错误 SDataSetClosed 数据集关闭,if State = dsInactive then DatabaseError(SDataSetClosed, Self);

CheckBrowseMode 浏览模式时操作状态检测与数据动作, 通过上面的状态检测是否为开启状态,否出错提示,反之就进行 DataEvent 事件。 通过事件改变了 记录集的State, 从而进行不同的操作。

case State of

dsEdit, dsInsert: //判断当前的记录集存在修改或者插入操作。
begin
UpdateRecord; //更新记录缓冲
if Modified then Post else Cancel; //如果 Modified(修改状态)真时就保存,或者就取消
end;
dsSetKey:
Post; //如果是主键操作则保存。

EmptyDataSet 清空记录集。

CheckBrowseMode; //浏览模式时操作状态检测与数据动作
Check(FDSBase.Reset); //检测基类
ProviderEOF := True; //设置为空
Resync([]); //进行同步
InitRecord(ActiveBuffer); //生成记录集缓冲,dataset必须的。
参考技术A procedure TDataSet.CheckActive; //这个应该是检测你当前的DataSET 是否处于活动状态
begin
  if State = dsInactive then DatabaseError(SDataSetClosed, Self);//如果不处于活动状态,执行XX函数。
end;
 
procedure TDataSet.CheckBrowseMode;//检查浏览模式
begin
  CheckActive; //检查dataset状态
  DataEvent(deCheckBrowseMode, 0);//
  case State of //当state在插入或替换 进行updaterecord
    dsEdit, dsInsert:
      begin
        UpdateRecord;
        if Modified then Post else Cancel;
      end;
    dsSetKey:
      Post;
  end;
end;
 
procedure TCustomClientDataSet.EmptyDataSet;
begin //这个应该是清除dataset ,由于使用了很多自定义函数,具体要看函数的意义!
  CheckBrowseMode;
  Check(FDSBase.Reset);
  ProviderEOF := True;
  Resync([]);
  InitRecord(ActiveBuffer);
end;

本回答被提问者和网友采纳

有人知道下面的代码片段是啥意思吗?

【中文标题】有人知道下面的代码片段是啥意思吗?【英文标题】:Anyone knows what the code snippet means below?有人知道下面的代码片段是什么意思吗? 【发布时间】:2011-02-14 12:13:49 【问题描述】:
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');

我从没见过这样的标题,这是干什么用的?

【问题讨论】:

【参考方案1】:

此特定命令链包含在与 facebook 交互的网站中,并解决 Internet Explorer 会话问题。

【讨论】:

【参考方案2】:

上面的答案是正确的,但我认为值得一提的是为什么你会从功能的角度来做这件事。如果您的页面被来自不同域的框架集包含,则任何版本的 IE 6 或更高版本都会阻止您页面的 cookie,除非存在 p3p 标头。

这个想法是,如果您的页面放置在由不同域托管的框架集中,则被视为“第三方”内容。令人担心的是,您可能会在他们不知情的情况下试图在某人的浏览器中粘贴偷偷摸摸的广告跟踪或其他 cookie。 p3p 标头是一种将您的组织固定下来的方式,它说“我们不会对他们做任何偷偷摸摸的事情 3rd 方 cookie”。如果您不设置该标头,用户可以将其浏览器设置为阻止您的 cookie,并且从 IE6 开始,这是默认设置。

【讨论】:

【参考方案3】:

查看此站点以获取命令的翻译:

http://www.p3pwriter.com/LRN_111.asp

【讨论】:

【参考方案4】:

这是一种编码格式 - 以机器可读的形式 - 网站将如何处理您的私人数据。 IIRC,IE 已经在使用它,如果当前站点提供 P3P 标题,它会在状态栏中显示人类可读的 P3P 标题翻译。

请看这里:Platform for Privacy Preferences

要点:

隐私偏好平台项目 (P3P) 使网站能够以标准格式表达其隐私惯例,用户代理可以自动检索和解释该格式。

【讨论】:

CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA" 到底是什么意思? @user 非常好的问题。我找不到简单的翻译表,只有 w3c 页面提供的复杂规范,此外:p3ptoolbox.org/guide @user 我无法测试它,因为我没有一个方便的站点来发送标头,但请尝试 P3P 验证器:w3.org/P3P/validator.html 是否提供有关代码的任何解释。

以上是关于delphi程序问题 下面的代码啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

有人知道下面的代码片段是啥意思吗?

求大神,c语言大神,一段程序说的啥意思,全局变量等于0怎么循环下面的

DELPHI中 screen.Cursor:=crhourglass; adoQuery.close; adoquery.Open; screen.Cursor:=crdefault;啥意思(示例代码

Delphi 中 这段代码是啥意思? b := b or ((ord(s[i]) and $C0) shr k); inc(k,2); s4[j] := Base64[(or

菜鸟问题:javascript中e是啥意思,是DOM中的事件还是啥?请看下面的这段代码

下面的代码啥意思,特别是StringTokenizer 的方法hasMoreTokens(),nextToken()不明白!