请考虑以下XE6代码.目的是ThingData应该将两个Thing1&写入控制台Thing2,但事实并非如此.这是为什么?
program BytesFiddle;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
type
TThing = class
private
FBuf : TBytes;
FData : TBytes;
function GetThingData: TBytes;
function GetThingType: Byte;
public
property ThingType : Byte read GetThingType;
property ThingData : TBytes read GetThingData;
constructor CreateThing(const AThingType : Byte; const AThingData: TBytes);
end;
{ TThing1 }
constructor TThing.CreateThing(const AThingType : Byte; const AThingData: TBytes);
begin
SetLength(FBuf, Length(AThingData) + 1);
FBuf[0] := AThingType;
Move(AThingData[0], FBuf[1], Length(AThingData));
FData := @FBuf[1];
SetLength(FData, …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人可以帮助解决以下问题。
using (FbConnection conn = new FbConnection(ConnectionString))
{
conn.Open();
// --------------------------------------------------------------------------
FbCommand command1 = new FbCommand("SELECT @AN_INT FROM RDB$DATABASE", conn);
command1.Parameters.Add("AN_INT", FbDbType.Integer);
try
{
command1.Prepare(); // Message=Dynamic SQL Error
//SQL error code = -804
//Data type unknown
// Source=FirebirdSql.Data.FirebirdClient
// ErrorCode=335544569
// SQLSTATE=42000
}
catch(Exception E)
{
MessageBox.Show(E.Message);
}
// --------------------------------------------------------------------------
FbCommand command2 = new FbCommand("SELECT 123 FROM RDB$DATABASE WHERE 789 >= @AN_INT", conn);
command2.Parameters.Add("AN_INT", FbDbType.Integer);
try
{
command2.Prepare(); // No Problem
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
} …Run Code Online (Sandbox Code Playgroud) 我正在从命令行构建Delphi项目并brcc32.exe用于构建.res文件.
我已经添加了许多自定义字符串,.RC所以它看起来像这样.(有一个小的Delphi5应用程序从模板准备这个.RC)
1 VERSIONINFO
FILEVERSION 999,0,0,339
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904E4"
BEGIN
VALUE "FileDescription","Debug Build"
VALUE "FileVersion","999.0.0.339"
VALUE "LegalCopyright", "HuwCorp Finance Ltd"
VALUE "Revision","339"
VALUE "LastChangeRevision","335"
VALUE "LastChangeDate","2013-06-07"
VALUE "LastChangeTime","13:17:14"
VALUE "LastChangeAuthor","foo1234"
VALUE "BuildDate","12/06/2013"
VALUE "BuildTime","10:36:59"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 2057, 1252
END
END
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,但是这BRCC32一步产生了一个.res看起来像这样的错位文件(通过资源构建器查看)
VALUE "LastChangeDate", "2013-06-074\x08\x01LastChangeTime"
VALUE "LastChangeTime", "13:17:146\x07\x01LastChangeAuthor"
VALUE "LastChangeAuthor", "foo1234"
VALUE "BuildDate", "12/06/2013,\x08\x01BuildTime"
VALUE "BuildTime", "10:36:59D"
Run Code Online (Sandbox Code Playgroud)
实际上,单击构建的属性/版本会.exe …
我需要处理 Word 文档并更改书签(的文本)。
我将 Word 文档导出为平面 xml 格式,以帮助建立文档的结构 - 这是一个片段
<w:bookmarkStart w:id="0" w:name="CustomerName"/>
<w:r w:rsidRPr="001E4487">
<w:rPr>
<w:rFonts w:ascii="MyTypeRegular"
w:hAnsi="MyTypeRegular"
w:cs="MyType V2 Regular"/>
<w:szCs w:val="22"/>
</w:rPr>
<w:t>[CustomerName]</w:t>
</w:r>
<w:bookmarkEnd w:id="0"/>
Run Code Online (Sandbox Code Playgroud)
我需要改变的部分<w:t>[CustomerName]</w:t>应该变成,例如<w:t>Some Punter</w:t>
所以在我的VBA中我希望能够做这样的事情......
Dim bkm As Bookmark
For Each bkm In ActiveDocument.Bookmarks
bkm.Text = "Some Punter"
Next bkm
Run Code Online (Sandbox Code Playgroud)
只是BookMark没有Text财产
如何访问方括号中的小数据项?