Delphi 字节逆序

2023-12-10

我一直在尝试编写一个函数,它接受两个指针(一个输入和一个输出)并以相反的顺序将输入中的字节写入输出。到目前为止我还没能让它正常工作。

procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
var
  Index: Integer;
begin
  Move(Pointer(LongInt(Source) + Index)^, Pointer(LongInt(Dest) + (Size - Index))^ , 1);   
end;

任何人都可以建议更好的方法来做到这一点。

Thanks.


procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
begin
  Dest := PByte( NativeUInt(Dest) + Size - 1);
  while (Size > 0) do 
  begin
    PByte(Dest)^ := PByte(Source)^;
    Inc(PByte(Source));
    Dec(PByte(Dest));
    Dec(Size);
  end;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi 字节逆序 的相关文章

  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • C 或 C++ 中未初始化的指针有用途吗?

    在其中一篇评论中这个问题 https stackoverflow com questions 1910832 c why arent pointers initialized with null by default 有人指出默认初始化 C
  • 在 Delphi 2007 中将具有透明度的位图保存为 PNG

    我有一个包含透明度信息的 Delphi 位图 32 位 我需要将其转换并保存为 PNG 文件 同时保留透明度 我目前拥有的工具是graphics32 Library GR32 PNG 由Christian Budde 提供 和PNGImag
  • C 中指向常量字符串的指针

    char p string creates pointer to constant string char p string just an array with string 我只是有点困惑为什么它在第一个示例中创建一个指向常量字符串的指
  • 指针混乱:c 中的交换方法

    include
  • FreePascal x64 上系统单元函数的汇编调用

    我有一些 Delphi 汇编代码 可以在 Win32 Win64 和 OSX 32 上编译并正常工作 XE2 但是 由于我需要它在 Linux 上工作 所以我一直在考虑编译它的 FPC 版本 到目前为止 Win32 64 Linux32 6
  • 为什么 *(int*)0=0 不会导致访问冲突?

    出于教育目的 我正在编写一组导致 C 中运行时异常的方法 以了解所有异常是什么以及导致它们的原因 现在 我正在修改程序 导致AccessViolationException 对我来说 最明显的方法是写入受保护的内存位置 如下所示 Syste
  • Delphi:写入后代类中私有祖先的字段

    我需要修复第三方组件 该组件的类具有私有变量 该变量由其后代主动使用 TThirdPartyComponentBase class private FSomeVar Integer public end TThirdPartyCompone
  • 如何使用 Gmail 的 SMTP 和 Indy 10 发送电子邮件?

    我正在使用 Delphi 2009 和 svn 中最新的 Indy 10 通过 SMTP 发送电子邮件 但它不适用于 Gmail Google Apps 托管域 当我尝试发送电子邮件时 我收到 必须首先发出 STARTTLS 命令 我尝试用
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 对象的引用计数

    在我的代码中 我使用一个小的数据存储类 它是在不同的地方创建的 为了避免内存泄漏并简化事情 我想使用引用计数 所以我这样做了 type TFileInfo class TInterfacedObject IInterface 并删除了我对
  • 如何用不同的颜色绘制选定的列表框项目?

    是否可以更改 TListBox 中的项目选择焦点颜色和文本颜色 当项目中未启用主题或列表框样式设置为所有者绘制时 项目周围的选择将被涂成蓝色 我相信这是由系统的外观设置全局定义的 我想将所选项目的颜色更改为自定义颜色 举个例子 结果会是这样
  • 如何使用 FieldDefs 在运行时创建新的 SQLite 文件和表?

    我正在使用 Delphi Seattle 在全新的 SQLite 文件中创建一个全新的表 并且仅使用 FieldDefs 和非可视代码 我可以使用 ExecSQL CREATE TABLE 语法创建一个表 但不能如下所示 我得到 没有这样的
  • 打印 TDBGrid [重复]

    这个问题在这里已经有答案了 如何在不安装或下载组件的情况下打印 DBGrid OR 如何将 DBGrid 的数据放入 RichEdit 以便我可以从那里打印它 数据感知控件从 DataSource 属性获取数据 并使用它 不过 您必须手动遍
  • 如何在Delphi中显示Vista风格的气球提示?

    在输入验证时 我使用气球提示而不是消息框 我的问题是 在 Vista 上 它们具有带圆角的旧 XP 样式 而不是较新的矩形外观 我尝试使用 CreateWindowEx 创建它们并且tooltips class32或使用 SendMessa
  • 在 Delphi 或 C++ Builder 中使用 Chromium Edge WebView2 [重复]

    这个问题在这里已经有答案了 既然 Microsoft Chromium Edge 已经最终确定 是否可以在 Delphi 或 C Builder 中使用它 据我了解 它是基于WebView2成分 是否有一个组件 例如TWebView2或者E
  • 如何比较枚举类型集

    从某个时刻开始 我厌倦了编写设定条件 and or 因为对于更多的条件或更长的变量名 重新编写会变得笨拙且烦人 所以我开始写助手这样我就可以写ASet ContainsOne ceValue1 ceValue2 代替 ceValue1 in
  • char*str={"foo",...} 和 char str[][5]={"foo",...} 数组定义之间有什么区别?

    Case 1 当我写作时 char str what is this then str i newstring 是有效的 而str i j j 是无效的 Case 2 当我写作时 char str 5 what is this then s
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a

随机推荐

  • MATLAB 中的贝叶斯网络

    有没有例子或者工具箱MATLAB我可以在哪里应用贝叶斯网络 我正在解决一个有 8 个变量的问题 但不知道如何开始 有人依赖于某些变量 有的是贝叶斯网络工具箱可通过 Google 代码获取 并附有介绍和示例 希望这可以帮助
  • xhtml2pdf 在创建 pdf(html 到 pdf)时不应用 css

    转换 html template render context resultFile open filepath w b pdf pisa CreatePDF html encode utf 8 dest resultFile encodi
  • Android Publisher Google Console API 未返回评论列表

    基于谷歌文档 我正在调用端点来获取所有评论 如下所示 curl https androidpublisher googleapis com androidpublisher v3 applications com questionpro r
  • 使用node.js观察文件变化

    我有以下用例 A 创建聊天并邀请 B 和 C 在服务器上 A 创建 文件 A B 和 C 将消息写入此文件 A B C 读了这篇文章 文件 我想要在服务器上创建一个文件 并观察该文件 如果其他人向该文件写入内容 则使用 websockets
  • Pandas:如何根据另一列的值创建一列?

    我需要在数据框的末尾创建一个新列 其中该新列中的值是应用某些函数的结果 该函数的参数基于其他列 具体来说 来自另一列 但不同的行 例如 如果我的数据框有两列 包含值x i y i分别 我的第三栏是f x i 1 y i 1 我知道要创建一个
  • 哪些存储不完整类型的STL数据结构可以用作类成员?

    据我所知 从 C 17 开始 某些 STL 数据结构可能 存在 并且以不完整的类型作为描述存储类型的模板参数 例如 我可以使用std unique ptr
  • 在编译的pdf中的文档文本和knitr代码块之间添加空格

    我正在使用 RStudio 0 98 501 编译 Rnw将 R 代码块合并为 pdf 在生成的 PDF 中 文档文本和 R 代码块之间没有空格 我还没有遇到过任何knitr块或包选项 让我指定文本和代码块之间的垂直空间 我想在文本和代码块
  • 如何使用应用程序脚本获取有权访问 Google 共享云端硬盘的所有用户的列表

    我使用 getEditors 获取电子表格的编辑者列表 返回的列表包括共享云端硬盘用户 但是 对共享云端硬盘具有 内容管理员 访问权限的用户不包含在列表中 出现这种情况有什么原因吗 我还发现 getAccess 可用于获取特定用户对驱动器文
  • 根据不同的列名连接表

    我正在观看 Greg Reda 制作的关于 Pandas 的视频 1 看看 Pandas 可以做什么 与 data table 相比如何 我很惊讶地发现在 data table 中连接表是多么困难 如果您观看视频 特别是 49 00 到 5
  • 通过 NVarChar(Max) 列进行 SSIS 查找

    我想通过查找目标表中的 NVarChar Max 列和源表中的 NVarChar 20 列来从目标表获取 id 但引发错误Cannot map the lookup column Column1 because the column dat
  • jQuery:移动设备的键盘事件

    我在 iPhone 上触发 keyup 事件时遇到一些问题 我的代码如下 var passwordArray word test hello another here var test document getElementById ent
  • VBA 循环遍历用户窗体中的文本框控件

    我已经浏览了许多有关循环用户窗体控件的帖子 但似乎无法调整我找到的代码来满足我的需要 并且需要一些帮助 我想弄清楚的场景 我的用户表单上有 44 个文本框 其名称均以 ch 开头 例如 chTextBox1 当用户窗体激活时 我需要循环所有
  • 数据更改后重新加载 JTable 的 Object[][]

    我想知道是否可以刷新表的 GUIObject 用于最初填充它的内容已更改 Object calculationsTableData public Interface analysisPanel add calculationsTable J
  • 在mysql数据库中存储瑞典语字符

    我在 MySQL 数据库中存储瑞典语字符时遇到问题 我想将它们存储在我的表中users使用 utf8 bin 排序规则 即使我使用 utf8 字符 存储为 我不知道为什么 检索数据并回显给我相同的输出 但带有奇怪的字符而不是 任何帮助表示赞
  • 如何将 Bitmap 对象从一个活动传递到另一个活动

    在我的活动中 我创建了一个Bitmap对象 然后我需要启动另一个对象Activity 我怎样才能通过这个Bitmap来自子活动 即将启动的活动 的对象 Bitmap实施Parcelable 所以你总是可以带着意图传递它 Intent int
  • 如何在 sns clustermap 中标记集群

    我正在使用以下代码创建聚类图 import numpy as np import pandas as pd import seaborn as sns all net names early vis face motion scene sc
  • 使用 xlwt for excel 在 python 中预格式化为货币和两位小数

    我有一个列标题Fee Using xlwt in python 我成功生成了所需的Excel 创建Excel文件时此列始终为空 是否有可能拥有Fee列预格式化为 货币 和 两位小数 这样当我在Fee下载后Excel文件的列 23应该变成 2
  • 非托管资源和 Dispose()

    我正在读一些关于Dispose 方法并发现非托管资源应该显式释放Dispose 方法 或 Finalize 方法 文章称文件句柄和数据库连接对象是非托管资源的示例 谁能解释为什么这些是非托管的以及如果在 Dispose 中处理不当会发生什么
  • 使用 UIActivityViewController 共享视频时,视频未附加到邮件中

    我正在使用下面的代码来共享位于设备上的视频 它非常适合通过消息 facebook 和 iCloud 共享 但不适用于邮件 我可以看到邮件选项在那里 但在邮件草稿中 视频不存在随附的 在代码中 videoAsset is a PHAsset类
  • Delphi 字节逆序

    我一直在尝试编写一个函数 它接受两个指针 一个输入和一个输出 并以相反的顺序将输入中的字节写入输出 到目前为止我还没能让它正常工作 procedure ReverseBytes Source Dest Pointer Size Intege