基本上,我正在尝试实现一个与Google Reader界面中内置的阅读窗格类似的系统.
如果您还没有看到它,Google阅读器会在单独的框中显示每篇文章,当您滚动它时会突出显示当前框(并将文章标记为已读).除此之外,您还可以通过单击UI中的上一个和下一个按钮在文章列表中向前或向后移动.
我基本上已经弄明白了如何完成大部分功能.但是,我不确定如何确定可滚动窗格中当前可见的div中的哪些div.
我有一个设置为溢出的div:auto.在这个div的内部,还有其他div,每个div都包含一段内容.我使用了以下jquery插件,只需单击"下一个"或"上一个"按钮即可进行所有滚动,它就像一个魅力:
http://demos.flesler.com/jquery/serialScroll/
但我无法分辨哪个div在可滚动窗格中具有"焦点".我希望能够做到这一点有两个原因.
我想突出显示用户当前正在阅读的项目(类似于Google阅读器).我需要这样做,无论他们是否使用插件到达那里或使用浏览器的滚动条.
我需要能够告诉插件哪个项目具有焦点,以便我滚动到"下一个"窗格的调用实际上使用当前查看的窗格(而不仅仅是插件滚动的前一个窗格).
我试过做一些搜索,但我似乎无法找到一种方法来做到这一点.我找到了很多方法来滚动到一个特定的项目,但我找不到一种方法来确定哪个元素在溢出的div中可见.如果我可以确定哪些项目是可见的,我可以(可能)弄清楚剩下的.
如果有帮助的话,我正在使用jquery.谢谢!
我在PL/SQL中寻找相当于Java的thread.join().即我想开始一些工作(线程),然后等待它们完成.
这怎么可能在PL/SQL中?
我正在考虑使用dbms_job.submit(我知道它已被弃用).dbms_scheduler也是一种替代方案.
我的代码:
DECLARE
jobno1 number;
jobno2 number;
BEGIN
dbms_job.submit(jobno1,'begin dbms_lock.sleep(10); dbms_output.put_line(''job 1 exit'');end;');
dbms_job.submit(jobno2,'begin dbms_lock.sleep(10); dbms_output.put_line(''job 2 exit'');end;');
dbms_job.run(jobno1);
dbms_job.run(jobno2);
//Need code to Wait for jobno1 to finish
//Need code to Wait for jobno2 to finish
END;
Run Code Online (Sandbox Code Playgroud) 我正在为MP3(CBR)编写流媒体应用程序.它是所有passthru,意味着我不需要解码/编码,我只需要传递数据,因为我看到它来了.我希望能够计算MP3帧,因为它们通过(以及其他一些东西,如吞吐量计算).
根据MP3帧标题规范,同步字似乎是1的11(11)位,但是我(自然地)注意到我应该安全地假设为二进制的帧有效载荷,因此它看起来并不奇怪.十一(11)1顺序.
我的问题:
dd-style)可以从MP3文件/管道中提取编号的帧?谢谢,
这是一个非常简单的问题,但我找不到答案:
在F#中是否有任何Seq/List操作来匹配LINQ SelectMany?
但是,如果我试图证明F#List操作比LINQ更强大......
在C#SelectMany使用语法非常简单:
var flattenedList = from i in items1
from j in items2
select ...
Run Code Online (Sandbox Code Playgroud)
有没有简单的直接匹配,List.flatten,List.bind或类似的东西?
SelectMany有几个签名,但最复杂的签名似乎是:
IEnumerable<TResult> SelectMany<TSource, TCollection, TResult>(
this IEnumerable<TSource> source,
Func<TSource, IEnumerable<TCollection>> collectionSelector,
Func<TSource, TCollection, TResult> resultSelector
);
Run Code Online (Sandbox Code Playgroud)
在F#术语中,这将是:
('a -> 'b list) -> ('a -> 'b -> 'c) -> 'a list -> 'c list
Run Code Online (Sandbox Code Playgroud) IDE Object Inspector使用下拉ColorBox显示TColor属性,颜色可以通过名称选择 - clBlack等,如图形单元中所定义.问题是在图形单元中定义的clWeb颜色不存在,我定义的任何自定义颜色也不存在.
那么如何扩展Object Inspector中可选择的已定义颜色?
PS Delphi XE
我遇到了wxPython的问题.下面发布了代码的简化版本(删除了空格,注释等以减小大小 - 但我的程序的一般格式保持大致相同).当我运行脚本时,静态文本正确地包装,但面板中的其他项不会向下移动(它们就好像静态文本只有一行,因此并不是所有内容都可见).如果我手动调整窗口/框架的大小,即使只是很小的数量,一切都会得到纠正并按原样显示.我拍摄了屏幕截图来显示这种行为,但我刚创建了这个帐户,因此没有必要的10个声望点可以发布图片.
为什么开始时显示不正确?我尝试了GetParent().Refresh()或Update()和GetTopLevelParent().Update()或Refresh()的各种组合.我已经尝试了所有我能想到的但却无法在不手动调整框架/窗口大小的情况下正确显示它.一旦重新调整大小,它就会按照我的要求运行.
信息:
Windows XP
Python 2.5.2
wxPython 2.8.11.0(msw-unicode)
有什么建议?谢谢!
码:
#! /usr/bin/python
import wx
class StaticWrapText(wx.PyControl):
def __init__(self, parent, id=wx.ID_ANY, label='', pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.NO_BORDER,
validator=wx.DefaultValidator, name='StaticWrapText'):
wx.PyControl.__init__(self, parent, id, pos, size, style, validator, name)
self.statictext = wx.StaticText(self, wx.ID_ANY, label, style=style)
self.wraplabel = label
#self.wrap()
def wrap(self):
self.Freeze()
self.statictext.SetLabel(self.wraplabel)
self.statictext.Wrap(self.GetSize().width)
self.Thaw()
def DoGetBestSize(self):
self.wrap()
#print self.statictext.GetSize()
self.SetSize(self.statictext.GetSize())
return self.GetSize()
class TestPanel(wx.Panel):
def __init__(self, *args, **kwargs):
# Init the base class
wx.Panel.__init__(self, *args, **kwargs)
self.createControls()
def createControls(self):
# --- …Run Code Online (Sandbox Code Playgroud) 我正在将一些简单的MySQL存储过程转换为PostgreSQL函数,出于某种原因,当我执行以下函数时,它会在执行时抛出错误.
我使用以下代码创建了该函数:
CREATE FUNCTION cc.fs_ivr_updatecalltransfer(_ParentContactID
int[11], _CalledID varchar[32])
RETURNS int AS $$
DECLARE
pcID int;
BEGIN
if _ParentContactID<>0 then
update cc.tblcontacts set cc.tblcontacts.transferdest =
_CalledID where cc.tblcontacts.contactid =
_ParentContactID;
end if;
RETURN _ParentContactID;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我像这样手动执行:
SELECT cc.fs_ivr_updatecalltransfer(3,"test")
Run Code Online (Sandbox Code Playgroud)
它抛出此错误:
SQL error:
ERROR: column "test" does not exist
LINE 1: SELECT cc.fs_ivr_updatecalltransfer(3,"test")
In statement: SELECT cc.fs_ivr_updatecalltransfer(3,"test")
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我应该检查是否需要在构造函数中有效的值传递空值?换句话说,如果我在获取无效值时抛出类,或者我应该让它在它尝试对它执行某些操作之前让它运行,让运行时引发异常?
我想如果传递一个空值是一个错误,我应该在构造函数中对待它?
我有一个运行PostgreSQL v9.0的(生产)数据库服务器和一个运行PostgreSQL v8.4的开发机器.我想转储生产数据库并在开发机器上使用它.我无法升级dev机器上的postgres.
在生产机器上,我运行:
pg_dump -f nvdls.db -F p -U nvdladmin nvdlstats
Run Code Online (Sandbox Code Playgroud)
在开发机器上,我运行:
pg_restore -d nvdlstats -U nvdladmin nvdls.db
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
pg_restore: [archiver] unsupported version (1.12) in file header
Run Code Online (Sandbox Code Playgroud)
无论我在转储时选择自定义,tar还是plain_text格式,都会发生这种情况.
我在网上发现了一个讨论,建议我pg_restore在开发机器上使用更新版本.我通过简单地将9.0二进制文件复制到开发机器来尝试这一点,但由于链接问题,这会失败(不会出乎意料).
我认为使用plain_text转储的意义在于它将是原始的可移植SQL.显然不是.
如何将9.0 DB安装到我的8.4安装中?