问题列表 - 第19173页

读取注册表和Wow6432Node键

我有一些代码读取注册表并查找值,HKEY_LOCAL_MACHINE\Software\App\但在64位版本的Windows上运行时,值不足HKEY_LOCAL_MACHINE\Software\Wow6432Node\App\.

我该如何最好地接近这个?我是否需要64位安装程序,还是应该重写代码来检测这两个位置?

c# registry 64-bit wow64

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

Java参数传递问题

我对Java比较陌生,在尝试使用某些代码时遇到了令我惊讶的事情.希望有人能够对此有所了解.这是与我的问题相关的一些代码片段.那些阅读过编程实践的人可能会觉得这很熟悉.

此函数是为List数据类型定义的,并将传递的"fn"参数(只是包装在对象中的函数)应用于列表的所有成员.

    public void apply(MapFunctionI fn, Object fnArg) {
    Node curr = head;
    for (; curr != null; curr = curr.getNext()){
        fn.function(curr.getItem(), fnArg);
    }
}
Run Code Online (Sandbox Code Playgroud)

接下来,我尝试使用这个函数来计算列表中元素的数量,使用实现MapFunctionI的类(一个需要一个名为'function'的方法的接口)

class CounterFunction implements MapFunctionI {
public void function(Object node, Object arg){
    ((MyInteger)arg).increment();
}
}
Run Code Online (Sandbox Code Playgroud)

这是我怎么称呼这个.

    static void TestApply(LinkedList l){
    System.out.println("Number of elements in List -> ");
    MyInteger n = new MyInteger(0);
    l.apply(new CounterFunction(),n);
    System.out.println(n.value());
}
Run Code Online (Sandbox Code Playgroud)

这是MyInteger类型.

class MyInteger {
private int n;

MyInteger(int i){
    n = i;
}

public void increment(){
    n++;
}

public …
Run Code Online (Sandbox Code Playgroud)

java parameters integer

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

什么是目标C的"stringWithContentsOfURL"替换?

我在网上找到了一个使用stringWithContentsOfURL命令的教程,该命令从iPhone OS 3.0开始就被弃用了.但是我找不到我的意思,而是如何实现它.

下面是stringWithContentsOfURL行的代码,以备您参考时使用.

NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
     [addressField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone objective-c

27
推荐指数
2
解决办法
3万
查看次数

为什么我可以在PHP中的SQLite数据库上使用SELECT而不是INSERT?

我能够从PHP中的SQLite数据库中检索信息,但不能写入它.例如,此代码完全正常:

$db = new PDO("sqlite:foo.db");
$rowCount = $db->query("SELECT COUNT(*) FROM tblname;")->fetchColumn(0);
echo $rowCount; // works as it should
Run Code Online (Sandbox Code Playgroud)

但是,以下代码段会导致"无法打开数据库文件"错误:

$db = new PDO("sqlite:foo.db");
$db->exec("INSERT INTO tblname VALUES(NULL, 'val1', 'val2');") or die(print_r($db->errorInfo(), true));
Run Code Online (Sandbox Code Playgroud)

当我从命令行而不是PHP中执行上述INSERT时,我得到了预期的结果(tblname中的新行):

$ sqlite3 foo.db
sqlite> INSERT INTO tblname VALUES(NULL, 'val1', 'val2');
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用PDO(或SQLite),所以任何帮助都将非常感谢.

php sql sqlite pdo

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

如何有效地从字符串中删除重复的字符?

是否可以从字符串中删除重复的字符而不保存您在数组中看到的每个字符,并检查新数字是否已存在于该数组中?这看起来非常低效.当然必须有一个更快的方法?

language-agnostic string algorithm duplicates

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

不好的boost.ASIO性能

我在Windows上使用boost :: asio进行了一个非常简单的服务器/客户端性能测试,它似乎表现得非常糟糕.我希望我只是错误地使用该库,并希望得到任何建议.

我有一个会话类,它写一个消息长度,然后写一条消息,然后等待读取消息长度,然后读取一条消息,并一直反复不停地这样做.当我在自己的计算机上本地运行时,我的性能却非常快; 当我在一台计算机上运行服务器而在另一台计算机上运行客户机时,即使在同一网络上,性能也会降低,需要多达1秒才能进行读/写操作.

服务器源代码文件如下:

#include <cstdlib>
#include <iostream>
#include <boost/asio.hpp>
#include <boost/bind.hpp>

using namespace boost;
using namespace boost::asio;
using namespace boost::asio::ip;
using namespace std;

class Session {
  public:

    Session(io_service& ioService)
      : m_socket(ioService) {}

    tcp::socket& GetSocket() {
      return m_socket;
    }

    void StartRead() {
      m_messageSizeIterator = reinterpret_cast<char*>(&m_messageSize);
      async_read(m_socket, buffer(m_messageSizeIterator, sizeof(m_messageSize)),
        bind(&Session::HandleSizeRead, this, placeholders::error,
        placeholders::bytes_transferred));
    }

    void StartWrite(const char* message, int messageSize) {
      m_messageSize = messageSize;
      m_message = new char[m_messageSize];
      memcpy(m_message, message, m_messageSize);
      async_write(m_socket, buffer(&m_messageSize, sizeof(int)),
        bind(&Session::HandleSizeWritten, this, placeholders::error));
    }

    void …
Run Code Online (Sandbox Code Playgroud)

c++ sockets performance boost boost-asio

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

使用java.util.Scanner逐字节读取文件

我正在尝试使用java.util.Scanner逐个字符地读取单行文件.但是我得到了这个例外":

Exception in thread "main" java.util.InputMismatchException: For input string: "contents of my file"
    at java.util.Scanner.nextByte(Scanner.java:1861)
    at java.util.Scanner.nextByte(Scanner.java:1814)
    at p008.main(p008.java:18) <-- line where I do scanner.nextByte()
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

public static void main(String[] args) throws FileNotFoundException {
    File source = new File("file.txt");
    Scanner scanner = new Scanner(source);
    while(scanner.hasNext()) {
        System.out.println((char)scanner.nextByte());
    }
    scanner.close()
}
Run Code Online (Sandbox Code Playgroud)

有没有人对我可能做错了什么有任何想法?

编辑:我意识到我写了hasNext()而不是hasNextByte().但是,如果我这样做,它不打印任何东西.

java file java.util.scanner

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

PyQt +快捷键触发按钮

如何配置键盘快捷键以单击PyQT应用程序中的特定按钮?例如:Ctrl+ 1单击一个按钮而Ctrl+ 单击另一个按钮2

python keyboard-shortcuts pyqt button

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

有没有一种在Ruby中复制多维数组的简单方法?

我在Ruby中有一个二维数组,我想生成一个工作副本.显然我不能这样做;

array=[[3,4],[5,9],[10,2],[11,3]]
temp_array=array
Run Code Online (Sandbox Code Playgroud)

因为我对temp_array所做的任何修改也都会对数组进行修改,因为我只是复制了对象标识符.我以为我可以通过简单地使用来解决这个问题.

temp_array=array.dup
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为temp_array只是一个对象标识符的数组,它会被复制,所以我最终还是修改了初始数组(如果我理解了什么时候出错了).我找到的解决方案是做以下事情;

temp_array=[]
array.each{|sub| temp_array << sub.dup}
Run Code Online (Sandbox Code Playgroud)

这实现了我想要的,但似乎是解决我的问题的尴尬方式.

如果我不知道我的数组将包含什么(例如,如果阵列的某些部分可能具有3维),我担心这将如何工作.我可能必须测试数组的每个成员的类,看看是否必须迭代它才能复制它.根本不是一项不可能的任务,但对我来说似乎很麻烦.这仅仅是Ruby缺乏对多维数组的内置支持的结果,还是有一个简单的内置函数来执行此操作而我错过了?

ruby arrays multidimensional-array

17
推荐指数
2
解决办法
3304
查看次数

如果修复了文件大小,如何让SVN实现二进制文件的更改

我正在使用一个程序将数据写入固定大小的二进制文件,我存储在一个subversion存档中.

然而,问题是SVN(命令行客户端和TortiseSVN)认为由于文件大小没有改变,文件本身没有改变,也不应该提交.

有没有办法改变使用的diffing方法,还是我不得不求助于诸如向文件添加虚拟属性之类的黑客?


编辑:原来解决方案不是因为文件大小的事情.我只是自动认为会是这种情况,因为大多数nieve diffing altorithims都会这样做. [黄鼠狼的话]

svn tortoisesvn binary-data

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