我正在使用HTML Canvas使用以下应用程序:http://driz.co.uk/particles/
目前设置为640x480像素,但我想将其全屏显示,因为它将显示为投影仪.但是据我所知,除了数字而不是%之外,我不能将画布大小设置为100%作为变量.使用CSS只是拉伸它而不是使它实际全屏.
有任何想法吗?
编辑:尝试使用jQuery找到高度和宽度,但它打破画布任何想法为什么?
var $j = jQuery.noConflict();
var canvas;
var ctx;
var canvasDiv;
var outerDiv;
var canvasW = $j('body').width();
var canvasH = $j('body').height();
//var canvasW = 640;
//var canvasH = 480;
var numMovers = 550;
var movers = [];
var friction = .96;
var radCirc = Math.PI * 2;
var mouseX, mouseY, mouseVX, mouseVY, prevMouseX = 0, prevMouseY = 0;
var isMouseDown = true;
function init()
{
canvas = document.getElementById("mainCanvas");
if( canvas.getContext )
{
setup(); …Run Code Online (Sandbox Code Playgroud) 我试图将一些数据插入文件的中间.我已在附加模式下打开文件:
file = fopen(msg->header.filename, "ab");
Run Code Online (Sandbox Code Playgroud)
然后,我尝试在文件中寻找所需的偏移量,如下所示:
fseek(file, msg->header.offset, SEEK_SET);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试fwrite时:
int bytesWritten = fwrite(msg->message, 1, msg->header.length, file);
Run Code Online (Sandbox Code Playgroud)
所有数据都写入文件的末尾而不是文件的中间.
这是因为我正在使用追加模式吗?我会在写模式下打开,但我需要保留文件中的现有内容.
构造函数初始化列表中的执行顺序是否可确定?我知道成员中的成员顺序是这些成员初始化的顺序,但如果我有这样的场景:
class X()
{
X_Implementation* impl_;
};
and then providing that allocator is available:
X::X():impl_(Allocate(sizeof(X_Implementation)))//HERE I'M ALLOCATING <--1
,impl_(Construct<X_Implementation>(impl_))//AND HERE I'M CONSTRUCTING <--2
{
}
Run Code Online (Sandbox Code Playgroud)
但为了使这个可靠,这个顺序必须是从左到右.它是由GREAT BOOK OF std保证还是不保证?如果不是,我总是可以将第二条线移动到身体中.
我的目标是让一个程序在后台休眠,但可以由用户通过一些"热键"激活.从挖掘Xlib手册和Xlib O'reilly手册开始,我认为正确的方法是使用XGrabKey.但是我对这个过程的理解是不正确的,因为简单的概念证明不起作用.
我的理解是,如果我叫XGrabKey与根窗口作为grab_window和owner_events假,每当我的热键按下事件,然后将发送只到根窗口.如果我然后从根窗口选择KeyPress事件,然后侦听X事件,我应该在按下热键时获得按键事件.我在下面粘贴了一个最小的例子.
我期望的是,当程序运行时,无论哪个窗口有焦点,如果按下Ctrl + Shift + K,我的程序应输出"热键被按下!" 在控制台中,然后终止.
此外,我的理解是,如果XGrabKey失败,默认错误处理程序将显示一条消息,因为它不是我假设调用成功.
显然,我的理解在某种程度上是有缺陷的.谁能指出我正确的方向?
#include <iostream>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
using namespace std;
int main()
{
Display* dpy = XOpenDisplay(0);
Window root = DefaultRootWindow(dpy);
XEvent ev;
unsigned int modifiers = ControlMask | ShiftMask;
int keycode = XKeysymToKeycode(dpy,XK_Y);
Window grab_window = root;
Bool owner_events = False;
int pointer_mode = GrabModeAsync;
int keyboard_mode = GrabModeAsync;
XGrabKey(dpy, keycode, modifiers, grab_window, owner_events, pointer_mode,
keyboard_mode);
XSelectInput(dpy, root, KeyPressMask );
while(true)
{
bool shouldQuit = false;
XNextEvent(dpy, …Run Code Online (Sandbox Code Playgroud) 我试图让这个工作一百万次.我已经独自放了一个星期然后回来了.我用谷歌搜索并阅读了与此有关的每篇文章.在没有找到答案的情况下,我让不安全的傻瓜在消息组中贬低.我只想让它发挥作用.当我在Django教程的第三部分中进行操作时,我将进入为索引页面制作模板的部分,当我在浏览器中进行检查时,它会出现TemplateDoesNotExist at /polls/.我已签文件的所有权,移动它周围的一切,总是在不断变化的TEMPLATES_DIR在setting.py.我已将文件的内容传递给cat以确保其正常工作.为了让这个工作起来,我为奇怪的上帝牺牲了动物.我现在转向你.我确信这是最愚蠢的事情,我对此毫无疑问.我只是想让它发挥作用.
我不确定你想要/需要的代码/回溯的哪些部分,让我知道我会发布它们.我在Ubuntu 10.10上这样做
编辑
来自settings.py:
TEMPLATE_DIRS = (
"home/kevin/first/tutorial/temps"
)
Run Code Online (Sandbox Code Playgroud)
这曾经住过〜,但我搬进了项目文件夹,认为这会有所帮助.
结构(省略所有编译的python文件):
~/first/tutorial/:
__init__.py,
manage.py,
polls,
settings.py,
temps,
tut.db,
urls.py
temps:
index.html
polls:
admin.py,
__init__.py,
models.py,
tests.py,
views.py,
Run Code Online (Sandbox Code Playgroud) 我想防止删除特定记录。此触发器适用于该特定记录。但是,其他记录在删除时仍然保留。为什么?
ALTER TRIGGER [Globalization].[CountriesTracker]
ON [Globalization].[Countries]
INSTEAD OF DELETE
AS
BEGIN
SET NOCOUNT ON;
IF ((Select COUNT(*) from [Deleted]
Where [Deleted].[CountryId] = '36bd1536-fb56-4ec4-957e-1b3afde16c56') = 1)
BEGIN
RAISERROR('You can not delete this specific record!', 0, 0)
ROLLBACK TRANSACTION
RETURN
END
END
Run Code Online (Sandbox Code Playgroud)
如何确保不符合上述条件的行按预期被删除?
我想在C#中创建一个无法接受焦点的表单,即当我单击表单上的按钮时,焦点不会从当前具有焦点的应用程序中被盗.
有关此示例,请参阅Windows屏幕键盘.请注意,单击按钮时,焦点不会从您当前使用的应用程序中获取.
我该如何实现这种行为?
更新:
事实证明它就像覆盖CreateParams属性和添加WS_EX_NOACTIVATE到扩展窗口样式一样简单.谢谢你指点我正确的方向!
不幸的是,这会带来不良的副作用,它会因形状移动而混乱,即您仍然可以在屏幕上拖放窗体,但拖动时窗口的边框不会显示,因此难以精确定位.
如果有人知道如何解决这个问题,将不胜感激.
我在一些文章中读到DAO对于hibernate并不是强制性的,它的实现是"依赖于",换句话说,我们可以在ORM与DAO模式之间进行选择.
好吧,我们假设我不想使用DAO模式,所以我只使用会话CRUD和hibernate提供的查询操作(我的ORM).
特别是对于"搜索"和"查找"查询来说,总是重写它们是不正确的,所以合理的想法就是把它们放到一个类中.
但是这个类是一个简单的DAO,没有DAO模式和DAOFactory的所有实现,只是DAO的轻量级实现.所以,重点是我们总是需要一个DAO,选择是重DAO实现还是轻量级DAO实现?
我说的是错的?
编辑 我的另一个问题是放置dao交互,例如我必须登录用户并写入登录日志(我知道无用的例子......)
所以在DAO模式中,我有所有泛型dao实现,DAOFactory,最后是UserHibernateDAO和LogHibernateDAO.登录操作是一种业务方法:
private void login(String username, String password){
daoFactory.beginTransaction();
UserDAO userDao=daoFactory.HIBERNATE.getUserDao();
LogDAO logDao=daoFactory.HIBERNATE.getLogDao();
if(userDao.checkAccount(username, password){
User user=userDao.findByAccount(username, password);
logDao.save(new Log("log-in", user);
}
daoFactory.commit();
}
Run Code Online (Sandbox Code Playgroud)
这合理吗?我可以用这种方式使用dao吗?如果我想要处理异常,那么更好的地方就是业务逻辑?
EDIT2 让我们假设使用DAO模式,这样做的主要原因是能够在tecnhology(ORM-> JDBC等等)之间切换,一切都很好,但是我可以在哪里处理hibernate会话和事务?我不能把它放到DAO中,这是anty模式,我不能把它放到服务层,因为在hipohtetycal开关我必须删除所有这个交易(因为其他技术可能不会使用它们).
JavaScript 1.7中可用的新机制之一是yield,对于生成器和迭代器很有用.
目前仅在Mozilla浏览器中支持(我知道).有哪些方法可以在不可用的浏览器中模拟此行为?