首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Ruby中解析CArchive (MFC类)文件

在Ruby中解析CArchive (MFC类)文件
EN

Stack Overflow用户
提问于 2010-04-08 02:25:26
回答 2查看 1.4K关注 0票数 0

我有一个遗留应用程序,似乎是导出/保存文件与CArchive (遗留MFC应用程序)。

我们目前正在为网络重构这个工具。我是否可以在Ruby中查看一个库来解析和加载这些遗留文件?

我能查到哪些图书馆?

根据Non-robustness—your的说法,文件格式的问题包括:如果读取另一个版本的程序生成的存档文件,那么MFC的XML序列化程序可能会崩溃。这可以通过复杂和不灵活的版本管理来避免。通过使用XML,这在很大程度上可以避免。-程序对象模型与归档数据之间的高度依赖关系。更改程序模型,几乎不可能从以前的版本读取数据。-存档数据无法编辑、理解和更改,除非使用关联的应用程序。

另外-4个版本的遗留软件存在,我如何能够克服这个ObjectModel,存档的数据问题,为不同的版本?需要完全向后(导入)功能。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-08 02:37:10

CArchive没有您可以解析的格式。只是个二进制文件。你必须知道里面有什么才能知道怎么读。库可以使读取某些数据类型(CStringCArray等)变得更容易。但我不确定你能找到这样的东西。

CArchive的工作方式如下(存储部分):

代码语言:javascript
运行
AI代码解释
复制
CArchive ar;
int i = 5;
float f = 5.42f;
CString str("string");
ar << i << f << str;

然后将所有这些转储到二进制文件中。您必须读取二进制数据并以某种方式对其进行解释。这在C++中很容易,因为MFC知道如何序列化类型,包括CStringCArray这样的复杂类型。但是,您必须使用Ruby自己来完成这一任务。

例如,您可以读取4个字节(因为您知道int有那么大)并将其解释为整数。接下来的四个字节用于float。然后,您必须了解如何加载CString,它首先存储长度,然后存储数据,但您必须查看它使用的确切格式。您可以为每种类型创建实用程序函数,以使您的生活更轻松,但不要期望这是简单的。

票数 2
EN

Stack Overflow用户

发布于 2010-04-09 05:13:27

您可以使用旧的功能用C++编写导出程序,该功能将在CArchive中读取,然后输出一个xml文件或任何内容。直接从Ruby (或C++/MFC以外的任何语言)读取CArchives将是一个主要项目。如果所编写的数据只是一个带有几个in或long的结构,那么您就可以不使用它了,但是一旦您的CArchive包含了UDT,您就陷入了一个痛苦的世界。例如,我甚至不认为CArchive在对齐方面做出了承诺。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2599056

复制
相关文章
如何在 PowerBI 中设置数值标签的动态颜色
PowerBI 的数值标签从 2022 年 8 月开始支持动态颜色了。 首先,需要下载最新版的 Power BI Desktop。 渐变色方式 效果如下: 在【视觉对象】【数据标签】【值】【颜色】下设置即可。如下: 动态标记最大值与最小值 还可以用度量值进行设置,例如标记最大值与最小值。度量值如下: View.Color = 注意 这里的 DAX 用到的《BI 真经》视图型计算方法,不再重复。 这样就可以通过度量值,动态标记颜色,如下: 扩展创意用法 太多标签比较乱,可以仅仅显示需要的标签。创建
BI佐罗
2022/12/18
17.8K0
如何在 PowerBI 中设置数值标签的动态颜色
React动态添加标签组件
在前端开发的过程中,一些表单的输入经常需要输入多个内容,如果采用一个输入框+逗号分隔的方式,展示起来不是很清晰,一般需要采用标签的方式
zx钟
2023/09/12
5140
React动态添加标签组件
Emlog自动为文章标签添加该标签的链接
我们在编写文章时,经常需要添加一些标签的链接,这样不仅可以优化我们的内链,对用户来说也可以参照相关的文章,如果对文章的关键字进行手动添加链接,那样对我们来说太麻烦了,而且在标签关键词很多的情况下我们是记不住的,那怎么如何让Emlog站点的文章自动添加标签链接变为内链呢?其实我们只需要在主题目录下的module.php文件中添加一段代码就可以实现了。 打开我们主题的module.php文件添加如下代码: //自动为文章标签添加该标签的链接 function tag_link($content){
Youngxj
2018/06/07
1.2K0
EasyUI 动态添加标签页(Tabs)
我们使用 'exists' 方法来判断 tab 是否已经存在,如果已存在则激活 tab。如果不存在则调用 'add' 方法来添加一个新的 tab 面板
故久
2019/09/29
1.4K0
自动添加标签(2):再次实现
你从初次实验中学到了什么呢?为了提高可扩展性,需提高程序的模块化程度(将功能放在独立的组件中)。要提高模块化程度,方法之一是采用面向对象设计。你需要找出一些抽象,让程序在变得复杂时也易于管理。下面先来列举一些潜在的组件。
不可言诉的深渊
2019/07/26
1.7K0
自动为WordPress文章添加标签
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2022/11/21
4460
自动为WordPress文章添加标签
自动添加标签(1):初次实现
今天介绍如何使用Python杰出的文本处理功能,包括使用正则表达式将纯文本文件转换为用HTML和XML等语言标记的文件。如果不熟悉这些语言的人编写了一些文本,而你要在系统中使用并对其内容进行标记,就必需具备这些技能。
不可言诉的深渊
2019/07/26
1.5K0
微伴助手如何增加客户积分?如何自动给客户添加企业标签?
微伴助手是一款企业微信第三方应用,已经为电商、教育、金融、保险、医疗等机构提供技术支持,适用于引流获客、客户意向跟进、销售转化、社群运营等全方位营销场景,旨在帮助企业构建高转化率的私域流量池。
阿那个沫
2023/05/29
5810
微伴助手如何增加客户积分?如何自动给客户添加企业标签?
使table背景颜色交替变换
<!--使table背景颜色交替变换--> <script> var table1 = document.getElementById("tbname"); var rows = table1.getElementsByTagName("tr"); for(var i=0;i<rows.length;i++){ if(i%2==0){ rows[i].style.backgroundColor='red'; }else{ rows[i].style.backgroundCo
闵开慧
2018/03/30
1.1K0
使括号有效的最少添加
给定一个由(和)括号组成的字符串S,我们需要添加最少的括号(或是),可以在任何位置,以使得到的括号字符串有效。 从形式上讲,只有满足下面几点之一,括号字符串才是有效的:
WindRunnerMax
2020/09/01
4230
ZBLOG PHP自动添加图片ALT标签的实现方法
默认情况下,ZBLOG PHP 上传的图片ALT标签是图片名称。网友有提到是不是可以不要每次手工修改,能够直接变成标题的ALT标签。于是老蒋找找网上有没有解决办法,对于WordPress的ALT标签是可以通过插件或者无插件代码实现的(这里方法),对于ZBLOG PHP程序应该也是可以实现。
老蒋
2021/12/27
5420
为WordPress 文章中的链接自动添加 nofollow标签
nofollow 标签是神马东东在这里不多说,请自行谷歌。默认的话,WordPress是不会为你的文章的链接添加rel="nofollow"的。如果你需要这么做的话,不必一个个手动添加,直接在主题的funtions .php文件那里加入以下代码就可以自动实现了。 add_filter('the_content', 'auto_nofollow'); function auto_nofollow($content) { //return stripslashes(wp_rel_nofollow($conten
Jeff
2018/01/19
1.5K0
如何给标签设置动态日期
我们在购买商品时,会发现商品的外包装上都会贴有标签,这些产品标签上会有名称、生成厂商、成分、条形码等信息。当然还有生成日期,尤其是食品类的商品,外包装上肯定会有生产日期,有的甚至精确到秒。这个日期是一个可变数据,会随着系统时间的变化而变化,小编下面就为大家介绍如何给标签设置动态日期。
神奇像素科技
2021/11/30
2.1K0
如何给标签设置动态日期
如何实现动态添加的元素添加点击事件
在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素的事件函数即可。动态添加的元素怎么绑定事件呢?
前端老道
2022/03/29
4.1K0
activiti5使用教程1-添加动态标签
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162667.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/13
6940
activiti5使用教程1-添加动态标签
JavaScript自动添加标签UTF-8编码
JavaScript自动添加UTF-8编码,自动查询 head 是否有 UTF-8 的 meta,没有的话自动添加 当然这个也可以扩展成其他功能,会用JavaScript创建一个标签
xlj
2021/07/14
3120
原生js怎么为动态生成的标签添加各种事件
这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom对象是找不到的,jq通过事件委托解决了这个问题,但是原生js这个问题该怎么解决呢?我在网上查了很多资料,好像只有一种办法,那就是在生成标签并把标签添加到html结构中后再添加对于这个新标签的各种事件,如果有更好的方法,欢迎提出来。 <!DOCTYPE html> <html lang="en"> <head>
吴裕超
2018/02/28
8.1K0
JavaScript自动添加标签UTF-8编码
JavaScript自动添加UTF-8编码,自动查询 head 是否有 UTF-8 的 meta,没有的话自动添加
xlj
2021/06/28
4310
点击加载更多

相似问题

为Chart.js动态添加颜色

338

Chart.js标签颜色

31

Chart.js改变标签颜色

29

如何更改chart.js轴标签的颜色?

252

Chart.js如何编辑标题标签颜色

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档