我正在开发一个javascript键盘,试图让用户输入各种非洲语言.目前,这在IE8和Firefox中运行良好但不是谷歌浏览器,我实际上只是坚持这个.我想要完成的是例如,键入(在我的物理键盘上)' q '(keyCode = 113)并获得' ɛ '(keyCode = 603)作为输出,但目前,我的代码在谷歌浏览器中没有任何作用.我的代码的相关部分如下:
var k_layouts = {};
k_layouts.Akan = {88:390,113:603};//keyCode mappings for Akan language
k_layouts.Ga = {120:596,81:400};//keyCode mappings for Ga language
var current_layout = "";
//function that maps the keyCode of a **typed** key to that of the **expected** key
function map_key_code(keycode){
if(k_layouts[current_layout] && k_layouts[current_layout][keycode])
return k_layouts[current_layout][keycode];
return keycode;
}
//function that actually changes the keyCode of a **typed** key to the **expected** value
function handle_keypress(ev){
var ev = ev || window.event;
if(ev.bubbles != …
Run Code Online (Sandbox Code Playgroud) 我有一个双线程应用程序:GUI和一些后台工作.我正在尝试向主线程发送请求以进行GUI更新(移动进度条),但它似乎不起作用.我把它归结为一个非常小的例子:
import pygtk
pygtk.require('2.0')
import glib
import gtk
import threading
import sys
import time
def idle():
sys.stderr.write('Hello from another world.\n')
sys.stderr.flush()
gtk.main_quit()
def another_thread():
time.sleep(1)
glib.idle_add(idle)
thread = threading.Thread(target=another_thread)
thread.start()
gtk.main()
Run Code Online (Sandbox Code Playgroud)
我认为,这应该从主/ GUI线程中打印出标准错误,但没有任何反应.并且它也不会退出,因此gtk.main_quit
不会被调用.
此外,添加更多的输出以stderr
奇怪的行为.如果我将线程的功能更改为:
sys.stderr.write('----\n')
sys.stderr.write('----\n')
sys.stderr.flush()
sys.stderr.write('After.\n')
sys.stderr.flush()
Run Code Online (Sandbox Code Playgroud)
我看到1,有时输出2行.它似乎与主线程进入某种竞争条件gtk.main
,但我不知道为什么会这样.
下午好-
我正在使用LINQ to Entity Framework为数据访问层开发Silverlight应用程序.我的n层数据库模型包括大约30个左右的表,其中包含许多多层次的父子关系.最近开始编写我的数据服务和单元测试,并发现在已经定义父表记录时将新记录插入子表的问题.这是我的父表和子表的删节版本:
父母表:
用户
UserID(PK)
电子邮件
密码
等...
儿童桌:
UserProfiles
UserProfileID(PK)
各种个人资料信息...
用户ID(FK - 用户表)
所以在这一点上,我已经使用Entity Framework为ORM创建了各种类,我希望为我的实体上的CRUD操作创建数据服务.以下是我的方法插入新用户(没有父表引用)的示例代码:
public User CreateUser(User newUser)
{
using (var _context = new ProjectDatabase())
{
newUser.CreatedDate = DateTime.Now;
newUser.ModifiedDate = DateTime.Now;
_context.AddToUsers(newUser);
_context.SaveChanges();
}
return newUser;
}
Run Code Online (Sandbox Code Playgroud)
这很好用.我已经为它编写了单元测试,没问题.另一方面,现在考虑我编写的以下数据服务方法,以将新的UserProfile对象插入数据库.首先,我有一个非常相似的数据服务:
public UserProfile CreateProfile(UserProfile newUserProfile)
{
using (var _context = new ProjectDatabase())
{
newUserProfile.CreatedDate = DateTime.Now;
newUserProfile.ModifiedDate = DateTime.Now;
_context.AddToUserProfiles(newUserProfile);
_context.SaveChanges();
}
return newUserProfile;
}
Run Code Online (Sandbox Code Playgroud)
这个代码就像其他代码一样编译没有问题.但是,我的单元测试始终失败.这是我的单元测试的代码:
[TestMethod]
public void UserProfileCrudTest()
{
IProfileDataService …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将以下sql转换为Linq 2 SQL:
select groupId, count(distinct(userId)) from processroundissueinstance
group by groupId
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
var q = from i in ProcessRoundIssueInstance
group i by i.GroupID into g
select new
{
Key = g.Key,
Count = g.Select(x => x.UserID).Distinct().Count()
};
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我不断获得无效的GroupID.有任何想法吗?看起来不同的是搞砸了......
这是生成的sql:
SELECT [t1].[GroupID] AS [Key], (
SELECT COUNT(*)
FROM (
SELECT DISTINCT [t2].[UserID]
FROM [ProcessRoundIssueInstance] AS [t2]
WHERE (([t1].[GroupID] IS NULL) AND ([t2].[GroupID] IS NULL))
OR (([t1].[GroupID] IS NOT NULL)
AND ([t2].[GroupID] IS NOT NULL)
AND ([t1].[GroupID] = [t2].[GroupID]))
) AS [t3] …
Run Code Online (Sandbox Code Playgroud) 我想访问$hash_element->{'test_plan'}
和$hash_element->{'build'}
for循环外
my $hash_element;
for $hash_element (@bats) {
my $dbh = DBI->connect( $dsn, $BAT_DB_user, $BAT_DB_password );
my ( @plan_id, @plan_run );
@plan_id = $dbh->selectrow_array(
"select id from plan where name='$hash_element->{'test_plan'}'");
}
$emailsubject = "BAT - " . $hash_element->{'test_plan'} . " on " . $hash_element->{'build'} . " done.";
Run Code Online (Sandbox Code Playgroud) 通常在创建新的Web应用程序和配置MySQL时,某些字段需要随着应用程序的发展而改变格式.例如,我可能会更改日期字段的格式或曾经只是int的字段现在需要一个字母或不是.所以通常我只是将每个字段设置为Varchar 255,直到Im完成,此时我将数据类型更改为正确的.
所以我的问题是,数据类型有多重要?这个目的是什么?速度?
我有一个可以自行运行的存储过程.最近的一项要求使我认为Union查询将完成我所需要的.这是工作版本.它使用ROW_NUMBER()来正确完成分页和排序
SELECT x.TicketID,
x.TicketNumber,
x.AccountID,
x.SkillID
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY
CASE WHEN @ipv_SortExpression = 'TicketNumber' AND @ipv_SortDirection = 'ASC' THEN y.TicketNumber END ASC,
CASE WHEN @ipv_SortExpression = 'TicketNumber' AND @ipv_SortDirection = 'DESC' THEN y.TicketNumber END DESC,
CASE WHEN @ipv_SortExpression = 'AccountNumber' AND @ipv_SortDirection = 'ASC' THEN y.AccountNumber END ASC,
CASE WHEN @ipv_SortExpression = 'AccountNumber' AND @ipv_SortDirection = 'DESC' THEN y.AccountNumber END DESC,
CASE WHEN @ipv_SortExpression = 'OpenDate' AND @ipv_SortDirection = 'ASC' THEN y.OpenDate END ASC,
CASE WHEN @ipv_SortExpression …
Run Code Online (Sandbox Code Playgroud) 我有一些超过三个级别的数据,如下所示:
Identifier, Key, Value
我想首先查找标识符.让我们说它是1.然后我会查找密钥,让我们说2.最后,密钥会给我价值.
我想我可能需要多值字典或一些二维/三维数组.所有数据都是固定的,阵列只需要6个元素.
所以,我想在代码中可以像这样访问:
SomeInfo[identifier, key]
这将返回价值.
请询问更多信息.
这与如何更新Vim以对新的html元素进行颜色编码有关,但我希望语法高亮显示只有在文件的第一行检测到html5文档类型时才突出显示元素.是否有捷径可寻?
c# ×3
.net ×2
database ×1
gtk ×1
html5 ×1
javascript ×1
linq ×1
linq-to-sql ×1
mysql ×1
parent-child ×1
perl ×1
php ×1
pygtk ×1
python ×1
sql ×1
sql-server ×1
t-sql ×1
types ×1
vim ×1
void ×1