Fxxx私有类名前缀约定从何而来?

2023-11-25

在 C++/C# 中,私有类变量的常见约定是m_MyPrivateVar,并且我相信“m_” 代表“我的”(我可能是错的)。

在 Delphi 中,私有类变量以F,例如F手柄等

F 是什么意思?福? :)


有一些命名约定,以免在代码中迷失。

这是一个例子来指出为什么这很有用。

// Types begins with T
TFoo = class
strict private
  // sometimes I saw strict private fields beginning with underscore
  // I like this too 
  _Value : string;
private
  // private class vars are Fields and therefore begins with F
  FValue : string;
  function GetValue : string;
public
  property Value : string read GetValue write FValue;

  // Parameters should NOT begin with P (P is for Pointer) but with A
  // because "i will pass A value" :o)
  function GetSomething( const AValue : string ) : string;
end;

function TFoo.GetValue : string;
begin
  Result := '*' + FValue + '*';
end;    

function TFoo.GetSomething( const AValue : string ) : string;
var
  // IMHO there is no naming convention to Local vars
  // but mine begins with L
  LValue : string;
begin

  LValue { local var } := 
    Value   { property via getter }  + 
    AValue  { parameter } + 
    FValue  { field };

  Result := LValue;
end; 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fxxx私有类名前缀约定从何而来? 的相关文章

  • 如何使用 Gmail 的 SMTP 和 Indy 10 发送电子邮件?

    我正在使用 Delphi 2009 和 svn 中最新的 Indy 10 通过 SMTP 发送电子邮件 但它不适用于 Gmail Google Apps 托管域 当我尝试发送电子邮件时 我收到 必须首先发出 STARTTLS 命令 我尝试用
  • 将图像加载到 TImageList 并读取它们?

    我试图通过将 jpg 转换为 bmp 然后将其保存到 imagelist1 来将 jpg 加载到图像列表中 从上到下的代码片段 Selectdir 有效 fileexists 部分有效 这用于加载文件夹中的所有图像 所有图像都以 0 jpg
  • 如何比较枚举类型集

    从某个时刻开始 我厌倦了编写设定条件 and or 因为对于更多的条件或更长的变量名 重新编写会变得笨拙且烦人 所以我开始写助手这样我就可以写ASet ContainsOne ceValue1 ceValue2 代替 ceValue1 in
  • CharInSet 不适用于非英文字母?

    我已经将应用程序从 Delphi 2007 更新到 Delphi 2010 一切都很顺利 除了一条编译正常但不起作用的语句 If Edit1 Text 1 in S then ShowMessage Found else ShowMessa
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • Delphi 中表单分发与其生命周期相关的接口对象的安全方法?

    我有一个 Delphi 表单 它提供接口对象背后的功能 代码的其他部分也通过属于该表单的属性获取引用 我无法将接口功能委托给子对象 因为太多的功能是由表单上的控件 组件提供的 我无法使用 TAggregateObject 或 TContai
  • 任何第三方都可以从我的项目加载嵌入式资源吗?

    请参考我的一篇之前的问题 https stackoverflow com questions 14681364 issues passing data from dll to application 我问的是如何从 DLL 加载已编译的资源
  • D2010编译行数差异

    构建项目时 有两个地方会报告源代码行数 在编译进度对话框中 项目下 信息 在 Delphi 2007 中 对于我们正在构建的项目 这两个数字是相同的 在 Delphi 2010 中 这两个数字截然不同 1st 计数多出 100 万行或 40
  • 如何将枚举类型放入字符串列表中?

    这行代码 ShowMessage GetEnumName TypeInfo TAlign 1 返回 alTop 当我想使用字符串变量 TAlign 而不是TAlign时 如何将枚举类型的所有值放入字符串列表中 就像是 ShowMessage
  • (发件人:TObject)

    发件人 TObject 是什么意思 如 procedure TForm1 Button1Click Sender TObject var s Integer begin end Sender 是对触发事件的组件的引用 在这种情况下 Send
  • 在 Delphi 中将对象转换为 OleVariant

    有没有办法在 OleVariant 中传递包装并解开 TObject 后代 我正在尝试跨自动化对象传递 TObject 我知道这不是一个好主意 但我没有更好的选择 该对象将在来自同一自动化 dll 的对象之间传递 如果这有什么区别的话 像这
  • 在网格上拖动时拖动图像更改

    我正在 StartDrag 上创建自定义 DragObject 的实例 procedure TForm1 GridStartDrag Sender TObject var DragObject TDragObject begin DragO
  • 在 Delphi 中获取 TCheckbox 的总大小,包括框和文本

    我想获得 TCheckbox 的总大小 包括 Delphi 中的框和文本 我查看这篇文章Delphi FMX TCheckbox TRadiobutton 自动调整大小 https stackoverflow com questions 4
  • Delphi 应用程序被 Google Chrome 视为“危险”

    我经常用Delphi 2009制作数学软件 并将其发布在我的网站上 然而 去年左右 Google Chrome 开始认为我的一小部分 但数量不断增加 EXE 是 有害的 并且 Google Chrome 拒绝下载它们 例如 今天我编写了一个
  • Delphi 是否在构造对象之前分配变量?

    Delphi 是否在对象完全构造之前分配实例变量 换句话说 给定一个变量 var customer TCustomer nil 然后我们构造一个客户并将其分配给变量 customer TCustomer Create 有没有可能custom
  • 我有进程 ID,需要使用 Delphi 5 以编程方式关闭关联进程

    任何人都可以帮我提供一个编码示例 以便在我拥有进程 ID 时关闭关联的进程 我将使用 Delphi 5 在 Windows 2003 服务器上以编程方式执行此操作 如果您有进程 ID 并希望强制终止该进程 可以使用以下代码 function
  • 什么是代码页 0?

    我正在使用Delphi函数 StringCodePage 我在 COM 函数 Acrobat Annotation getContents 请参阅我的其他帖子 返回的字符串上调用它 它返回 0 0是什么 安西 代码页 0 是 CP ACP
  • 如何使用 IdTCPClient 等待来自服务器的字符串?

    我的 IdTelnet indy 10 1 有问题 我无法以 Unicode 模式从服务器读取数据 现在我想用 IdTCPClient 编写 telnet 终端 服务器有时发送一行 有时发送越来越多的行 但发送之间没有固定的时间 现在我的问
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • 在该对象调用的事件期间销毁该对象

    我有一个按钮 它的 OnClick 事件调用一个销毁按钮的过程 但随后 线程 想要返回到 OnClick 事件 并且我遇到了访问冲突 我完全被难住了 您需要在按钮的所有代码执行完毕后销毁该按钮 执行此操作的标准方法是将用户定义的消息发布到表

随机推荐

  • Swift 的 String.count 的 BigO 是什么?

    当 swift 使用时String count is it O n 每次我们调用它时 我们都会迭代整个字符串以对其进行计数 or O 1 其中 swift 之前已经存储了该数组的大小并简单地访问它 绝对是O n 来自斯威夫特书 因此 如果不
  • 使用注解@SpringBootApplication进行配置

    我的 Spring Boot 配置有问题 我已经使用创建了基础 Spring Boot 项目https start spring io 我有一个问题 配置仅适用于子目录中的类 我尝试过注释 ComponentScan但这没有帮助 你知道我能
  • 在 Python 3 中解压缩 gzip 服务器响应的最佳方法是什么?

    我原以为这会起作用 gt gt gt import urllib request as r gt gt gt import zlib gt gt gt r urlopen r Request http google com search q
  • 如何在 OpenGL-ES 2.0 中创建带有纹理(图像)的 Stencil 缓冲区

    我可以在 OpenGL 2 0 中准备带有纹理 图像 的模板吗 这样图像的某些部分将是透明的 因此它将按原样传输到模板缓冲区 然后将使用此模板缓冲区进行进一步绘制 由 datenwolf 编辑以解释答案中的 OP 问题更新 作者 Infin
  • 用向量函数进行数据表聚合,取2

    我正在努力使用 data table 来总结向量函数的结果 这在 ddply 中很容易 问题 1 使用带有向量输出的 昂贵的 函数进行聚合 dt lt data table x 1 20 y rep c a b each 10 这个 ddp
  • 通知中占用大量内存

    我正在开发一个带有服务的应用程序 该服务在通知区域中显示计时器的进度 带有进度条和文本 我在下面提取了一个具有相同问题的更简单的示例 服务代码 public class TNService extends Service private N
  • 如何在 PHP 中对 SHOW TABLES 查询结果应用分页

    我想对结果应用分页SHOW TABLES FROM DATABASE NAME 尝试使用LIMIT关键字 但会引发错误 通过分页 我的意思是查询返回的结果 表 将显示在多个页面上 mysql gt pager less mysql gt s
  • 在 SQL Server 2008 中使用 select 语句加上附加列插入表

    我正在尝试从 select 语句插入表 并向行添加其他参数 例如 SELECT Appt ID Pracitioner ID Appt Book ID Start Time UR NO Type Description FROM TempW
  • 有没有办法在 Windows 和 Linux 上使用 php 检测文件夹中的更改?

    我正在寻找一种解决方案来检测文件夹中的更改php 该应用程序可以在两个平台上运行 linux and windows 只要结果相同 我可能会针对每个平台使用不同的方法 我的愿望是 如果将文件 文件夹添加到目录中 我希望我的应用程序检测到这个
  • 如何在 Openshift3 中禁用粘性会话

    如果您在 Openshift3 中扩展 Pod 来自同一客户端 IP 地址的所有请求都会发送到具有关联会话的容器 是否有任何配置可以禁用粘性会话 如何管理 Openshift 中内部 HAProxy 的选项 对于后代 由于我遇到了同样的问题
  • 使用 Open CV Python 将 Alpha 通道添加到单色图像

    我一直在研究彩色图像 RGB 和带有 alpha 通道 RGBA 的彩色图像 从 RGBA 图像中读取 Alpha 通道非常简单 我什至可以分割图像的 4 个通道 有没有什么方法可以将 Alpha 通道添加到单色或灰度图像 另外 alpha
  • require 未定义 javascript

    编辑 我现在确实意识到了错误 当我测试我的需求时 我正在终端中运行我的脚本 老的 答案可能已经在页面上 但我一直无法找到它 我看到的一般答案是我不能使用 require 客户端 问题是我尝试运行的脚本在我的学校笔记本电脑上完美运行 但它不想
  • PHP随机洗牌数组维护键=>值

    我一直在谷歌上寻找答案 但似乎找不到一些万无一失的东西 而且真的不能把这个搞砸 进入生产站点 我拥有的是具有 20 多个过滤器的高级搜索 它返回一个包含 ID 和距离的数组 我需要做的就是将这些结果打乱 以便每次都以随机顺序显示 我现在出来
  • 应该在电子邮件中使用 PHP_EOL 吗?

    我看到很多 PHP 电子邮件实现都使用 r n 但我也看到其中一些使用 PHP EOL 常量 哪一个更好 谢谢你的帮助都会 如果这是为了终止电子邮件中的行 那么您需要查看的是电子邮件的规范 而不是任何特定平台上使用的规范 电子邮件中的行根据
  • 法拉第超时错误与omniauth(自定义策略)/门卫

    我目前正在关注这个铁路广播公司对于我的具体情况 我在omniauth的回调中遇到了法拉第超时错误 目前 我使用 Rails 应用程序作为 API 并使用骨干网作为 javascript 前端 在同一应用程序上 我决定使用 OAuth 锁定
  • 将 AngularJS html5mode 与 NodeJS 和 Express 结合使用

    我正在使用带有 Express 的 NodeJS 服务器来为我的 AngularJS 应用程序提供服务 当我使用 angularJS 默认路由 hashbangs 时 这一切都工作正常 但现在我正在尝试激活 html5 模式 我正在像这样激
  • Git 修改/重写(不添加/更改文件)

    我经常想编辑提交消息 而不必从上次提交中重新选择文件集 git commit file1 c file2 c 提交消息中的意外拼写错误 git commit file1 c file2 c amend 这可行 但我不想从原始提交中重新选择文
  • 让 cmake 和 home-brew 一起工作

    当我用自制程序 cmake 安装库时似乎找不到它们 对于使用brew安装的任意库 有没有一种简单的方法可以解决这个问题 Default 默认情况下 brew 的库安装到 usr local lib folder gt ls usr loca
  • 启动线程的不同方式有什么区别?

    我有一个名为MyThread它扩展了Thread类并实现了run 函数 当我想运行它时 我有两种方法 新建一个实例并调用该函数 例如 new MyThread start new一个实例并将该实例作为参数传递给Thread的构造函数 然后调
  • Fxxx私有类名前缀约定从何而来?

    在 C C 中 私有类变量的常见约定是m MyPrivateVar 并且我相信 m 代表 我的 我可能是错的 在 Delphi 中 私有类变量以F 例如F手柄等 F 是什么意思 福 有一些命名约定 以免在代码中迷失 这是一个例子来指出为什么