在设计时存储“记录数组”的最佳方式

2024-04-30

我需要在设计时存储一组数据,以便在运行时构造一组组件的内容。

像这样的事情:

type
  TVulnerabilityData = record
    Vulnerability: TVulnerability;
    Name: string;
    Description: string;
    ErrorMessage: string;
  end;

在设计时存储这些数据以便稍后在运行时检索的最佳方法是什么?我将有大约 20 条记录,我知道每条“记录”的所有内容,但我一直不知道存储数据的最佳方式是什么。

我想出的唯一半优雅的想法是在单元初始化时“构造”每条记录,如下所示:

var
  VulnerabilityData: array[Low(TVulnerability)..High(TVulnerability)] of TVulnerabilityData;

....

initialization
  VulnerabilityData[0].Vulnerability := vVulnerability1;
  VulnerabilityData[0].Name := 'Name of Vulnerability1';
  VulnerabilityData[0].Description := 'Description of Vulnerability1';
  VulnerabilityData[0].ErrorMessage := 'Error Message of Vulnerability1';

  VulnerabilityData[1]......
  .....
  VulnerabilityData[20]......

还有比这更好和/或更优雅的解决方案吗?

感谢您的阅读以及您可能提供的任何见解。


您还可以将数组声明为 const 并初始化它...

const
  VulnerabilityData: array[Low(TVulnerability)..High(TVulnerability)] of TVulnerabilityData =
( 
    (Vulnerability : vVulnerability1; Name : Name1; Description : Description1;  ErrorMessage : ErrorMessage1),
    (Vulnerability : vVulnerability2; Name : Name2; Description : Description2;  ErrorMessage : ErrorMessage2),
[...]
    (Vulnerability : vVulnerabilityX; Name : NameX; Description : DescriptionX;  ErrorMessage : ErrorMessageX)
    )
);

我这台计算机上没有 IDE 来仔细检查语法...可能缺少一两个逗号。但我认为这就是你应该这样做的方式。

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

在设计时存储“记录数组”的最佳方式 的相关文章

随机推荐

  • 为什么不能直接访问带索引的数组?

    当我尝试直接使用索引访问数组元素时 我感到很困惑 我想我可以在编码中更好地解释它 我有一个 Employee 类的对象 我将其 TypeCast 到数组并尝试像这样显示它 arrOfObj array objEmployee arrKeys
  • windows bat 文件中的 bang 字符是什么意思?

    我正在尝试更正一个使用 bang 字符的 bat 文件 我本来期望某种形式的引用 就像是 set some var some var 然后后来 some command some var 看起来第一个是在禁用回显的情况下提示输入 例如提示输
  • Django 压缩器和模板继承

    我正在使用Django 压缩器 https github com mintchaos django compressorDjango 1 2 3 中的 app 用于缩小和合并许多包含的 CSS 和 JS 文件 在基本模板中 我有 load
  • Java中如何让另一个线程休眠

    我有一个扩展 Thread 的类 这个线程在运行时大部分时间都在睡眠 它会执行一个检查 如果 true 执行一个简单的操作 然后睡眠 1 2 秒并重复 该类还有一个由其他线程调用的公共方法 如果调用此函数 我希望线程在已经休眠的情况下休眠更
  • 比较 boost::system::error_category

    对于 errorCode category name 输出 asio misc 和 errorCode message 输出 文件结束 的错误 以下比较失败 如果它声称属于 asio misc 类别 那么为什么 errorCode cate
  • MediaProjection 生成扭曲的屏幕截图

    我设法获得了屏幕截图 但结果是这样的 原来的 这是我从几个来源获取的代码 final ImageReader ir ImageReader newInstance width height PixelFormat RGBA 8888 2 V
  • 如何在 linux bash shell 中对字符串数组进行排序? [复制]

    这个问题在这里已经有答案了 例如 数组是 link2 pathname link1 pathname link3 pathname 我怎样才能得到像下面这样的数组 link1 pathname link2 pathname link3 pa
  • 如何在 R 中将包含符号的绘图写入 PDF?

    我想在 R 中的箱形图的 x 轴上使用无穷大符号 我想将其写入 PDF 文件 我可以通过这样做来设置无穷大符号 names data 9 lt 但这让我在尝试编写时出现编码错误 conversion failure on in mbcsTo
  • 在QT中以不同的时间间隔更新GUI [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道如何在QT中以不同的时间间隔更新GUI 最好的是我可以控制时间间隔 我知道 QTimer 可以在同一时间间隔更新 GUI 但我
  • Angular 2.0.0-rc3:与 routerLinkActive 匹配的部分路由

    我在用着routerLinkActive在我的主要路由中 a Bob a 当网址为 user the active类将被添加到a标签 但是在主路由下 我还有一些辅助路由 所以 当网址为 user aa 活动将被删除 我希望当 URL 是 u
  • Joda-time:今年 ISO 第一周的第一天

    我想找出今年 ISO 第 1 周中星期一的日期 对于 2009 年 这将是 2008 年 12 月 29 日星期一 我确定乔达时间 http www joda org joda time cal iso html可以处理这个问题 但我就是无
  • 如何使用 Laravel 5 检查用户是否已确认

    我正在尝试开箱即用地使用 Laravel 身份验证 身份验证不是问题 但我想检查用户是否已确认他的电子邮件地址 我如何让拥有Laravel检查表值是否confirmed值为 1 在 config auth php 我已经设置 driver
  • RecyclerView 的弹跳效果

    我想在RecyclerView 每当我过度滚动内容时就会出现反弹效果 是否有一个库或示例 我也找不到任何支持 RecyclerView 弹跳效果的库 最终我自己实现了一个新的库 查看我的图书馆过度滚动弹力 android https git
  • 从 Ruby 中的方法中检索 Method 实例

    这是一个后续问题如何确定方法是在哪个类中定义的 https stackoverflow com q 34742181 477037 希望你不要介意相似之处 给定一个类层次结构 一个方法可以检索自己的方法吗 Method实例 class A
  • 代理错误:无法将请求 /auth/register 从 localhost:3000 代理到 http://localhost:8800/api/

    注册 jsx import React from react import useState from react import Link from react router dom import axios from axios cons
  • selenium.common.exceptions.SessionNotCreatedException:消息:未从选项卡创建的会话使用 ChromeDriver Chrome Selenium Python 崩溃

    当我尝试访问脚本请求的没有特定的 url 时 显然出现此错误 我不明白为什么会出现这个错误 但我想对其进行处理 以免在发生错误时中止脚本 这会重复 但不能解决我的问题 如何避免错误 selenium common exceptions Se
  • 如何在 swift 中实现 Pubnub Access Manager

    我正在研发如何在 swift 中实现 pubnub 访问管理器 经过一些研究 我了解到 Swift SDK 不包含 pubnub grant 我需要使用 pubnub 函数来实现无服务器计算 我在 pubnub 仪表板中创建了一个函数并创建
  • Go 中的格式错误 - %s %v 或 %w

    s v and w可用于格式化 Go 中的错误 将它们转换为字符串 fmt Errorf 它们在 Go 自己的工具中的使用方式似乎有所不同 In cmd go internal get path go https github com go
  • Git 仅拉取一次提交

    其实git仓库和本地文件是一模一样的 但另一个网站距离 5 次提交还很远 所以我有一段时间没有拉了 我也不想这样做 所以现在我想对我的本地文件进行一些更改 然后将其推送到 git 存储库的新提交中 然后只能拉动该一个提交 而不能拉动所有其他
  • 在设计时存储“记录数组”的最佳方式

    我需要在设计时存储一组数据 以便在运行时构造一组组件的内容 像这样的事情 type TVulnerabilityData record Vulnerability TVulnerability Name string Description