小编The*_*One的帖子

Java中没有"tryParseDouble"?

可能重复:
如何检查String是java中的数字类型

我看到我可以通过使用解析String成a .doubleDouble.parseDouble

既然那个人可能会抛出一个NumberFormatException,我不想通过异常进行编程,我会犹豫将parseDouble调用放入try/ catchblock只是为了检查字符串是否可以解析成a double.

在Delphi中,有TryParseInt(我认为),如果字符串无法解析为,则返回一个定义的值(我认为是-1)Integer.

在Java中没有类似的东西?我的意思是:没有标准的方法可以做到这一点?

java

8
推荐指数
2
解决办法
2万
查看次数

如何提高purePDF的性能?

我在Flex AIR应用程序中使用开源PurePDF库.问题是性能:

它需要100%的CPU使用率并且太长而无法生成PDF.

  • 我对它做了一些分析,发现用pdf写的文本很昂贵.这就是我需要知道如何提高性能的原因.是否有任何字体的pdf生成成本较低,或者是否有一些设置或提示可以使这个过程在性能方面有所改善?

  • 其次,在图像的情况下,将该元素写入PDF时,ImageElement生成非常昂贵.有没有办法减少处理?

同时,我找到了一种方法来减少ImageElement生成处理,方法是使用flex调整图像大小,然后将小图像的位图数据传递给图像元素.它工作正常,我已经在很大程度上减少了执行时间.有没有人有其他问题的想法?

  • 是否有任何方法可以告诉PDF以块的形式工作或以可能需要更多时间来完成工作的方式划分工作,但是在生成PDF时不会阻止GUI?

请帮忙 - 提前谢谢.

apache-flex printing api performance pdf-generation

7
推荐指数
1
解决办法
1186
查看次数

SQL SELECT在父ID组织树中查找循环引用?

带有循环引用的"Fun":

假设我有一个表ELEMENTS,它包含一个由父ID建模的元素层次结构.

对于root,父ID字段为空.

所有其他记录都具有ID父元素的(autosequenced)主键()的非null父id .

例如,使用

SELECT *
FROM Elements
WHERE FATHER_ID not in (SELECT ID FROM Elements)
Run Code Online (Sandbox Code Playgroud)

我可以找到所有具有无效父引用的元素(FATHER_ID不是外键,我们假设在这个例子中).

但是,我怎样才能找到具有有效父引用BUT的元素,其父引用链不会以根结尾?我认为这只能发生在循环引用上,例如A是B的父亲,但B也是A的父亲.这样的"子树"没有链接到根,因此不是主树的一部分.我想找到这样的子树.

当然,我正在寻找一个查询来提供那些导致循环引用的元素,无论引用链可能有多长.

这可能在SQL中,还是需要迭代解决方案?

sql oracle cyclic-reference

6
推荐指数
1
解决办法
4837
查看次数

如何获取测试对象的逻辑名称(存在于关联的共享OR中)?

我们说我传递Browser("MyBrowser").Page("MyPage").WebCheckBox("MyBox")给一个函数:

MyFunction (Browser("MyBrowser").Page("MyPage").WebCheckBox("MyBox"))
Run Code Online (Sandbox Code Playgroud)

稍后,该函数想要记录所接收的测试对象的逻辑名称(在这种情况下,当然是"MyBox").

怎么会这样呢?

"name"测试对象属性返回重新添加测试对象时生成的名称. 逻辑名称没有(记录的)测试对象属性. 运行时对象属性不可能包含名称,因为它不是AUT GUI中的名称.

所以我认为测试对象不知道它的名字.只有存储库"知道"测试对象存储在哪个名称下.

所以我将不得不检查存储库本身,而不是测试对象.

ObjectRepositoryUtilAPI允许我(通过GetChildren,或其他方法)来找到repository's测试对象集合中的测试对象,并使用该GetLogicalName方法来得到它的名字.精细.

但是,使其工作的唯一方法是通过加载来获取对存储库的引用.我得到的印象是,这个API旨在操纵(或分析)来自QTP外部的回购,而不是来自测试运行.我不想重新加载存储库.我想在一个已经加载的存储库中查找测试对象.

RepositoriesCollectionAPI可以告诉其加载(通过其名称和路径)我,但它不提供获取的手段引用到对象实例代表的库之一.

那么我怎样才能获得对已经加载的存储库的引用,所以我可以使用GetLogicalName

或者通常问:给定对当前操作的共享存储库中包含的"普通"测试对象的引用,如何以编程方式找到其逻辑名称?

如果有一些超明智QTP向导一拉Motti谁知道这能不能做到,我倒是很欣赏来自他一个答案,即使它写着"不能做"如果这是真的.

qtp hp-uft

6
推荐指数
1
解决办法
8956
查看次数

如何根据当前报告节点获取运行结果状态?

例如,假设一个测试呼叫两个动作,A和B A执行通过调用"失败"步骤"Reporter.ReportEvent micFail, ..."和B进行'’通过调用步骤通过"Reporter.ReportEvent micpass, ..."

Reporter.RunStatusmicFail在A中执行失败步骤后立即返回.因此,即使在B中,B的状态完全为"绿色",也无法在"B"分支中判断出没有"失败"步骤当下.报告的测试运行状态Reporter.RunStatus" micFail从那时开始.

那么我怎样才能获得当前"分支"的运行状态?

我认为我要找的是当前或当前父级Reporter节点的颜色(即运行状态).

qtp hp-uft

6
推荐指数
1
解决办法
5625
查看次数

以编程方式获取Sheet允许的最大列数和行数

在病态的Excel(我使用Office 10)VBA宏中,我需要捕获用户设法创建具有最大列数或行数的工作表的情况.

我不记得是怎么发生的,我也不在乎; 但我们大多数人都看过Excel工作表的有效工作表大小为16384个单元格宽度和/或1048576个单元格高度 - 即使工作表上只有少数非空单元格.

我只想在VBA代码中检测到这种情况.

一个sheet's Rows.CountColumns.Count过程的返回的数字,我可以检查他们是否等于163841048576分别.

但是,这些限制取决于版本.

所以我的问题是:

如何在不编码依赖于版本的if语句的情况下获取VBA中给定Excel工作表中行数和列数的最大限制?每个限制值可能有一个常量,但我找不到它.

注意我不是在寻找大小Worksheet.UsedRange.我想确定是否UsedRange已经扩展到整个可用的"表空间",这通常只是偶然发生,但是 - 它发生了,我想检测那种情况.

我也不是在寻找每个Excel版本的限制.(这很容易谷歌.)我不想硬编码这些值和版本号.

excel vba

6
推荐指数
1
解决办法
1万
查看次数

如何从4D数据库中提取数据?

mime的客户端有一个在4D上运行的旧程序.我不熟悉这种格式,但我有4个文件; 一个.4DC,.rsr,.4DD和一个.4DR文件.

我怀疑数据是在.4DD文件中.如何提取数据?

4d-database

6
推荐指数
3
解决办法
2986
查看次数

VB:脚本主机在"完整"VB中出现时缺少什么?

在VB脚本主机中编程(脚本)时,如何了解实现的内容和不实现的内容?

例如,记录(或:structure关键字)未实现,但类(或:class关键字)未实现.

Dim as <Type>不允许使用所有" as"短语.

您可以在类中创建属性,但也不能创建as任何类型的属性.

您不能从基类继承(" Inherits"关键字未知).

等等.

我看到脚本主机是一个脚本主机,所以保持其功能有限可能是有意义的.

但是,我没有看到这些限制以可访问的,甚至是逻辑的方式记录在某个地方,给出了所有意义.目前,我被迫坚持试错工作流程,并在QTP的在线帮助中单独查找我想到的每一个细节(我可能会发现其他我目前忘记的细节).这是微软设计的现实,还是我忽略了这一点?

问题出现在QTP上,它使用Windows脚本主机作为脚本语言.当然,我可以查找我正在寻找的每一个细节 - 但是,这些是我的主要问题:

在哪里可以找到涵盖脚本主机的各种VBA方言(和版本?)之间语言差异的详细列表或表格?

可以为脚本主机中包含的内容提供(简单)推理吗?

vba programming-languages wsh qtp

5
推荐指数
1
解决办法
274
查看次数

看看Ma,即使Option Explicit有效,我也可以重新定义全局变量 - 但为什么呢?

这是一个很好的疯狂发现:

Option Explicit

ExecuteGlobal "Option Explicit: Dim TestVar: TestVar=41"
ExecuteGlobal "Option Explicit: TestVar=42"

MsgBox "TestVar=" & CStr (TestVar)
Run Code Online (Sandbox Code Playgroud)

按预期工作 - 显示42.

和:

Option Explicit

ExecuteGlobal "Option Explicit: TestVar: TestVar=41"

MsgBox "TestVar=" & CStr (TestVar)
Run Code Online (Sandbox Code Playgroud)

由于未定义TestVar,因此在ExecuteGlobal调用中产生"未定义的变量".好.

明白的是:

Option Explicit

ExecuteGlobal "Option Explicit: Dim TestVar: TestVar=41"
ExecuteGlobal "Option Explicit: Dim TestVar: TestVar=42"

MsgBox "TestVar=" & CStr (TestVar)
Run Code Online (Sandbox Code Playgroud)

不会扔在第二"标识符重新定义" ExecuteGlobal呼叫,但显示42 -如同Dim在第二ExecuteGlobal呼叫中不存在.

如果你对Class声明做同样的事情,一切正常,即你无法在任何情况下重新定义一个类.

我勒个去?

我的问题是:为什么ExecuteGlobal允许我重新定义一个全局变量,而a)ExecuteGlobal禁止访问未声明的变量,b)类定义被区别对待?

我确实有一个导致这种情况的用例(在测试运行时生成源代码并通过ExecuteGlobal执行它,因为某些不那么奇怪的因为你可能期望的原因),但我刚刚提出的要点是有效的,没有我认为现实世界的情景描述.

我使用QTP(HP QuickTest Professional)来解决这个问题,它使用VisualBasic脚本主机引擎进行脚本回放,但它只与VB脚本主机完全相同.

vbscript

5
推荐指数
1
解决办法
1000
查看次数

如何找到(并消除)接口中声明的所有未引用字段?

在消除了一些特定的无意义模式之后,我需要识别并可能删除在某个界面中声明的字段,如下所示:

public interface X
{
    String A = "xxx";
    String B = "zzz";
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用Eclipse的"查找所有引用"作为一个接一个的标识符,但面对成千上万的标记,让它在未来几天看起来像一个非常枯燥的全职工作.

我尝试了Google CodePro和Java编译器可以按需吐出的警告,但是只找到了类中非公共字段的选项,而不是接口中的公共字段.

我的下一个尝试是:将它们全部注释掉,然后浏览错误列表.错误列表中没有的所有字段都可以安全地(在我的情况下!)被删除.这将是一个平淡的日子,也因为不是所有的字段列表,具有积极的参考我要寻找那些所有的字段列表没有任何地方提及.

那么我怎样才能有效地找到所有那些现在没有参考的领域呢?

我的意思是:我认为查看给定项目的那些引用是危险的,因为我的Eclipse工作区不知道的另一个项目可能有引用.这可能是我不在Eclipse或CodePro中提供警告/分析选项的基本原理.

但事实并非如此.如果它不是我的项目中的引用,我想消除它.

java code-analysis codepro

4
推荐指数
1
解决办法
184
查看次数

对多个搜索字段使用通用查询约定

想象一下,我正在建立一个标签搜索.我的主索引类型称为Post,它有一个Hashtag项列表,标记为IndexedEmbedded.另外,每个帖子都有一个Comment对象列表,每个对象都包含一个Hashtag对象列表.

在搜索方面,我使用MultiFieldQueryParser,我传递了一长串可能的搜索字段,包括一些嵌套字段,如:

hashTags.valuecoments.hashTags.value

现在,有趣的事情发生在我想搜索某些东西时,比如#architecture.我找出了主题标签的位置,所以最简单的逻辑做法是将#architecture类型的查询转换为类型之一hashTags.value:architecture or comments.hashTags.value:architecture尽管可能,这是非常不灵活的.如果我想出另一个包含主题标签的字段怎么办?我也必须把它包括在内.

有没有一般的方法来做到这一点?

PS请记住,我正在搜索的根类型是Post,因为这是我想要实现的结果

java lucene hibernate hibernate-search hashtag

3
推荐指数
1
解决办法
646
查看次数

为什么结束括号是一个必须转义为字面值的特殊字符?

很明显,开头括号"(",以及其他字符之间必须转义(以反斜杠为前缀),以便正则表达式包含"文字开口括号":因为有正则表达式选项,"("是一个引导 - 在.

但是,对于结束括号")",怎么会这样呢?没有语法结构具有")"作为引入令牌,是吗?

那么为什么我必须逃避关闭括号才能按字面意思理解?

当然,也可以在其他结束括号中提出同样的问题.

很抱歉这是"为什么会这样?" 题.它可能是无法回答的.但如果一个很好的理由,唯一的办法去了解它是问!

附录:这个问题背后的基本原理是:例如,http://www.regexguru.com/2008/12/dont-escape-literal-characters-that-arent-metacharacters/给出充分的理由不前缀字符don'需要加前缀.

而且imho,在大多数情况下,结束括号不需要加前缀:由于没有开口的结束括号不是正则表达式组的一部分,我发现在这种情况下它需要被转义完全不合逻辑.

regex

2
推荐指数
1
解决办法
152
查看次数