我需要帮助解决我在编写应用程序时遇到的问题MFC.
我在我的应用程序中使用CLRie Common Language Runtime来集成c#API.但现在我坚持转换System::String^为CString.我无法做到这一点.
我正在使用以下代码.
String^ csPass = gcnew String(strPassword.GetBuffer());
array<Byte>^ Value = Encoding::UTF8->GetBytes(csPass);
for (int i = 0; i < Value->Length; i++ )
{
csPass += String::Format( "{0:X2}", Value[ i ] );
}
Run Code Online (Sandbox Code Playgroud)
现在我想转换csPass为CString.谁可以帮我这个事.先感谢您.
我对Delphi VCL控件的两个属性有点好奇.
每个组件有2种性质Owner和Parent在运行时.谁能帮助我理解两者之间的区别?它们如何被windows用于显示控件或表单?
在浏览我的一个代码时,我被困在一个声明中,如下所示.
TMyObjectClass = class of TMyObject;
我有点困惑,想知道这句话是什么意思.由于TMyObjectClass声明上方没有声明.
并且TMyObject声明如下:
TMyObject = class(TObject)
private
//some private member declaration
Public
// some public variables
end;
所以,我的问题是声明的含义是什么
TMyObjectClass = class of TMyObject;
以及如何TMyObjectClass运作?
我对Delphi有点新意,所以请帮助我了解这些类型的声明和解决方法.
对不起,这类问题.但是,我对关键词很好奇extern在C\C++.
在搜索解释时extern我知道extern告诉编译器变量或函数已经在其他文件或程序中定义了.
但如果是这种情况,那我们为什么要使用extern?
因为我尝试了一些代码如下:
extern int var;
int main(void)
{
var = 10;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码给我一个错误信息unresolved external symbol "int var" (?var@@3HA).
如果我使用的代码如下:
extern int var;
int main(void)
{
int var = 10;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它没有显示任何错误,并且给出了与我在main函数中定义的值相同的值.
那么,任何人都可以帮助我解决这个问题extern吗?我对此感到困惑.如果这不是一个有效的问题,请原谅我.先感谢您.
我工作的一个项目,我已经在转换的一个问题stucked CStringW到CStringA像日语多字节字符串.
我正在使用LoadString()Method 从字符串资源加载字符串.我尝试过以下代码,但似乎没有用.
CStringW csTest;
csTest.LoadString(JAPANESE_STRING);
CStringA Msg = CStringA(csTest); // Msg has been returned blank string
Run Code Online (Sandbox Code Playgroud)
和
std::string Msg = CW2A(csTest);// Msg has been returned blank string
Run Code Online (Sandbox Code Playgroud)
我也试过
wcstombs()了.
任何人都可以告诉我如何转换CStringW为CString?提前致谢.
我有的数据
我有一个存储在数据库中的数据,其日期和时间存储为字符串.
该数据存储在中央服务器上.在此数据中,日期和时间以不同的格式存储(根据客户端计算机的日期时间格式而有所不同).
我想做
现在,我想将所有不同格式的日期和时间字符串转换为"yyyy-mm-dd hh:mm:ss"格式.
我面临的问题
我无法将具有多个日期时间格式的日期时间数据转换为单一格式.
示例: 我的机器日期时间格式为yyyy-mm-dd.但是当我试图转换下面的日期时
StrToDateTime('2015/02/10')
Run Code Online (Sandbox Code Playgroud)
它引发了一个例外.
任何人都可以告诉我如何实现这一目标吗?如果需要更多详细信息,请与我们联系.先感谢您.
在尝试一些代码时,我发现如果我们为没有类型的函数或过程提供参数,它就不会给我们一个编译时错误.
为什么会发生这种情况,请给出一些解释,因为我无法在任何地方找到这样的代码?
程序声明:
Procedure TestProc(var objTest);
Run Code Online (Sandbox Code Playgroud)
如果我们删除关键字var,则编译时错误显示为Type required.
有人可以解释一下吗?
我是Delphi编程新手.虽然经历了Data Types在Delphi我发现TDateTime.
在我的测试应用程序中使用它时,我发现TDateTimeObject提供了一个Float\Double值.
我感到有点好奇TDateTime它是如何计算的Date Time,以Double价值.
下面是我使用的示例代码:
var
LDateTime: TDateTime;
LFloat: Double;
begin
LDateTime := now;// current DateTime
LFloat:= LDateTime; // provide me a float value
end;
Run Code Online (Sandbox Code Playgroud)
是否使用任何公式Date and Time Value从Windows 计算?
任何人都可以建议/提供有关工作的更多信息TDateTime吗?
提前致谢.
我想获得的所有名单workitem types,从project collection没有访问project在project collection.
我一直试着到现在
我可以workitemType使用project对象获取所有列表的列表,如下面的代码所示:
TfsTeamProjectCollection tfctc = new TfsTeamProjectCollection(newUri
("http://servername:8080/tfs/teamprojectcollection"));
WorkItemStore wis = tfctc.GetService<WorkItemStore>();
foreach(Project project in wis.Projects)
{
foreach (WorkItemType type in project.WorkItemTypes)
{
Console.WriteLine(type.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
通过搜索获取列表,WorkitemType我来了解TFS中的一个类作为WorkItemTypeCollection.
但在使用它时,我无法获得workitemcollection使用的对象projectCollection.
我试过下面的代码来做到这一点:
TfsTeamProjectCollection tfctc = new TfsTeamProjectCollection(newUri
("http://servername:8080/tfs/teamprojectcollection"));
WorkItemTypeCollection witc = tfctc.GetService<WorkItemTypeCollection>(); // here I am getting nil object every time
// some more code
Run Code Online (Sandbox Code Playgroud)
我想做的事
我想要得到的名单WorkItemTypes中 …
如果问题不是按照规则,而是出于好奇,请原谅我,我只是想知道为什么我的物品classtype让我感到困惑。
请参见以下代码:
type
TFirstClass = class
end;
TSecondClass = class(TFirstClass)
end;
TThirdClass = Class(TSecondClass)
End;
Run Code Online (Sandbox Code Playgroud)
以上是我的课程结构。
在一种方法中,我只想检查类对象的类类型。
var
obj1: TFirstClass;
obj2: TSecondClass;
obj3 : TThirdClass;
str: string;
begin
obj1 := TSecondClass.Create;
obj2 := TThirdClass.Create;
try
if obj1 is TFirstClass then
str := str + ' obj1: first ||';
if obj1 is TSecondClass then
str := str + 'obj1 : Second ||';
if obj2 is TSecondClass then
str := str + 'obj2 : Second ||';
if obj2 is TThirdClass …Run Code Online (Sandbox Code Playgroud) 我正在研究我发现警告的项目
W1000 Symbol 'StrLComp' is deprecated: 'Moved to the AnsiStrings unit'
我的代码中有很多警告,用于定义中的许多字符串函数System.SysUtils.
我无法使用这些AnsiStrings功能,因为它会多次出现.
任何人都可以告诉我如何删除这些类型的警告?
我正在研究Delphi 10 Seattle.
在进行项目时,我们收到4000多个警告。为了删除其中的一些,我发现了一个编译器指令为NEXTGEN。
使用此指令后,我发现警告到257还有更多的最小化。
我想知道在使用编译器指令时是否有任何问题。我的Windows应用程序是否有此指令的任何缺点。我正在使用Delphi 10。
在Embarcadero网站上,我发现的信息很少。
谁能告诉我一些相同的东西?