我正在创建一个家谱计划.我的问题是如何定位节点?最初我将根定位在我的屏幕的中心,如果它是一个完美的二叉树并且水平非常低,它可以正常工作.然而,情况并非最常见.这是一个示例树: -
A
B C
D E F I J
K L N O
Run Code Online (Sandbox Code Playgroud)
如您所见,主要问题是关于节点的位置.如果一个节点有很多子节点并且它的相邻节点也有很多子节点,它们往往会重叠.(主要问题)我在Silverlight中使用Canvas对节点进行绝对定位.如果您不是Silverlight开发人员,则可能不会烦恼Silverlight和Canvas部分.我只需要如何定位节点的逻辑.
通过知道树的级别总数,树的高度可以很容易地计算出来,但是树的宽度让我很烦恼.如何计算树的宽度(画布的总宽度)
有人可以给我一些关于如何设置画布宽度的一般指导,以及哪些逻辑对于节点的定位是完美的.
注意: -我不是要求整个算法,这不是我的功课.我已经有了算法和数据库.我只需要节点定位部分的指南.
提前致谢 :)
我正在使用MediaRecorder进行应用程序,我想显示录制音频的时间限制.MediaRecorder仅用于录制语音.任何人都知道如何在MediaRecorder上显示时间.
表中有一个时间戳列/字段,格式如下
2009-12-05 10:35:28,
Run Code Online (Sandbox Code Playgroud)
现在我想从那时起以分钟(已经过了多少分钟)的时间来获得时间,怎么做?
我开始使用Zend Framework,并创建了一个合适的模型,该模型将数据保存回数据库表中。我遇到的问题是sql语句试图插入'?' 作为数据库中每一列的值。我创建了以下保存函数,该函数将数据数组传递给DBtable适配器函数:
public function save() {
$data = $this->getData();
if ($data['pageId']==0) {
$this->getDbTable()->insert($data);
} else {
$this->getDbTable()->update($data, array('pageId = ?' => $data['pageId']));
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎经历了适当的动作,但是该项目未添加到数据库,并且MySql日志中的sql语句类似于:
insert into DB_Table ('pageId','title','body') values ('?', '?', '?');
Run Code Online (Sandbox Code Playgroud)
不太确定它在哪里下降,将不胜感激地收到任何指针。
谢谢