在Excel 2007中,如何向用户定义的函数添加描述和参数提示?当我开始为内置函数键入函数调用时,Excel会显示描述和参数列表 - 工具提示.我想对我定义的函数做同样的事情.
不只是公式插入向导,而是在公式框中,所以如果我键"=myFun(",在"("工具提示弹出就像它为"=average("
在VBA帮助中没有任何帮助,在MSDN上没有任何帮助,在我能找到的任何Excel和VBA专用论坛上都没有,所以这显然是一个很长的镜头.
我的应用程序是用Objective-C编写的.如何通过目录服务获取当前登录用户的用户名和主目录?
细节:我的Cocoa应用程序使用getenv("USER"),getenv("HOME")获取当前用户名和主目录.显然,如果用户通过目录服务登录,则此功能无法正常工作.我正在做一个chdir($ HOME)然后运行这个命令:login -fp $ USER并拒绝它,因为我认为登录通过目录服务来验证用户,并且他在该系统中的用户名可能不是与$ USER的值相同.同样,他可能在目录服务中指定的主目录与$ HOME不同.
如果div的宽度或高度发生变化,如何自动执行Javascript函数?我不想手动触发事件.我正在使用jQuery.
我真的很佩服java功能,我不想放弃使用它来解决下一个问题:
我有一个可能被继承的类,并且它内部是一个private ArrayList arr;所以setter函数是可以的,但是getter函数return arr;返回对该变量的引用,任何人都能够编辑我不想要的整个数组并且私有不会'没有任何意义!
在C++中,我只是return const arr;会返回对变量的常量引用.
我非常需要变量不被克隆或手动复制,因为有太多的计算需要(只读变量)为什么在java中没有返回const?有什么方法可以逃避复制吗?
ps (final ArrayList<Integer> arr;)不是一个选项,因为该数组总是更改大小或元素值.
如果我找不到解决方法,我威胁要回到C++或公开所有内容,你永远不应该得到我的软件:D
编辑:一个更重要的问题:我要求的东西不好(软件工程明智)我的意思是如果JAVA创建者认为没有const引用(返回只读引用)那么我必须要求可以在其他地方处理的东西办法.或者我的程序设计错了我很困惑.
我想知道计算效率.我将在本例中使用Java,但这是一个通用的计算问题.让我说我有一个字符串,我想得到字符串的第一个字母的值,作为一个字符串.所以我能做到
String firstletter = String.valueOf(somestring.toCharArray()[0]);
Run Code Online (Sandbox Code Playgroud)
或者我可以这样做:
char[] stringaschar = somestring.toCharArray();
char firstchar = stringaschar[0];
String firstletter = String.valueOf(firstchar);
Run Code Online (Sandbox Code Playgroud)
我的问题是,这两种方式在计算上基本相同吗?我的意思是,第二种方式我明确地必须创建2个中间变量,暂时存储在内存(堆栈?)中.但第一种方式,计算机还必须隐式创建相同的变量,对吧?并且操作的数量不会改变.我的想法是,两种方式是一样的.但我想肯定地知道.
我正在进行需要调用更多异步任务的异步操作.我试图通过使用BackgroundWorkers来保持简单,结果是一个BackgroundWorker的DoWork()回调调用一个创建第二个BackgroundWorker的方法,就像这样(减去错误检查和所有爵士乐的简洁):
class Class1
{
private BackgroundWorker _worker = null;
public void DoSomethingAsync()
{
_worker = new BackgroundWorker();
_worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_worker_RunWorkerCompleted);
_worker.DoWork += new DoWorkEventHandler(_worker_DoWork);
_worker.RunWorkerAsync();
}
void _worker_DoWork(object sender, DoWorkEventArgs e)
{
Class2 foo = new Class2();
foo.DoSomethingElseAsync();
while(foo.IsBusy) Thread.Sleep(0); // try to wait for foo to finish.
}
void _worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// do stuff
}
}
class Class2
{
private BackgroundWorker _worker = null;
Thread _originalThread = null;
public AsyncCompletedEventHandler DoSomethingCompleted;
public bool IsBusy { …Run Code Online (Sandbox Code Playgroud) 我正在为我公司内部使用构建一个visual studio 2010加载项.我想自定义主窗口标题以显示当前启动项目的名称.我可以使用以下代码设置主窗口的标题:
DTE d = GlobalClass.dte2 as DTE;
IntPtr hWnd = new System.IntPtr(d.MainWindow.HWnd);
if (d.Solution.SolutionBuild.StartupProjects != null)
{
object[] sStartUpProject = (object[])d.Solution.SolutionBuild.StartupProjects;
string Caption = d.MainWindow.Caption + "Current Project: " + (string)sStartUpProject[0];
SendMessage(hWnd, WM_SETTEXT, new IntPtr(0), Caption);
}
Run Code Online (Sandbox Code Playgroud)
我可以在创建或激活窗口时触发此代码,但如果用户更改解决方案资源管理器(或我的加载项)中的启动项目并且不移动到Visual Studio中的另一个窗口,则不会更新标题.我希望标题在更改后立即更新.
visual-studio-addins visual-studio-2010 envdte vs-extensibility
此代码无法正常运行,但它表明了我要做的事情:
function sort_2d_by_index($a,$i) {
function cmp($x, $y) {
// Nested function, can't find $i
// (global $i defeats the purpose of passing an arg)
if ($x[$i] == $y[$i]) { return 0; }
return ($x[$i] < $y[$i]) ? -1 : 1;
}
usort($a,"cmp");
return $a;
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法来做到这一点.我一直在检查ksort(),multisort()各种各样的种类,直到我有点厌倦试图整理它.
情况是这样的:我有一个二维阵列......
array(
array(3,5,7),
array(2,6,8),
array(1,4,9)
);
Run Code Online (Sandbox Code Playgroud)
...我希望按列索引排序.比如说,列[1],会给出这样的结果:
array(
array(1,4,9),
array(3,5,7),
array(2,6,8)
);
Run Code Online (Sandbox Code Playgroud)
有人有链接(我确定之前有人问过),或者有人说"你需要foosort,肯定".非常感谢.
我希望我的用户能够指定他们的位置,以便我可以在地图上绘制它们.给定地址,我使用Google Maps API获取其纬度/经度坐标并将其存储在数据库中.
此外,我希望允许用户根据位置搜索其他用户.使用谷歌地图API,我也可以获得国家/州/城市的地址(或纬度/经度坐标).我的问题是我不知道如何以这样的方式存储国家/州/市:
我认为问题是如果User-1和User-2都输入导致该国家为"USA"的地址,我想我需要知道User-1和User-2都来自美国 - 而且"USA"仅在DB中存储一次.
当用户搜索其他用户时,我想我应该只让他们在美国搜索用户,如果我实际上有来自美国的用户.这意味着,假设User-1和User-2是来自美国的唯一2个用户,如果User-1和User-2删除他们的个人资料,我不应该再允许在美国搜索用户.
我的想法在概念上是错误的吗?在任何情况下,我应该如何建模这些信息?我正在使用MySQL.