小编Rav*_*mer的帖子

在没有用户输入的情况下触发"点击"事件

我有一个Windows窗体链接标签,"刷新",刷新显示.

在我的代码的另一部分,一个单独的窗体的一部分,我有一个对话框,首先改变加载到显示器中的数据.执行此其他代码后,按"刷新"可正确更新数据.

对话框菜单完成更改数据后,是否有一种简单的方法可以"点击""刷新"链接标签?

使用Visual Studio 2008.

c# events winforms

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

使用express.js处理猫鼬连接的正确方法是什么?

我有一个非常简单的"server.js"设置,我正在尝试运行:

var express = require('express'),
    wines = require('./routes/testscripts');

var app = express();

app.get('/first_test', wines.popSingleData);

app.listen(3000);
console.log('Listening on port 3000...');
Run Code Online (Sandbox Code Playgroud)

这是为了连接而设置的 localhost:3000

当我导航到localhost:3000/first_test它时,它调用了testscript.js中的"popSingleData"方法:

...
    var mongoose = require('mongoose');

    mongoose.connect('mongodb://localhost/test');

    var db = mongoose.connection;

    console.log('include called');

exports.popSingleData = function(req, res) {

//  var mongoose = require('mongoose');

//  mongoose.connect('mongodb://localhost/test');

//  var db = mongoose.connection;

    console.log('function called');

    db.on('error', console.error.bind(console, 'connection error:'));
    console.log('error handler set');
    db.once('open', function callback () {
        //yay!
        console.log("DB Opened");

        var someSchema = require('../models/someSchema');

        someSchema.find(function (err, found){
            if (err) 
            { …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js express

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

我可以将Visual Studio 2010 Professional设置为C的IDE吗?

不是C++,不是C#,只是我计算机科学课的普通老C.

我看到了C#,F#,Visual Basic和Visual C++的选项,但如果有一种简单的方法可以让它与C一起使用,我就没有看到它.

*"在这种情况下设置为IDE",意味着使用Visual Studio通过VS2010编译,调试和运行编写的程序,就像我之前使用它在c#中编程一样.

c ide visual-studio-2010

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

正则表达式初始化问题

我正在使用一些遗留代码,我正在尝试将新的正则表达式添加到验证器的枚举器中,我们的目的标记为"URL".据我了解,枚举器的每个部分都可以调用一个单独的正则表达式.无论如何,这是我得到的(和其他人一样,因此尾随的逗号):

URL("[a-zA-Z0-9\r#;?-\'.:,!/\\s]{1,250}", "Up to 250 letters (upper and lower case), numbers, #, ;, ?, -, ', ., :, comma, !, /, blankspace and carriage return"),
Run Code Online (Sandbox Code Playgroud)

我做了一个简单的JUnit测试,看看它是否正常工作.它不是.

Caused by: java.util.regex.PatternSyntaxException: Illegal character range near index 15
[a-zA-Z0-9
#;?-'.:,!/\s]{1,250}
               ^
Run Code Online (Sandbox Code Playgroud)

我试图将URL类型的输入限制在1到250个字符之间,这是我认为我正在做的事情,但是Eclipse似乎对这个逗号有所冒犯(我假设逗号是索引15).我究竟做错了什么?

java regex eclipse

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

在Java中适当使用多级中断

我最近编写了一个小的java程序(作为8086汇编程序的设计)并且我处于一个有趣的位置 - 我需要退出一个内部switch语句的while循环,就像这样(伪代码,显然):

:MyLoop
While(foo)
    switch (bar)
       case '1': print '1'; break
       case '0': print '0'; break
       case ';': end while loop;
Run Code Online (Sandbox Code Playgroud)

它似乎是goto语句的理想之处,因为单个"break"只会退出switch语句,(特别是考虑到我是为汇编而设计的)但是Java没有任何东西!

我发现Java有一个叫做多级中断的东西,所以通过使用"break MyLoop",程序将突破switch case while循环."

那么我的问题是 - 这是多级休息的恰当用途吗?如果出于某种原因,我想保持切换(而不是嵌套的其他ifs)语句,是否有另一种方法可以通过"break"或"continue"单独模仿多级中断?

java label while-loop switch-statement

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

为什么不gsub!改变我的文件?

我正在尝试对目录中的所有文本文件进行简单的查找/替换,[RAVEN_START:通过在行之前插入字符串(在本例中为"raven was here")来修改任何实例.

这是整个ruby程序:

#!/usr/bin/env ruby
require 'rubygems'
require 'fileutils' #for FileUtils.mv('your file', 'new location')

class RavenParser

  rawDir = Dir.glob("*.txt")
  count = 0
  rawDir.each do |ravFile|
    #we have selected every text file, so now we have to search through the file
    #and make the needed changes.
    rav = File.open(ravFile, "r+") do |modRav|
      #Now we've opened the file, and we need to do the operations.
        if modRav            
        lines = File.open(modRav).readlines
        lines.each { |line|
        if line.match /\[RAVEN_START:.*\]/ 
          line.gsub!(/\[RAVEN_START:/, 'raven was …
Run Code Online (Sandbox Code Playgroud)

ruby

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

我应该如何按值传递数组?克隆()不气馁吗?

我一直在调试我的C#程序,经过几次无结果的时间跨度,发现错误来自"意外"通过引用而不是值传递数组.

这是一些伪代码:

//1st pass
currentVertices = levels[0].vertices;   
currentVertices[0].Position.Z -= 10;

//2nd pass
currentVertices = levels[1].vertices;
currentVertices[0].Position.Z -= 10;

//3rd pass
currentVertices = levels[0].vertices;
currentVertices[0].Position.Z -= 10;  

//currentVertices[0].Position.Z is now 10 less than expected;
//20 less than it started. Further loops will increase the difference in expected
//value.
Run Code Online (Sandbox Code Playgroud)

我没想到会通过引用传递数组,但无论如何我不小心这样做了.

有没有办法按而不是按引用分配数组?我知道我可以迭代两个数组,分别指定每个术语,但这似乎不必要地复杂.我有理由相信Clone()函数,克隆,没有相应引用的值,但是这是按值分配的唯一方法吗?即currentVertices = levels[1].vertices.Clone();

Clone()一般不气馁吗?按值传递数组的最佳做法是什么?

在短期内,我只是硬编码加载后的值应该是什么.

正如我的一位主持人朋友所说,

"我看到你通过旁路参考解决了传递引用."

c# arrays pass-by-value

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

如何在更改纹理后更改CCSprite的尺寸?

我的iOS项目中有一段代码通过setTexture交换CCSprite的纹理,如下所示:

[sprite setTexture:[[CCTextureCache sharedTextureCache] addImage:@"Circle.png"]];
Run Code Online (Sandbox Code Playgroud)

但是,交换前后CCSprite纹理的尺寸不同,因此,Circle.png纹理会被裁剪掉; 卡在原始纹理的大小(因为圆圈较大).

交换纹理后如何调整大小?

(相关,但没有帮助解决这个问题)

cocos2d-iphone

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

拥有"通用"枚举是不好的做法吗?

我有一个带有"BlockType"枚举的图形程序.根据州的不同,这可能是以下几种方式之一:木材,石材,草坪等.

最初,每种可能性都需要进行各种纹理操作,但是由于一些重构,枚举仅用作整数,并且不再需要switch语句.即:

BlockType someFoo = someObj.blockType;

Texture usedTexture = textureLookupArray[(int) someFoo];
Run Code Online (Sandbox Code Playgroud)

但作为一个副作用,Enum字符串完全是多余的!即使BlockType 5被定义为"Carpet","Gravel"或"JQuery",我也可以将"Stone"纹理放在第5位!

我的第一个想法是简单地重写BlockType来定义"Material1,Material2等".而不是硬编码(和潜在的冲突!)值,但这实际上是否有用?

可能会有一些好处,我忽略了将BlockType保持为枚举,或者我应该将其切换到常规的Int以减少混淆?

c# enums

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

从作为命令行争论传递的文件中读取

我试图解析给定的文本文件,但到目前为止,我的程序似乎没有正确读取.

#include <stdio.h>


int main(int argc, char *argv[])
{
    FILE *fr; //file pointer
    int buildingFloors = 1;

    printf("sanity check\n");  

    fr = fopen (argv[0], "r");
    fscanf(fr, "%d", &buildingFloors );

    printf("%d\n", buildingFloors);

    fclose(fr);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我编译程序并使用以下命令在我的redhat linux机器上运行它:

./sjf file.text
Run Code Online (Sandbox Code Playgroud)

file.text是一个文本文档,第一个字符为"4".所以我希望我的输出是

sanity check
4
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的程序时,我反而得到了

sanity check
1
Run Code Online (Sandbox Code Playgroud)

这意味着fscanf没有在第一个字符中正确读取 - 4.我是否有一些语法错误阻止了预期的代码功能?我应该扫描一个字符,然后以某种方式将其转换为int?

c linux scanf filereader

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