问题标签 [c++builder-xe3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 从 csv 创建令牌
我有一个程序可以读取 csv 文件并将其拆分为令牌逗号。
但我有一个问题
例如这里是演示 csv 文件内容:-
val1,val2,val3,val4
1,"测试,测试1",,0
在这种情况下,我将“测试作为一个令牌和 test1”作为另一个令牌。
请任何人帮我解决这个问题。
这是我用于拆分的代码。
c++ - 从命令行执行 exe 后,命令行应该等待 exe 完成
我有一个可执行文件,其中提供了一些命令行选项以在静默模式下运行它。但是,当我使用命令行选项从命令提示符运行可执行文件时,它并没有等待可执行文件的完成。
我希望它应该等待 exe 的执行完成。
我不想在命令提示符中添加任何其他参数。我想在可执行文件中处理这个。
任何人都可以帮忙吗?
c++ - 将项目从 borland builder c++ 6 转换为 embarcadero xe3 时出错
从几天开始,我试图将项目从 borland c++ 6 转换为 embarcadero xe3,但我现在仍然不知道该怎么做。
我有很多错误,例如“E2293 ) 预期”,但我知道这不是我的程序无法运行的原因。
在 borland 6 中一切正常,但在这里我有很多错误。如何解决 system.types.hpp 、 posix.systypes.hpp 和 posix.dlfcn.hpp 的问题?
源代码示例:
c++ - 调用 dll 函数 C++ rad studio xe3
我尝试从 dll 调用函数,但它似乎无法正常工作。这是代码:
dllhandle 不断返回空值。
dpi - 在 RAD IDE 中编辑时,Cbuilder XE3 缩放(展开)表单
当我在 RAD IDE 中打开表单时,我有一些应用程序(但不是全部)“神奇地”将表单放大了 1.23 倍。例如,947 像素的表单宽度突然跳到 1166 像素。它可疑地接近 120/96 的像素比率(比率为 1.25),但缩放比例始终接近 1.23(根据来自例如表单宽度和高度的较大整数比率来判断)。
我可以查看 .dfm 文件并查看原始数字,而在 IDE 中,这些值已更改(例如,扩展了高度和宽度,调整了控制位置,并增加了字体大小)。
我知道缩放和 dpi 是一个雷区,但我没有(据我所知)更改任何相关设置。
对于受影响和不受影响的项目,表单的Scaled
属性设置为“true”,PixelsPerInch
属性设置为 96。我的开发机器的屏幕分辨率设置为 100%。这是应该避免这些问题的设置。
我搜索了项目和 IDE 配置文件,但徒劳无功,以找出有此问题的项目与没有此问题的项目可能有什么不同。
受影响(和未受影响)的项目都是已经开发多年的项目——直到上周我才观察到这种行为。据我所知(我是唯一的开发人员),我没有进行任何与缩放、dpi 等相关的代码/配置更改。
有谁知道会发生什么?
虽然我使用的是 CBuilder XE3,但我也用 Delphi XE3 标记了这个问题,因为我认为这是一个 RAD Studio 问题。
编辑 1:我还注意到,对于每个修改过的控件,IDE 都会添加以下附加行(即除了修改Top
、Left
、Width
、Height
和Font.Height
):
对于 TImages,它还添加了
编辑 2:奇怪的是,当 IDE 缩放表单时,它不会将表单标记为已修改 - 即,在进行“真正的”更改(例如,重新定位控件)之前,表单似乎未修改。如果在使用修改后的比例保存后再次打开表单,则不会发生进一步的缩放 - 这似乎是一次性效果,但似乎没有任何“未请求缩放完成”标志配置文件:)
c++ - 使用 Borland/Embarcadero 进行内联装配
这里有一个快速的问题:
我正在尝试在 32 位 Windows 7 上使用 Embarcadero C++ Builder XE3 进行内联汇编,特别是为了开始重新自学汇编,并有可能在未来的实际应用中使用。
到目前为止,我已经能够在一个简单的控制台项目中编写一组指令,该项目使用我可以使用的所有 C++ Builder 语法进行良好编译:
这可以编译,这些指令直接在 NASM 和 Windows 原生调试环境中工作。我期望的是对控制台的简单写入:$%&'
然后是成功终止。
但是,当我尝试Project1.exe
通过命令行运行时,我会立即得到一个标准的 Win7 运行时错误弹出窗口,它会在几秒钟后消失并终止程序。
运行调试,我似乎int 0x21
在挂起之前成功到达第一个,此时 Borland 给了我消息:
Project Project1.exe 引发异常类 $C00000005,并带有消息“0x00401213 处的访问冲突:读取地址 0xffffffff”。
我的理论是我没有正确初始化具有 256 字节偏移量的段(NASM 会使用类似org 0x100
指令集开头的东西)。但我不完全确定这是问题所在。
有任何想法吗?
c++ - c++ builder XE3项目中std :: string的编译器错误
我正在使用 c++ builder XE3 开发服务应用程序。如果我添加这一行,我会收到 std::string 的编译器错误:
错误输出如下:
我试图在 #include <utility>
上面添加,#include <string>
但仍然遇到同样的错误。相反,如果我如下将该行分成两部分,则它编译时不会出错。
或者
使用这种解决方法是不切实际的,因为我必须使用现有的代码,而这些代码不会出现大量错误。相同的代码在其他 XE3 项目中没有错误。任何想法如何解决这个错误?
c++ - Embarcadero C++ Builder 可能的 log() 函数错误?
给定以下代码(特别是使用 Embarcadero C++ Builder XE3):
根据https://en.cppreference.com/w/c/numeric/math/log,logf()、log() 和 logl() 基本相同,除了它们处理的浮点类型的大小与(分别为浮点数、双倍和双倍)。
在我的GetNDig()
函数中,我希望当我传入时,fTol = 0.001
我将始终计算变量tolCoeff = 3
、0.01 => 2
、0.1 => 1
等,而不管使用的味道如何logx()
。但是,我的问题是:
-1 * (log(0.001)/log(10)) => 2
-1 * (logf(0.001)/logf(10)) => 3
-1 * (logl(0.001)/logl(10)) => 2
这可能是<math.h>
特定于 C++ Builder XE3 的库问题,还是我在自己的代码中做错了什么?