这是否意味着我无法在delphi 2007和2009之间共享表格?
我们最近从Delphi 2006升级到Delphi 2007,项目文件从更改.bdsproj为.dproj.
到目前为止,我的研究表明,为了创建.dproj,需要在D2007 IDE中打开现有项目.我们有超过400个.bdsproj文件,因此手动执行此操作并不实用.
我想出的过程是使用以下命令从命令行打开所有项目:
find . -name *.bdsproj -exec bds.exe -pDelphi -ns -m "{}" ";"
Run Code Online (Sandbox Code Playgroud)
这是不理想的,因为它很慢(等待BDS加载,等待编译发生,等待BDS关闭,......).
有没有一种有效的方法将多个转换.bdsproj为.dproj?
注意:上面命令行中的'find'是类似UNIX的查找(例如MKS或GNU),它搜索文件,而不是Windows查找文件中搜索文本.
我们正在考虑从Rad Studio 2007升级到Delphi XE,并且需要让老板相信成本是合理的.我很感激能够帮助我回答这个问题的评论:"Delphi XE带来了哪些内容让升级成为值得的?"
问候,彼得
您好,我怎样才能在delphi中找到最小和最大的数字?
假设我有10个不同的数字存储在一个数组中:
如何在阵列中找到最大数量和最小数字?
我试图从.log文件中读取数据并处理其内容.日志文件由另一个应用程序创建.当我在Delphi中使用readln命令并在备忘录中显示文件的内容时,我只从一个包含超过6000行数据的文件中获取一行数据(ÿþI).
procedure TForm1.Button1Click(Sender: TObject);
Var
F : TextFile;
s : string;
begin
AssignFile(F, 'data.log');
Reset(F);
while not Eof(F) do
begin
Readln(F, s);
Memo1.Lines.Add(s);
end;
end;
Run Code Online (Sandbox Code Playgroud)
有谁知道问题可能是什么?
我发现此文档表明您可以使用备用注册表项启动Delphi.但我无法让它工作(使用Delphi 2007,也尝试过2010).我的捷径的目标是
"C:\ Program Files\CodeGear\RAD Studio\5.0\bin\bds.exe"-pDelphi -rHKEY_CURRENT_USER\Software\Borland\BDS\5.0
当我运行Delphi启动时没有加载任何包. 我以错误的方式传递密钥吗?这是2007/2010期间的功能吗?(它似乎在那里,因为在启动时正常加载的包没有加载)
我想要解决什么?:
我使用不同版本的第三方组件有不同的发行版.当我需要修复旧分支上的错误时,UI(使用后来的第三方版本运行)更改dfm,使用部分ect.适合在UI中安装的版本.旧的分支仍然链接旧版本的第三方,并崩溃
我有一个XML格式如下:
<Accounts>
<Account Number="1" DebitAmount="1000" Amount="2827561.95" />
<Account Number="225" DebitAmount="2000" Amount="12312.00" />
<Account Number="236" DebitAmount="London" Amount="457656.00" />
<Account Number="225" DebitAmount="London" Amount="23462.40" />
<Account Number="236" DebitAmount="Bangalore" Amount="2345345.00" />
</Accounts>
Run Code Online (Sandbox Code Playgroud)
如何使用Xpath检索唯一帐号?即,我想得到值1,225和236.
这就是我所做的:(我正在使用Delphi 2007 ...)
Const XmlStr =
' <Accounts>
<Account Number="1" DebitAmount="1000" Amount="2827561.95" />
<Account Number="225" DebitAmount="2000" Amount="12312.00" />
<Account Number="236" DebitAmount="London" Amount="457656.00" />
<Account Number="225" DebitAmount="London" Amount="23462.40" />
<Account Number="236" DebitAmount="Bangalore" Amount="2345345.00" />
</Accounts>';
function GetAccountNumbers:TList;
Var
XMLDOMDocument : IXMLDOMDocument;
accounts : IXMLDOMNodeList;
accountdetail :IXMLDOMNode;
i:Integer
list :TList
begin
Result:=TList.Create;
XMLDOMDocument:=CoDOMDocument.Create; …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,在Delphi 2007中构建,TDateTimePicker在表单上有一个.此日期时间选择器具有ShowCheckbox设置为的属性True,其在日期或时间旁边显示一个复选框,每当用户选择日期时,或者通过代码更改日期或时间时,该复选框将自动选中.此复选框的状态也可由用户手动控制,其状态可由Checked属性确定.
以下代码显示如何确定OnChange事件中此复选框的状态:
procedure TForm1.FormCreate(Sender: TObject);
begin
DateTimePicker1.ShowCheckbox := True;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
ShowMessage('Checked: ' + BoolToStr(DateTimePicker1.Checked, True));
end;
Run Code Online (Sandbox Code Playgroud)
上面的代码在Windows XP上按预期工作,但在Windows 7上,Checked无论该复选框的实际状态如何,该属性都返回True.
为什么Checked属性返回始终为True,即使取消选中复选框也是如此?有办法以某种方式修复或解决这个问题吗?
PS我的应用程序使用Windows主题
我一直在为Delphi编程五六年,我认为自己相当擅长,但我最近偶然发现了一个我无法解释的行为.我正在编写一个简单的链表,我们称之为TIntegerList.下面的示例代码正确编译:
type
PIntegerValue = ^TIntegerValue;
TIntegerValue = record
Value: Integer;
Next: PIntegerValue;
Prev: PIntegerValue;
end;
Run Code Online (Sandbox Code Playgroud)
但是,下面的代码没有(说TIntegerValue未声明):
type
PIntegerValue = ^TIntegerValue;
type
TIntegerValue = record
Value: Integer;
Next: PIntegerValue;
Prev: PIntegerValue;
end;
Run Code Online (Sandbox Code Playgroud)
Delphi中"type"关键字究竟是如何处理的?与在每个类型中使用一个"类型"相比,在一个"type"关键字下声明多个类型的语法含义是什么?好吧,这令人困惑,但我希望代码示例有助于解释我的意思.我在Delphi 2007工作.
我碰巧注意到一个<DCCReference>标记引用了一个甚至不存在的文件.这些标签有什么意义?删除它们会带来什么后果?
delphi ×10
delphi-2007 ×10
arrays ×1
compilation ×1
delphi-2009 ×1
delphi-2010 ×1
delphi-7 ×1
delphi-xe ×1
search ×1
syntax ×1
upgrade ×1
windows-7 ×1