问题列表 - 第31147页

同步滚动组件Delphi

我试图在VCL Forms应用程序中同步滚动两个TDBGrid组件,我很难拦截每个网格组件的WndProc而没有一些堆栈问题.我尝试在滚动事件下发送WM_VSCROLL消息,但这仍然导致不正确的操作.它需要用于单击滚动条,以及突出显示单元格或向上或向下鼠标按钮.整个想法是让两个网格彼此相邻,显示一种匹配对话框.

试着

SendMessage( gridX.Handle, WM_VSCROLL, SB_LINEDOWN, 0 );
Run Code Online (Sandbox Code Playgroud)

procedure TForm1.GridXCustomWndProc( var Msg: TMessage );
begin
Msg.Result := CallWindowProc( POldWndProc, gridX.Handle, Msg.Msg, Msg.wParam, Msg.lParam );

   if ( Msg.Msg = WM_VSCROLL ) then 
   begin
      gridY.SetActiveRow( gridX.GetActiveRow );
      gridY.Perform( Msg.Msg, Msg.wParam, Msg.lParam );
      SetScrollPos( gridY.Handle, SB_VERT, HIWORD( Msg.wParam ), True );
   end;
end;
Run Code Online (Sandbox Code Playgroud)

procedure TForm1.GridxCustomWndProc( var Msg: TMessage );
begin
   if ( Msg.Msg = WM_VSCROLL ) then 
   begin
      gridY.SetActiveRow( gridX.GetActiveRow );
      gridY.Perform( Msg.Msg, Msg.wParam, Msg.lParam );
      SetScrollPos( gridY.Handle, SB_VERT, HIWORD( …
Run Code Online (Sandbox Code Playgroud)

delphi scroll windows-controls

5
推荐指数
1
解决办法
5323
查看次数

萤火虫错误地告诉我我的变量没有定义

我在下面的代码中设置了断点,它表示"断点".还为dataStore添加监视表达式.

function(){
  var self = {};
  var dataStore = [];
  var areEq = UNAB.objectsAreEqual;

  self.put = function(key, value){
    /*breakpoint*/ dataStore.push({key:key, value:value});
  }
  return self;
}
Run Code Online (Sandbox Code Playgroud)

在这个断点处,Firebug告诉我"ReferenceError:dataStore未定义".尝试检查"areEq"时的结果相同.但是,dataStore.push执行时没有错误.另外一个强调:为"self"添加一个监视表达式不会显示我期望的自我对象,只有一个属性"put",而是"window"对象.

知道到底发生了什么事吗?

javascript firebug

5
推荐指数
1
解决办法
913
查看次数

从C#创建我自己的安装程序?

我一直很喜欢微软已经使用的新安装程序,主要是因为他们使用WPF的Blend安装,我想知道我是否可以为我的应用程序制作这样的东西?

主要担心是创建程序文件目录并使用Windows注册应用程序,以便将其添加到添加/删除应用程序列表中.

有没有人对此有一点经验?

谢谢

c# wpf installer

7
推荐指数
1
解决办法
2514
查看次数

如何使用Python访问Web?

我想在不使用API​​的情况下访问网站.我会通过使用像Mechanize这样的东西吗?

python

6
推荐指数
2
解决办法
4万
查看次数

在sed中捕获组

我有很多行的形式

ko04062 ko:CXCR3
ko04062 ko:CX3CR1
ko04062 ko:CCL3
ko04062 ko:CCL5
ko04080 ko:GZMA
Run Code Online (Sandbox Code Playgroud)

并且非常希望摆脱右侧列的ko:位.我正在尝试使用sed,如下所示:

echo "ko05414 ko:ITGA4" | sed 's/\(^ko\d{5}\)\tko:\(.*$\)/\1\2/'
Run Code Online (Sandbox Code Playgroud)

它只是输出我回声的原始字符串.我是命令行脚本,sed,管道等新手,所以如果/当我做一些非常愚蠢的事情时,请不要太生气.

令我困惑的主要事情是,如果我将该\1\2位反转\2\1或仅使用一个组,则会发生同样的事情.我想,这意味着我遗漏了一些关于将echo输出管道输入到sed的机制,或者我的正则表达式错误或者我使用的是sed错误或者sed没有打印替换的结果.

任何帮助将不胜感激!

command-line sed

23
推荐指数
3
解决办法
4万
查看次数

为什么Controls集合不提供所有IEnumerable方法?

我不确定ASP.Net的ControlCollection如何工作,所以也许有人可以为我阐明这一点.

我最近发现了扩展方法和Linq的神奇之处.好吧,我很遗憾地发现这不是有效的语法

var c=Controls.Where(x => x.ID=="Some ID").SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

但是从我所知道的,Controls确实实现了IEnumerable提供这种方法的接口,那么是什么给出了?为什么这不起作用?我至少找到了一个体面的解决这个问题的工作:

var list = (IEnumerable<Control>)Controls;
var this_item = list.Where(x => x.ID == "Some ID").SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net ienumerable extension-methods

38
推荐指数
3
解决办法
1万
查看次数

NERDTree vim插件,试图添加文件但没有成功

据我了解,您可以使用NERDTree插件直接从MacVim添加文件.我导航到NERDtree并点击'm'调出NERDTree文件系统菜单,如本文所述:vim和NERD Tree扩展 - 添加文件

问题是,我在调用'm'后得到这个输出:

NERDTree Menu. Use j/k/enter and the shortcuts indicated
==========================================================
Error detected while processing function <SNR>14_showMenu..30..31:
line    4:
E716: Key not present in Dictionary: menuItems)-1)
E116: Invalid arguments for function len(self.menuItems)-1)
E116: Invalid arguments for function range(0, len(self.menuItems)-1)
E15: Invalid expression: range(0, len(self.menuItems)-1)
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

vim macvim nerdtree

4
推荐指数
1
解决办法
2513
查看次数

C#.NET中的PLC编程

我可以在C#中编写用于PLC控制的程序吗?怎么样?

c# plc

5
推荐指数
2
解决办法
4万
查看次数

拼接NumPy数组

我有一个问题拼接两个数组.我们假设我有两个数组:

a = array([1,2,3])
b = array([4,5,6])
Run Code Online (Sandbox Code Playgroud)

我什么时候vstack((a,b))得到

[[1,2,3],[4,5,6]]
Run Code Online (Sandbox Code Playgroud)

如果我这样做,hstack((a,b))我得到:

[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是:

[[1,4],[2,5],[3,6]]
Run Code Online (Sandbox Code Playgroud)

如何在不使用for循环的情况下完成此操作(需要快速)?

python numpy

1
推荐指数
1
解决办法
1675
查看次数

自动化 ssh 登录:tcl expect interact 命令的行为很奇怪

我想自动化 ssh 登录。经过一些研究,似乎 tcl/expect 是要走的路线。

但是,我的问题是,当交互接管我的终端时,东西不能按预期工作(不是故意的)。

例如,如果我调整终端的大小,它不会“占用”。此外,有时交互没有响应,有时它只是无缘无故地挂起。我在下面包含了我的代码。我对代码的问题是,我错过了什么吗?

另外,有没有更好的方法来做到这一点(使用另一种脚本语言?)我需要终端非常敏感,这与我在控制台上手动输入 ssh 没有什么不同。

proc Login {username server password} {
    set prompt "(%|>|\#|\\\$) $"

    spawn /usr/bin/ssh $username@$server
    expect { 
        -re "Are you sure you want to continue connecting (yes/no)?" {
            exp_send "yes\r"
            exp_continue 
            #continue to match statements within this expect {}
        }

        -nocase "password: " { 
            exp_send "$password\r" 
            interact
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

linux ssh automation tcl expect

1
推荐指数
1
解决办法
5263
查看次数