在Delphi 2009之前我们有以下代码:
function MemoryStreamToString(M : TMemoryStream): String;
var
NewCapacity: Longint;
begin
if (M.Size = > 0) or (M.Memory = nil) then
Result:= ''
else
begin
if TMemoryStreamProtected(M).Capacity = M.Size then
begin
NewCapacity:= M.Size+1;
TMemoryStreamProtected(M).Realloc(NewCapacity);
end;
NullString(M.Memory^)[M.Size]:= #0;
Result:= StrPas(M.Memory);
end;
end;
Run Code Online (Sandbox Code Playgroud)
我们如何使用Delphi 2009将此代码转换为支持Unicode?
在尝试调试ASP.NET MVC应用程序时,我的控制器中的断点没有受到攻击.进入调试模式时,它们只显示一个带有警告三角形的空红色圆圈,而不是正常的整圆.这很奇怪,因为到目前为止调试工作正常,并且在我的环境中暂时没有进行任何配置更改.
我已经看到了这个问题,并查看了我的模块视图,并且没有加载正确的视图,但是我不确定如何解决这个问题.此外,所有相关的pdb文件都位于站点的bin文件夹中.
对于如何解决这个问题,有任何的建议吗?
干杯!
编辑:该应用程序作为IIS7上的本地站点运行,我正在使用VS 2008进行调试
我真的应该能够得到这个,但我只是觉得它更容易问.
在C#函数中:
public static T GetValue<T>(String value) where T:new()
{
//Magic happens here
}
Run Code Online (Sandbox Code Playgroud)
什么是魔法的好实现?这背后的想法是我要解析xml并且所需的值通常是基元(bool,int,string等),这是使用泛型的完美地方......但是一个简单的解决方案目前正在躲避我.
顺便说一下,这是我需要解析的xml示例
<Items>
<item>
<ItemType>PIANO</ItemType>
<Name>A Yamaha piano</Name>
<properties>
<allowUpdates>false</allowUpdates>
<allowCopy>true</allowCopy>
</properties>
</item>
<item>
<ItemType>PIANO_BENCH</ItemType>
<Name>A black piano bench</Name>
<properties>
<allowUpdates>true</allowUpdates>
<allowCopy>false</allowCopy>
<url>www.yamaha.com</url>
</properties>
</item>
<item>
<ItemType>DESK_LAMP</ItemType>
<Name>A Verilux desk lamp</Name>
<properties>
<allowUpdates>true</allowUpdates>
<allowCopy>true</allowCopy>
<quantity>2</quantity>
</properties>
</item>
</Items>
Run Code Online (Sandbox Code Playgroud) 使用数组实现Matrix构造时,效率会更高吗?使用1D数组还是数组数组(2D)?
我认为2D更有效,因为您已经拥有元素的X和Y坐标,在1D实现中您必须计算索引.
编辑:它是使用Java实现的
我有一条光线,我需要找到它所触及的最近的线段.如果我先对行段进行排序,我认为可以在O(log n)时间内执行此操作,但我不记得如何对它们进行排序...我认为某种树最适合,但我如何排序它们的起点和终点都是?如果可能的话,我还想快速插入这个数据结构.
一条光线与一条线段有很多代码,但我需要一条光线对比很多线段...我不知道google的条款.
指向相应文章的链接很好,C++代码甚至更好.谢谢!:)
PS:线段实际上是非自相交多边形的边缘,按CCW顺序排序......但我认为以不同的方式对它们进行排序可能有一些优势?
这都是2D.
第二个想法,我不完全确定这是可能的.某种空间分区可能有所帮助,但除此之外,我无法想出任何方式对线进行排序,以便可以将它们与任意射线进行比较.
我喜欢考虑一切如何,并用数字表示.例如,明文由类似ASCII的代码表示,图像由RGB值表示.这些是表示文本和图像的最简单方法.
用数字表示音频的最简单方法是什么?我想学习如何编写使用音频的程序,并认为这将是一个很好的开始方式.不过,我似乎无法在互联网上找到任何好的解释.
假设我有一系列数字:{n,n + 1,n + 2,... n + m}
如果不提前存储数字,我想创建一个函数f(),给定序列{1,2,3,... m}将以随机(或至少伪随机)顺序吐出原始集合.
例如假设我的序列是{10,11,12,13,14,15,16,17}
f(1) could yield 14 f(2) could yield 17 f(3) could yield 13 f(4) could yield 10 f(5) could yield 16 f(6) could yield 15 f(7) could yield 11 f(8) could yield 12
在过去的某个时刻,一位同事向我展示了一种能够做到这一点的数学算法,但是我已经忘记了除了存在之外几乎所有关于它的事情.我记得你必须事先得到序列,并从函数中使用的序列中生成一些常量.对于那些想知道的人,我遗憾地失去了与那位同事的联系.
这个问题的答案看起来很接近我想要的,但我不确定答案是否允许我提前将输出约束到特定序列.
编辑:
为了澄清一点,我不想存储原始序列或混洗序列.我想从原始序列生成函数f().
令人沮丧的是,我已经看到了这一点,我只是记不起来,谷歌再次找到它.
Fisher-Yates算法非常适合置换或改组卡座,但它不是我想要的.
如果我想扩展像AVAudioPlayer这样的类,那么最好的方法是向AVAudioPlayerDelegate添加另一个方法吗?我是否为它做了一个类别,我是否扩展它?如果我扩展它,那么我还必须确保覆盖实际的委托getter/setter吗?我该如何扩展协议?以下是我的错误
@protocol AudioTrackDelegate : AVAudioPlayerDelegate {
- (void)foo;
}
@end
@interface AudioTrack : AVAudioPlayer {
}
@end
Run Code Online (Sandbox Code Playgroud) 所有HTTP响应都要求客户端启动它们,甚至是使用AJAX创建的响应.但是,GMail的聊天功能可以接收来自其他用户的消息,即使我只是坐在舒适的电脑椅上观看但没有与浏览器交互.他们是如何做到的呢?
我们要求我们的 Web 应用程序能够进行邮件合并并生成一些 Word 文档。当然,使用 Word 自动化很容易做到这一点,但 Microsoft 不推荐 http://support.microsoft.com/kb/257757。
“Microsoft 目前不建议也不支持从任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)实现 Microsoft Office 应用程序的自动化,因为 Office 可能会表现出不稳定的行为,并且/或当 Office 在此环境中运行时出现死锁。”
在这种情况下人们通常会做什么?只要接受 Word 偶尔会挂起或寻求某些第三方解决方案即可。
ajax ×1
algorithm ×1
arrays ×1
audio ×1
automation ×1
breakpoints ×1
c# ×1
c++ ×1
chat ×1
comet ×1
debugging ×1
delphi ×1
delphi-2009 ×1
generics ×1
geometry ×1
gmail ×1
intersection ×1
iphone ×1
java ×1
line-segment ×1
math ×1
memorystream ×1
ms-word ×1
objective-c ×1
performance ×1
sequence ×1
string ×1
unicode ×1
xml ×1