在Delphi中检查值是否为日期/数字的正确方法是什么?
我知道其他语言有像isDate和isNaN这样的函数,但Delphi的等价物是什么?在我有这个的那一刻
function isNumeric(s1:string):boolean;
begin
// will throw exception if its not a number
// there must be a better way to do this!!
try
StrTofloat(s1);
result := TRUE ;
except
result := FALSE;
end;
end;
Run Code Online (Sandbox Code Playgroud)
但抛出异常不能很好,而且每次调用代码时我都会看到异常对话,这会使调试变得困难.
我想知道这一点,以便了解为什么像马里奥这样的游戏今天还在玩,而且没有别的.这是为了在未来的游戏项目中实现.
开发游戏最重要的因素是什么?
游戏或图形?都?
编辑:
可能结合这两个?
David Flanagan关于JavaScript的优秀书籍有一个例子,展示了如何在IE中执行XPath查询.在第5版的第518页,您可以看到以下从示例21-10中获取的代码段:
// In IE, the context must be an Element not a document,
// so if the context is a document, use the documentElement instead
if (context == doc) context = doc.documentElement;
return context.selectNodes(this.xpathText);
Run Code Online (Sandbox Code Playgroud)
我发现这个代码是绝对必要的.看来(虽然我不明白为什么)IE浏览器上的XMLHttpRequest似乎随机返回对接收到的XML或documentElement对应的文档的引用.这里发生了什么事?
我正在编写一个应用程序,第三方供应商可以编写插件DLL并将其放入Web应用程序的bin目录中.我希望这些插件能够在必要时注册自己的HttpModule.
无论如何,我可以在运行时向管道添加或删除HttpModule,而无需在Web.Config中有相应的条目,或者在添加/删除模块时是否必须以编程方式编辑Web.Config?我知道无论哪种方式都会导致AppDomain重启,但我宁愿能够在代码中执行它,而不是为了实现相同的效果而捏造web.config.
根据这篇MSDN文章, HttpApplication .EndRequest可用于关闭或处理资源.但是,在我的应用程序中不会触发/调用此事件.
我们通过以下方式在Page_Load中附加处理程序:
HttpContext.Current.ApplicationInstance.EndRequest += ApplicationInstance_EndRequest;
Run Code Online (Sandbox Code Playgroud)
唯一的方法是使用Global.asax中的Application_EndRequest处理程序,但这对我们来说是不可接受的.
我正在寻找在不同地方使用相同数据的最佳实践,而不必重复自己 - 这可能包括配置或业务规则.
示例1.要使用javascript在客户端上进行验证的数据验证规则,但您希望通过在服务器上进行验证来确保.
示例2.数据库访问,其中您的Web服务器和您的cronjobs使用相同的密码,用户名.
易于处理和人类可读的解决方案将是一个加号.
所有数字均匀分配为x.
我输入4它返回:4,2,1
编辑:我知道这听起来像家庭作业.我正在编写一个小应用程序,用半随机测试数据填充一些产品表.其中两个属性是ItemMaximum和Item Multiplier.我需要确保乘数不会产生不合逻辑的情况,即购买1个项目会使订单超过允许的最大值.因此,这些因子将为我的测试数据提供有效值列表.
编辑++:这是我在所有人的帮助下使用的内容.再次感谢!
编辑#:我写了3个不同的版本,看看我更喜欢哪个版本,并测试它们以防止小数字和非常大的数字.我会粘贴结果.
static IEnumerable<int> GetFactors2(int n)
{
return from a in Enumerable.Range(1, n)
where n % a == 0
select a;
}
private IEnumerable<int> GetFactors3(int x)
{
for (int factor = 1; factor * factor <= x; factor++)
{
if (x % factor == 0)
{
yield return factor;
if (factor * factor != x)
yield return x / factor;
}
}
}
private IEnumerable<int> GetFactors1(int x)
{
int max = (int)Math.Ceiling(Math.Sqrt(x));
for (int factor = …Run Code Online (Sandbox Code Playgroud) VS2008代码分析将使用IdentifiersShouldBeSpelledCorrectly警告类型标记标识符中的拼写错误.
默认情况下,此过程使用美国字典,因为正在使用英语拼写标记正确拼写的单词.例如,"组织"和"定制"等词......
我知道你可以创建自己的自定义Xml字典文件,其中包含你不想被标记的任何单词,但是,任何人都可以告诉我你是否可以配置代码分析以使用不同的默认(或附加)字典在Windows中可用吗?
将数据存储到网络上的文件的最佳方法是什么,稍后将以编程方式再次读入该文件.该程序的目标平台是Linux(Fedora),但它需要将文件写入Windows(XP)机器
这需要在C++中,会有大量的写/读事件,因此需要高效,并且需要以可以轻松读回的方式写出数据.
可能没有读回整个文件,我需要在文件中搜索特定的数据块并将其读回.
请问简单的二进制流编写器吗?我应该如何存储数据 - XML?
还有什么我需要担心的吗?
更新:澄清一下,这里是peterchen的观点的一些答案
请澄清:
*你只是附加块,还是你还需要删除/更新它们?
我只需要附加到文件的末尾,但需要搜索它并从中检索任何点
Run Code Online (Sandbox Code Playgroud)*** are all blocks of the same size?**
不,数据的大小会有所不同 - 有些将是自由文本注释(如此处的帖子)其他将是特定的对象类数据(参数集)
Run Code Online (Sandbox Code Playgroud)*** is it necessary to be a single file?**
不,但可取
Run Code Online (Sandbox Code Playgroud)*** by which criteria do you need to locate blocks?**
按数据类型和时间戳.例如,如果我定期写出一组特定的参数,那么在其他数据中,比如自由文本,我想在一个日期/时间找到这些参数的值 - 所以我需要搜索时间我写出那些最接近那个日期的参数并将它们读回来.
Run Code Online (Sandbox Code Playgroud)*** must the data be readable for other applications?**
没有.
Run Code Online (Sandbox Code Playgroud)*** do you need concurrent access?**
是的,我可能会继续写作.但是应该一次只写一次.
Run Code Online (Sandbox Code Playgroud)*** Amount of data (per block / total) - kilo, mega, giga, tera?**
每次写入的数据量都很低......从一些字节到一百个字节 - …
.net ×2
asp.net ×2
c# ×1
c++ ×1
delphi ×1
dry ×1
file ×1
file-io ×1
httpmodule ×1
javascript ×1
math ×1
unit-testing ×1
web-config ×1
xpath ×1