button1 = tkinter.Button(frame, text="Say hi", command=print)
button2 = tkinter.Button(frame, text="foo", command=print)
button3 = tkinter.Button(frame, text="bar", command=print)
Run Code Online (Sandbox Code Playgroud)
你可能已经发现了程序中的漏洞:print无法指定参数.这使得整个事情变得毫无用处和错误.显然,有类似的东西
command=print("foo")
Run Code Online (Sandbox Code Playgroud)
将在实际实例化对象时调用该函数,并command生成该函数调用的返回值(如果有).(不是我想要的)
那么,如何在上述场景中指定参数,并避免command为每个按钮定义单独的函数?
在JavaScript中,我们可以在每个第3个字符处拆分字符串
"foobarspam".match(/.{1,3}/g)
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何在Java中这样做.有什么指针吗?
是否可以动态查找应用程序支持的语言?例如,我有以下语言的字符串:英语,法语,荷兰语和德语.它们在相应的res目录中定义:values values-fr,values-nl和values-de.我想让用户可以在它们之间进行选择,为此我想加载它们.但我不想硬编码选择.我试着用:
getApplication().getResources().getAssets().getLocales()
Run Code Online (Sandbox Code Playgroud)
但是此方法返回手机支持的所有语言环境.
你还有其他想法吗?
我有这个方法......
- (void) helloThere: (int) myValue {
// I am trying to pass myValue to animationDidStop
[UIView beginAnimations:nil context:[NSNumber numberWithInt: myValue]];
[UIView setAnimationDuration:1.0];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView setAnimationDelegate:self];
// do stuff
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
然后我试图在animationDidStop上检索myValue ...
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
int retrievedValue = (int)context; //??? not giving me the right number
}
Run Code Online (Sandbox Code Playgroud)
但retrieveValue给了我一个与原始myValue无关的数字......
如何检索该号码?
谢谢你的帮助.
假设我有一个SQL Server 2005表TableX,上面有2个索引:
字段B上的
Field_TIX_TableX_FieldB = CLUSTERED上的PK_TableX = PRIMARY KEY NONCLUSTERED
我想将PK切换为CLUSTERED,将另一个索引切换为NONCLUSTERED.
我必须假设数据库将在我尝试更改索引时使用 - 因此我想要避免的主要问题是,在该过程中的某个时刻,PK约束将不存在于表中.我想要保护免受任何插入重复键的风险.
即我不能只删除主键并重新创建它.
此过程需要通过SQL脚本完成,而不是通过SSMS完成.
我有一种方法,我认为它会起作用(我会把它作为一个潜在的答案发布),但是如果我错过了某些东西或者有另一种/更好的方法,我想打开它.此外,它可能在将来对其他人有用
我在Java中有一个JDBC MySQL连接.我的程序适用于简单的查询执行.
如果我运行相同的程序超过10个小时并执行查询,那么我收到以下MySQL异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Connection.close() has already been called. Invalid operation in
this state.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
Native Method)
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
No operations allowed after statement closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
Native Method)
Run Code Online (Sandbox Code Playgroud)
我没有close()在任何地方使用过方法.我创建了数据库连接并永远打开它并始终执行查询.我没有明确提到连接超时的地方.我无法确定问题所在.
这是我用于数据库连接的代码:
String driver = PropertyReader.getDriver();
String url = dbURLPath;
Class.forName(driver);
connectToServerDB = DriverManager.getConnection(url);
connectToServerDB.setAutoCommit(false);
Run Code Online (Sandbox Code Playgroud)
是什么导致了这种例外
我有一个C ++ MFC应用程序,它将其所有系统范围的配置设置存储到注册表中。以前,我们使用.INI文件,并在几年前改为使用注册表
SetRegistryKey("MyCompanyName");
Run Code Online (Sandbox Code Playgroud)
现在,我们很难获得从PC和Windows版本迁移到另一个版本的用户的定期支持电话,而我得出的结论是,使用注册表会导致更多的问题而不是解决的问题。我也不想返回.INI文件,因为我想存储每个用户的设置,因此计划是编写自己的GetProfile ...和SetProfile ...函数版本,以便与数据库。是否有人已经这样做了,并且有人知道不需要过多修改代码即可替换注册表的现有替换库吗?理想情况下,我还希望它具有从注册表中读取初始值以支持现有用户的选项。
说我有一节课:
public class MyClass
{
...
}
Run Code Online (Sandbox Code Playgroud)
和一个返回的Web服务方法 IEnumerable<MyClass>
Web服务的使用者定义了一些方法:
public void DoSomething(MyClass myClass)
{
...
}
Run Code Online (Sandbox Code Playgroud)
现在,消费者可以DoSomething通过两种方式调用webservice方法的结果:
var result = // web service call
foreach(var myClass in result)
{
DoSomething(myClass);
}
Run Code Online (Sandbox Code Playgroud)
要么:
var result = // web service call
result.ToList().ForEach(DoSomething);
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,我更喜欢第二种方式,因为它更短,更具表现力(一旦你习惯了我的语法).
现在,Web服务方法只公开一个IEnumerable<MyClass>,但它实际上返回一个List<MyClass>(AFAIK)意味着实际的序列化对象仍然是一个List<T>.但是,我发现(使用反射器)Linq方法ToList()制作了所有对象的副本,IEnumerable<T>而不管实际的运行时类型(在我看来,它可能只是将参数转换为a,List<T>如果它已经是一个).
这显然有一些性能开销,特别是对于大型列表(或大型对象列表).
那么我该怎么做才能克服这个问题,为什么ForEachLinq中没有方法呢?
顺便说一句,他的问题与这个问题含糊不清.
当用户填写AS3中的输入文本字段时,我想要按下回车键.我想我必须做这样的事情:
inputText.addEventListener(Event. ? , func);
function func(e:Event):void{
if(e. ? == "Enter"){
doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
但我找不到最好的方法来做到这一点.顺便说一句,输入文本有一个限制:
inputText.restrict = "0-9";
Run Code Online (Sandbox Code Playgroud)
我应该在限制中添加回车键吗?
inputText.restrict = "0-9\n";
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我有一个拥有大量客户群的django网站.我想让我们的客户服务部门能够改变正常的用户帐户,做更改密码,电子邮件地址等等.但是,如果我授予某人内置auth | user | Can change user权限,他们就可以is_superuser在任何人身上设置标志.帐户,包括他们自己.(!!!)
为非超级用户员工删除此选项的最佳方法是什么?我确定它涉及子类化django.contrib.auth.forms.UserChangeForm并将其挂钩到我已经自定义的UserAdmin对象......不知何故.但我找不到任何关于如何做到这一点的文档,我还不太了解内部情况.