我正在使用StarUml来绘制一些组件对话框,但是我发现很难直线做直线.
在visio中,当我想绘制一条水平直线时,我可以使用我的keybordl中的"Shift"键,如何在StarUml中执行此操作?
我有一个复杂的查询,执行如下:
if ($stmt = $dbi->prepare($pt_query)) {
$stmt->bind_param('ssssssssi', $snome,$scognome,$ssocieta,$svia,$slocalita,$sprovincia,$scap,$stelefono,$sfax,$uid);
$stmt->execute();
echo $dbi->error;
$stmt->close();
} else {
printf("Error -> %s\n", $dbi->error);
}
Run Code Online (Sandbox Code Playgroud)
这件事没有任何错误就失败了,它只是不更新数据库.由于在此之前有大量数据需要处理,我想知道是否有任何方法可以显示mysqli正在执行的实际查询,以便了解问题所在.
谢谢.
我正在使用SetWindowTheme和SendMessage使.net listview看起来像vista样式列表视图,但.net控件仍然在所选项目周围有一个虚线选择边框:

资源管理器列表视图中的所选项目周围没有该边框.我该如何删除它?
Windows资源管理器:

编辑:解决方案:
public static int MAKELONG(int wLow, int wHigh)
{
int low = (int)LOWORD(wLow);
short high = LOWORD(wHigh);
int product = 0x00010000 * (int)high;
int makeLong = (int)(low | product);
return makeLong;
}
SendMessage(olv.Handle, WM_CHANGEUISTATE, Program.MAKELONG(UIS_SET, UISF_HIDEFOCUS), 0);
Run Code Online (Sandbox Code Playgroud) 尝试对XML文档进行简单的解析.取出下面两个PropertyGroups的最简单方法是什么?
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1
</PropertyGroup>
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用XElement.Elements(XName),但为了这样做,我需要在PropertyGroup前加上xmlns.问题是我不关心名称空间,如果它将来发生变化,我仍然希望检索所有PropertyGroups.
var xml = XElement.Load(fileNameWithPath);
var nameSpace = xml.GetDefaultNamespace();
var propertyGroups= xml.Elements(nameSpace + "PropertyGroup");
Run Code Online (Sandbox Code Playgroud)
您是否可以改进此代码,以便我不需要使用nameSpace作为前缀?我知道我基本上可以重新实现Elements方法,但我希望有一些方法来传递通配符名称空间?
谢谢,
加文
我正在使用PreferenceActivity让用户设置一些值.我正在使用定义的首选项为xml文件提供它.
我android:defaultValue=""为他们设置了全部.
当我启动我的应用程序时,我需要首选项,或者如果它们尚未手动设置,我想要默认值:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean value = prefs.getBoolean("key"), false);
Run Code Online (Sandbox Code Playgroud)
但是,当android:defaultValue="true"我还是得到的时候false.因此,看起来XML中设置的defaultValues不会在初始化首选项屏幕时使用.
我不想硬编码方法中的默认值getBoolean().那么,有没有办法获得默认值,只在一个地方定义这些?
我有一个HQL查询:
query = select item.itemNumber from items item where item.stock>0 and item.price<100.00
Run Code Online (Sandbox Code Playgroud)
我想解析此查询并将其转换为树结构:
AST queryTree = parse(query);
Run Code Online (Sandbox Code Playgroud)
比我喜欢迭代节点,更改一些值,并将树转换回字符串表示:
Iterator<ASTNode> it = queryTree.nodeIterator();
while(it.hasNext())
{
ASTNode node = it.next();
System.out.println( node.text() + "->" + node.value() );
}
query = queryTree.toString();
Run Code Online (Sandbox Code Playgroud)
如果parse方法在违反HQL语法的情况下抛出异常会很好,但不是必需的.有谁知道如何实现这一目标?是否有任何hibernate提供的API方法来完成该任务?
谢谢,
我在使用Python处理大文件时遇到问题.我正在做的就是
f = gzip.open(pathToLog, 'r')
for line in f:
counter = counter + 1
if (counter % 1000000 == 0):
print counter
f.close
Run Code Online (Sandbox Code Playgroud)
这需要大约10m25s才能打开文件,读取行并递增此计数器.
在perl中,处理相同的文件并执行更多(一些正则表达式),整个过程大约需要1m17秒.
Perl代码:
open(LOG, "/bin/zcat $logfile |") or die "Cannot read $logfile: $!\n";
while (<LOG>) {
if (m/.*\[svc-\w+\].*login result: Successful\.$/) {
$_ =~ s/some regex here/$1,$2,$3,$4/;
push @an_array, $_
}
}
close LOG;
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我能做些什么来使Python解决方案以与Perl解决方案类似的速度运行?
编辑 我尝试解压缩文件并使用open而不是gzip.open处理它,但这只会将总时间更改为大约4m14.972s,这仍然太慢.
我还删除了modulo和print语句,并用pass替换它们,所以现在所做的就是从一个文件移到另一个文件.
当我尝试对以下文本文件'input'进行排序时:
test1 3
test3 2
test 4
Run Code Online (Sandbox Code Playgroud)
用命令
sort input
Run Code Online (Sandbox Code Playgroud)
输出正好是输入.这是输出
od -bc input
Run Code Online (Sandbox Code Playgroud)
:
0000000 164 145 163 164 061 011 063 012 164 145 163 164 063 011 062 012
t e s t 1 \t 3 \n t e s t 3 \t 2 \n
0000020 164 145 163 164 011 064 012
t e s t \t 4 \n
0000027
Run Code Online (Sandbox Code Playgroud)
它只是一个带有两列的制表符分隔文件.当我做
sort -k 2
Run Code Online (Sandbox Code Playgroud)
输出变为
test3 2
test1 3
test 4
Run Code Online (Sandbox Code Playgroud)
这是我所期待的.但如果我这样做
sort -k 1
Run Code Online (Sandbox Code Playgroud)
关于输入没有任何变化,而我希望'test'在'test1'之前排序.最后,如果我这样做 …
我用@Singleton,@ Schedudu和@Timeout注释创建了一个简单的例子来试试它们是否可以解决我的问题.
场景是这样的:EJB每5秒调用一次'check'函数,如果满足某些条件,它将创建单个动作计时器,以异步方式调用一些长时间运行的进程.(这是一种队列实现类型的东西).然后它继续检查,但是在长时间运行的过程中,它不会启动另一个.
下面是我提出的代码,但是这个解决方案不起作用,因为它看起来像我正在制作的异步调用实际上阻止了我的@Schedule方法.
@Singleton
@Startup
public class GenerationQueue {
private Logger logger = Logger.getLogger(GenerationQueue.class.getName());
private List<String> queue = new ArrayList<String>();
private boolean available = true;
@Resource
TimerService timerService;
@Schedule(persistent=true, minute="*", second="*/5", hour="*")
public void checkQueueState() {
logger.log(Level.INFO,"Queue state check: "+available+" size: "+queue.size()+", "+new Date());
if (available) {
timerService.createSingleActionTimer(new Date(), new TimerConfig(null, false));
}
}
@Timeout
private void generateReport(Timer timer) {
logger.info("!!--timeout invoked here "+new Date());
available = false;
try {
Thread.sleep(1000*60*2); // something that lasts for a bit
} …Run Code Online (Sandbox Code Playgroud)