我正在使用GUIDE构建一个简单的MATLAB gui.我有一个项目列表框.大多数情况下,它按预期工作,但有时(通常在我使用GUIDE编辑图形后)填充列表框会导致它消失,以及此消息:
Warning: single-selection listbox control requires a scalar Value
Control will not be rendered until all of its parameter values are valid
Run Code Online (Sandbox Code Playgroud)
这种行为无法调试!当我单步执行时,它按预期工作(我怀疑它是一种线程竞赛或其他东西).此外,在相同条件下重新启动MATLAB环境后,它通常会消失.
在此错误中找到的所有文档都涉及MATLAB的先前/古代版本(我使用的是R2010a).
任何有关此主题的想法或信息将不胜感激!
编辑:感谢米哈伊尔,我似乎已经解决了这个问题.我在这里发布我的代码以供将来参考.
经过大量的调试打印和疯狂点击之后,我发现有时候当您询问列表框选择的内容时,会得到一个空的结果.这个问题和其他问题使事情变得混乱.我把所有的写作交互都放到了一个集中的函数中,然后我写了一些测试代码,以确保事情保持原样.
请注意,这已经在我自己的环境(在R2010a上)进行了测试,而不是广泛的.此外,代码有点多余,但无论如何它让我感觉很好.(即itemcount不能小于0 ...)
function ensure_listbox_ok(handles)
%check to make sure it does not suck - ask what it has
thestrings = get(handles.listbox_files, 'String');
selection = get(handles.listbox_files, 'Value');
itemcount = length(thestrings);
betterselection = selection;
if(itemcount <= 0)
betterselection = 1;
else
if(selection > itemcount)
betterselection = itemcount;
end
end
%never use zero!!!! even …Run Code Online (Sandbox Code Playgroud) matlab user-interface intermittent race-condition matlab-guide
我有一个64位无符号整数,正好设置了1位.我想为每个可能的64个值分配一个值(在这种情况下,奇数素数,因此0x1对应于3,0x2对应于5,...,0x8000000000000000对应于313).
似乎最好的方法是转换1 - > 0,2 - > 1,4 - > 2,8 - > 3,...,2 ^ 63 - > 63并查找数组中的值.但即使如此,我也不确定获得二进制指数的最快方法是什么.并且可能还有更快/更好的方法.
此操作将使用10 14到10 16次,因此性能是一个严重的问题.
我想将从十进制格式 (192.168.65.72) 文件中读取的 ip 地址转换为二进制格式 {110000001010100001000001010001000}。我正在从文件中读取十进制格式的 ip 地址。找到下面的代码片段。
/*contains 192.168.65.72*/
filter = open("filter.txt", "r")
for line in filter:
bytePattern = "([01]?\d\d?|2[0-4]\d|25[0-5])"
regObj = re.compile("\.".join([bytePattern]*4))
for match in regObj.finditer(line):
m1,m2,m3,m4 = match.groups()
print "%s %s %s %s" %(m1, m2, m3, m4)
Run Code Online (Sandbox Code Playgroud)
我想将 m1、m2、m3 和 m4 分别转换为 8 位二进制值。我想不出一种方法来做到这一点。我是 python 新手。任何帮助将不胜感激。
干杯。
我对c#很陌生,所以我的问题可能很简单,但是这里有.
我一直在尝试与代表合作,并且有点坚持这个问题.
.....
public delegate double delegateA();
public delegate double delegateB();
public static double myFunc()
{
return 0;
}
public static delegateA myTest()
{
return myFunc;
}
static void Main(string[] args)
{
delegateB myFuncDelegate;
myFuncDelegate = myTest(); // <-- Error: Cannot implicitly convert type....
}
.....
Run Code Online (Sandbox Code Playgroud)
我不知道如何使这个转换工作,除非使用相同的委托作为类型.但是在我的项目中,代表的名称会更加漂亮(因为它们存在于不同的类中).
希望您能够帮助我.
我有一段代码使用LINQ过滤列表,创建匿名类型的实例列表,并为每个实例分配一个事件处理程序:
// Select every linear expression and create a menu item from it
var items = from expr in expressionList.Expressions
where expr.Type == ExpressionType.Linear
let stdExpr = (StandardExpression)expr
select new
{
Menu = new ToolStripMenuItem(stdExpr.Expression), // string
stdExpr.Slot // int
};
// Wire a Click event handler to each menu to set the tracked line
foreach (var item in items)
{
item.Menu.Click += (s, e) => graph.SetTrackedLine(item.Slot);
menuTrackLineWithMouse.DropDownItems.Add(item.Menu);
}
Run Code Online (Sandbox Code Playgroud)
这很有效,因为事件处理程序有线并且菜单被正确添加.单击菜单项时会出现问题,并触发处理程序.无论哪个菜单项触发了处理程序,只传递最后一个SetTrackedLine.
一个例子是,如果我有两个菜单,"sin(x)",带槽0,"cos(x)",带槽1,两个Click事件都传递1 …
我正在使用New Graph API php sdk开发一个facebook iframe应用程序.我正在使用基本代码来显示我的名字.但它没有返回任何价值.有人请帮帮我.
<?php
include_once 'facebook.php';
include_once 'config.php';
$facebook = new Facebook(array('appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => true,));
$session = $facebook->getSession();
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
echo "Hello " . $uid . "<br />"; // This is displayed with my User Id
$me = $facebook->api('/me');
echo "Hello " . $me['name'] . "<br />"; // This is not displayed.
} catch (FacebookApiException $e) {
error_log($e);
}
}
if ($me) { …Run Code Online (Sandbox Code Playgroud) 如何使用C#映射网络驱动器.我不想使用net use或任何第三方API.
听说过C#代码中的UNC路径,但不太清楚如何去做.
我使用UUID作为其中一个表的主键.
将此字段用作varchar/varbinary/blob的优缺点是什么?
我正在将Emacs与AucTeX结合使用(运行Ubuntu 10.04,如果这很重要的话).
有没有人知道是否有办法自动启用LaTeX-math-mode(AucTeX的次要模式),如果该点在任何数学环境中(即a $...$,a $$...$$,begin{equation}...\end{equation}等等)?
我想有一个相对简单的答案,因为语法高亮使用相同的标准来着色数学的东西,但我找不到任何东西.
我想在注销时关闭窗口.我用过
window.close(), self.close(),var win = window.open("","_self"); win.close();window.parent.close();以上所有我已经使用IE中的所有工作,但在Mozilla Firefox中无法正常工作.
请给我解决方案.
谢谢.
c# ×3
.net ×1
auctex ×1
blob ×1
c ×1
closures ×1
database ×1
emacs ×1
facebook ×1
intermittent ×1
javascript ×1
linq ×1
matlab ×1
matlab-guide ×1
mysql ×1
php ×1
primary-key ×1
python ×1
varbinary ×1