小编hom*_*ase的帖子

Yahoo Finance API更改(2017)

从雅虎财经请求数据似乎已经改变或现在被阻止.以下关于商品数据的请求自2017年5月起不再有效.有谁知道是否有新方法提出此请求?

http://chartapi.finance.yahoo.com/instrument/1.0/GCQ17.CMX/chartdata;type=quote;range=10d/csv/
Run Code Online (Sandbox Code Playgroud)

yahoo-finance

24
推荐指数
2
解决办法
8万
查看次数

是否有SHGetSpecialFolderLocation的新替代品?

我的应用程序是用C++ Builder for Win32编写的.我的代码使用SHGetSpecialFolderLocation()API来获取CSIDL_APPDATACSIDL_MYDOCUMENTS路径.

我注意到微软在2014年4月12日的网站上说:

[SHGetSpecialFolderLocation不受支持,将来可能会被更改或不可用.相反,使用SHGetFolderLocation.]

然后SHGetFolderLocation它说:

弃用

获得这两条路径的当前方法是什么?

我目前的代码如下.

LPITEMIDLIST List = NULL;
wchar_t  wPath[MAX_PATH + 1];
UnicodeString S01, Fi;

if( !SHGetSpecialFolderLocation(0, CSIDL_APPDATA, &List) ){
  if( SHGetPathFromIDListW(List, wPath ) ){
    S01 = wPath;
    Fi = (S01+"\\my_files\\");
    Form1->MyRoamingPath_Mh = Fi;
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ winapi

7
推荐指数
1
解决办法
236
查看次数

将 Linux 的打开、读取、写入、关闭功能转换为在 Windows 上工作

下面的代码是为 Linux 编写的,使用了 open、read、write 和 close。我在 Windows 计算机上工作,我通常使用 fopen、fgets、fputs、fclose。现在,我在打开、读取、写入和关闭时遇到无原型错误。是否有我可以包含的头文件来使其在 Windows 计算机上工作,或者我是否需要转换代码?您能否展示如何转换它,使其在 Windows 上的工作方式相同,或者至少将我指向一个显示如何转换它的在线文档?

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#ifdef unix
#include <unistd.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#ifndef O_BINARY
#define O_BINARY 0
#endif

#define NB 8192
char buff[NB];

int
main(argc,argv)
int argc;
char **argv;
{
int fdi, fdo, i, n, m;
char *p, *q;
char c;


if( argc > 0 )
    printf( "%s:  Reverse bytes in 8-byte values \n", argv[0] ); …
Run Code Online (Sandbox Code Playgroud)

c c++ windows posix c++builder

6
推荐指数
2
解决办法
3158
查看次数

Codesign 软件在 Windows 10 上仍然发出警告

我使用良好的证书对我的安装软件进行了协同设计。我刚刚注意到当前版本的 Windows 10 显示以下警告消息。这在以前版本的 Windows 10 中没有出现。如何防止弹出此警告?

Windows 保护您的 PC

Windows Defender SmartScreen 阻止无法识别的应用程序启动。运行此应用程序可能会使您的电脑面临风险。

code-signing codesign

4
推荐指数
1
解决办法
2378
查看次数

我的美国Ini文件是否可以使用欧洲格式的浮点数

我正在使用C++ Builder XE4和Windows 32位VCL平台.

我正在设置.INI文件,其中包括使用句点(.)作为小数分隔符的浮点数.在欧洲,他们使用逗号(,)作为小数分隔符.

我正在使用TIniFileC++ Builder内置的类.

TIniFile在欧洲阅读下面的文件条目吗?我需要.INI使用逗号作为分隔符的第二个文件吗?

当我读取浮点值时,我的故障安全返回值也使用句点(.).在下面的代码中,

ReadFloat("Forex", "Size",  0.01   ); 
Run Code Online (Sandbox Code Playgroud)

0.01是故障安全返回值.

这会在欧洲发挥作用吗?

例如:

MyList.ini:

[Forex]
Size=0.0001
Value=10.5
OffSet=0.01


//Read TIniFile
MyList = new TIniFile("C:\\MyList.ini");
double r_Size = MyList->ReadFloat("Forex", "Size", 0.01);
double r_Value = MyList->ReadFloat("Forex", "Value", 10.0);
double r_OffSet = MyList->ReadFloat("Forex", "OffSet", 0.01);  
Run Code Online (Sandbox Code Playgroud)

编辑在下面

您在答案中指出TIniFile是否在正确读取的相同位置写入和读取.是否可以打开并重新保存我的.INI文件一次以将它们转换为本地格式?然后,我可以使用我当前的代码,没有任何变化.我将在循环中为我的.INI文件中的每个浮点执行以下三个步骤.这会重新格式化.INI文件吗?

我只需要调整故障安全返回值以使用本地分隔符.

步骤1)检查分隔符的本地值
步骤2)使用美国格式加载浮点数(.)分隔符
步骤3)使用本地分隔符重新保存

void __fastcall ConvertToLocalSeparator( ){ 

//1 Check Local Value of Seperator
TFormatSettings fmt = TFormatSettings::Create();
UnicodeString …
Run Code Online (Sandbox Code Playgroud)

delphi ini c++builder

2
推荐指数
1
解决办法
238
查看次数

TScreen-&gt;表单显示意外的额外表单

我正在使用 C++Builder 10.3 Rio 和 VCL Windows 应用程序。我正在使用 TScreen->Forms 来获取有关我的程序打开表单的信息。这显示 FormCount 比我预期的要高。我的应用程序有两个打开的窗体(1)主程序窗体和(2)数据输入对话框。当我检查 Screen->FormCount 时,它显示 6 个表单。当我检查下面的 for 循环中的表单名称和标题时,只有我的 2 个表单有名称和标题。其他表单名称和标题均为 NULL。我可以使用dynamic_cast或表单名称来识别我的表单。还有哪些额外的形式?我如何识别其他表格?

UnicodeString MyName, MyCaption;

for(int j=0; j<Screen->FormCount; j++){
  MyName    = Screen->Forms[j]->Name;
  MyCaption = Screen->Forms[j]->Caption;
  TMyForm *MyLocal = dynamic_cast<TMyForm *>( Screen->Forms[j] );
}

for(int j=0; j<Screen->CustomFormCount; j++){
  MyName    = Screen->CustomForms[j]->Name;
  MyCaption = Screen->CustomForms[j]->Caption;
}
Run Code Online (Sandbox Code Playgroud)

delphi c++builder

2
推荐指数
1
解决办法
308
查看次数

从C中的结构中检索值时编译错误

我正在使用C++ Builder XE4.我正在尝试将一些C代码编译到控制台应用程序中.C文件很大,所以我试着关注这个问题.代码设置了两个结构,然后尝试调用失败的值.

struct ephloc
{
  long first_item_ordinal;
  long last_item_ordinal;
  int days_per_record;
  int items_per_record;
  int total_records;
};

struct ephloc objs[15] = {
  {    641, 2210500,  8, 44, 50224},  
  {2210501, 3014088, 16, 32, 25112},  
  {3014089, 4043684, 16, 41, 25112},  
  {4043685, 4483148, 32, 35, 12556},  
  {4483149, 4809608, 32, 26, 12556},  
  {4809609, 5098400, 32, 23, 12556}, 
  {5098401, 5349524, 32, 20, 12556},  
  {5349525, 5600648, 32, 20, 12556},  
  {5600649, 5851772, 32, 20, 12556}, 
  {5851773, 6730696, 16, 35, 25112},  
  {6730697, 10849068, 4, 41, 100448}, 
  {10849069,14967440, 4, …
Run Code Online (Sandbox Code Playgroud)

c c++ c++builder

-1
推荐指数
1
解决办法
95
查看次数

标签 统计

c++builder ×4

c++ ×3

c ×2

delphi ×2

code-signing ×1

codesign ×1

ini ×1

posix ×1

winapi ×1

windows ×1

yahoo-finance ×1