当我动态创建文本和标签框时,它应该采用"Textbox:Labelbox"的格式,然后当我再次点击添加按钮时,相同的模式应该在下一行重复,依此类推......我应该使用哪种布局以及如何使用?
这是我使用的代码
if(field_name.getText().equals("")){
error.setForeground(Color.red);
error.setText("Enter the Field name first");
} else {
JLabel l = new JLabel(field_name.getText(), JLabel.RIGHT);
JTextField textField = new JTextField();
Dimension dim = new Dimension(20,30);
textField.setPreferredSize(dim);
field_layer.add(l);
field_layer.add(textField);
SpringUtilities.makeCompactGrid(field_layer,
numPairs, 2, //rows, cols
6, 6, //initX, initY
6, 6); //xPad, yPad
numPairs++;
field_layer.invalidate();
this.pack();
}
Run Code Online (Sandbox Code Playgroud) 再试一次.根据建议,添加我理解的代码片段.我很好,我必须在两行中保存4位信息,如下所示:
IniFile.WriteString('TestSection','Name','Country');
IniFile.WriteString('TestSection','City','Street');
Run Code Online (Sandbox Code Playgroud)
我的问题更多的是将这些信息重新加载到表单中.如果在我的IniFile中我保存了例如以下代码
[TestSection]
John=Uk
London=barlystreet
Mike=Spain
Madrid=eduardostrata
Emma=USA
New York=1st Avenue
Run Code Online (Sandbox Code Playgroud)
在IniFile中编写信息.通过上面的代码添加.现在我的问题是:当我输入编辑框Mike时,我可以加载其他所有信息.(西班牙,马德里,eduardostrata).
我正在iDev联盟paypal IPN上做一些自定义工作,我正在尝试为退款项目设置一个补丁.我的数据库工作正常,但我似乎无法获得IF捕获权.
关于我应该改变它的任何建议?
if($_REQUEST["payment_status"] == "refunded"||$testing==1)
{
$email = $_REQUEST["payer_email"];
$sid = $_REQUEST["subscr_id"];
$tid = $_REQUEST["txn_id"];
if (!$tid)
{
$tid='xxx';
}
if ($testing==1)
{
echo "testing on";
$sid = "I-E5E34E0DTMUS";
}
$query = "SELECT * FROM idevaff_sales WHERE tid1='$tid'";
$result = mysql_query($query);
if (!$result)
{
//echo $query; exit;
mail('***@gmail.com',"1",$query);
}
$arr = mysql_fetch_array($result);
$aid = $arr['id'];
$query = "SELECT * FROM idevaff_affiliates WHERE tid1='$tid'";
$result = mysql_query($query);
if ($result)
{
//echo $query;
mail('***@gmail.com',"2","$query");
}
$arr = mysql_fetch_array($result);
$email = $arr['email']; …Run Code Online (Sandbox Code Playgroud) 在一个被多次调用的低级函数中,我需要做相当于python的list.index,但是需要一个numpy数组.函数需要在找到第一个值时返回,否则引发ValueError.就像是:
>>> a = np.array([1, 2, 3])
>>> np_index(a, 1)
0
>>> np_index(a, 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 10 not in array
Run Code Online (Sandbox Code Playgroud)
我希望尽可能避免使用Python循环. np.where不是一个选项,因为它总是遍历整个数组; 一旦找到第一个索引,我需要停止的东西.
编辑:与问题相关的一些更具体的信息.
大约90%的时间,我正在搜索的索引是阵列的前1/4到1/2.因此,这里可能存在2-4倍的加速因素.另外10%的时间值根本不在数组中.
我已经分析了一些东西,并且调用np.where是瓶颈,至少占总运行时间的50%.
提出一个并不重要ValueError; 它只需要返回一些显然表明该值不在数组中的东西.
我建议可能会在Cython中编写一个解决方案.
我正在编写一个依赖于外部类exceptionManager的单元测试.我希望能够预测这个类上的某些特定函数会返回什么,所以我使用的是模拟对象.代码非常简单:
$mockExceptionManager = $this->getMock('exceptionManager');
Run Code Online (Sandbox Code Playgroud)
问题是,我的异常管理器实现了IteratorAggregate接口,这需要一个如下所示的方法:
public function getIterator()
{
return new ArrayIterator($this->exceptions);
}
Run Code Online (Sandbox Code Playgroud)
当我运行单元测试时,我收到以下错误:
致命错误:无法在/Applications/MAMP/bin/php5.2/lib/php/PEAR/PHPUnit/Framework/MockObject/Generator.php(170)中重新声明Mock_exceptionManager_ae79bad2 :: getIterator():eval()'d代码在线297
我有一种感觉,PHPUnit模拟对象套件也实现了IteratorAggregate接口,并且两者发生了冲突,尽管我不确定.我也尝试使用Iterator接口,但遇到了同样的问题.我怎么能绕过这个?
如果没有声明constexpr,std::forward将丢弃constexpr-ness以用于转发参数的任何函数.为什么std::forward不宣布constexpr自己这样可以保留constexpr-ness?
示例:(使用g ++ snapshot-2011-02-19测试)
#include <utility>
template <typename T> constexpr int f(T x) { return -13;}
template <typename T> constexpr int g(T&& x) { return f(std::forward<T>(x));}
int main() {
constexpr int j = f(3.5f);
// next line does not compile:
// error: ‘constexpr int g(T&&) [with T = float]’ is not a constexpr function
constexpr int j2 = g(3.5f);
}
Run Code Online (Sandbox Code Playgroud)
注意:从技术上讲,很容易制作std::forwardconstexpr,例如,如此(请注意,g std::forward已被替换为fix::forward):
#include <utility>
namespace fix …Run Code Online (Sandbox Code Playgroud) 我想在我的hgrc文件中定义一个调用多个命令的Mercurial命令别名.例如,我想做类似以下的事情:
[alias]
giveup = revert --all --no-backup; purge
syncprod = fetch production; push production
Run Code Online (Sandbox Code Playgroud)
这将允许我调用hg syncprod并让它调用fetch然后推送.无法确定是否存在此功能.(我猜这意味着没有.)
我环顾四周寻找答案,但尚未找到一个有效的答案.我想要做的就是能够更改我选择的UITableView行的背景颜色或图像.
我习惯于在选择行时转换视图,但这次我希望能够更改行的属性.我知道要使用indexPath.row更改哪一行,但我不知道如何更改行的外观,因为已经调用了cellForRowAtIndexPath方法!
我该怎么做才能改变颜色?
以下示例代码将加载jqGrid(此代码有效)...
jQuery(document).ready(function () {
var gridData = [
{ col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ col1: 'cell21', col2: 'cell22', col3: 'cell23' }
];
$('#myGrid').jqGrid({
data: gridData,
datatype: 'clientSide',
colNames: ['Col1', 'Col2', 'Col3'],
colModel: [
{ name: 'col1' },
{ name: 'col2' },
{ name: 'col3' }
]
})
Run Code Online (Sandbox Code Playgroud)
我如何重写示例以便在创建jqGrid之后设置gridData?我试过这个......
jQuery(document).ready(function () {
var gridData = [
{ col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ col1: 'cell21', col2: 'cell22', col3: 'cell23' }
];
$('#myGrid').jqGrid({
datatype: 'clientSide',
colNames: ['Col1', …Run Code Online (Sandbox Code Playgroud) 我有一个类库,可以在注册表(HKLM\Software\XXX)中保存系统范围的配置数据.该库用于各种版本的Windows(XP,2003,7,2008 R2)上的各种应用程序(服务,Windows窗体,Web应用程序,控制台应用程序).因此,应用程序的身份不一致,甚至可能不是计算机管理员组的成员.因此,我创建了一个AD域管理员用户并进行模拟,以获得对注册表的写入权限.这在XP/2003中完美运行,但在启用UAC的系统(7/2008R2)中不起作用.我的理解是,只有交互式登录才会拆分令牌,这意味着非交互式登录(服务标识,应用程序池标识等)不会.我找不到任何可以确认的东西,但是根据这个假设,我正在做的模仿应该有效.
我编写了一个包装类来使用本机LogonUser(网络登录类型,默认提供程序)和DuplicateTokenEx(模拟,主令牌)然后使用WindowsIdentity.Impersonate()进行模拟.我得到了我的根密钥的引用:
using (ECR.Impersonator imp = new ECR.Impersonator("XXX", "XXX", "XXX"))
{
_root = Registry.LocalMachine.CreateSubKey("SOFTWARE\\XXX", RegistryKeyPermissionCheck.ReadWriteSubTree);
}
Run Code Online (Sandbox Code Playgroud)
根据MSDN,通过使用ReadWriteSubTree,这应该是安全检查的唯一时间.我可以为该键写入值,创建子键(也使用ReadWriteSubTree)并将值写入这些子键,而无需进行其他安全检查.所以我认为我只需要进行一次昂贵的模拟 - 获取对我的根密钥的引用.
我可以将值写入我的根密钥:
_root.SetValue("cachedDate", value.ToBinary(), RegistryValueKind.QWord); }
Run Code Online (Sandbox Code Playgroud)
但是当我使用ReadWriteSubTree创建/打开一个子键时:
RegistryKey key = _root.CreateSubKey("XXX", RegistryKeyPermissionCheck.ReadWriteSubTree);
Run Code Online (Sandbox Code Playgroud)
它爆炸了Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\XXX\XXX' is denied.
虽然我很好奇为什么在MSDN说不应该进行安全检查时,我的问题是如何通过假冒来获得可能无法在交互式登录下运行的应用程序的提升权限?