问题列表 - 第11014页

如何使用散列作为Perl中子例程的参数?

我被要求修改一些现有代码以添加一些额外的功能.我在Google上搜索过,似乎无法找到答案.我有一些这样的效果......

%first_hash = gen_first_hash();
%second_hash = gen_second_hash();
do_stuff_with_hashes(%first_hash, %second_hash);

sub do_stuff_with_hashes
{
    my %first_hash = shift;
    my %second_hash = shift;

    # do stuff with the hashes
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Odd number of elements in hash assignment at ./gen.pl line 85.
Odd number of elements in hash assignment at ./gen.pl line 86.
Use of uninitialized value in concatenation (.) or string at ./gen.pl line 124.
Use of uninitialized value in concatenation (.) or string at ./gen.pl line 143.
Run Code Online (Sandbox Code Playgroud)

第85行和第86行是子例程中的前两行,124和143是我访问哈希的地方.当我查找这些错误时,似乎暗示我的哈希值未初始化.但是,我可以验证哈希值是否有值.为什么我会收到这些错误?

parameters perl hash subroutine

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

捕获没有焦点的击键

例如,使用winamp(至少在Windows上),您可以在后台使用winamp全屏播放游戏,并使用媒体按钮*来控制声音.Winamp不需要获得焦点,允许游戏继续全屏.

我更喜欢用Java编写它,但这可能不会起作用(在Java afaik中捕获没有焦点的键击已经很困难了),所以任何C#解决方案都没问题.

所以基本的问题是:如何在没有焦点的情况下捕获击键?

*)我相信'后退/前进/停止/邮件/搜索/收藏夹/网络/主页'按钮被称为媒体按钮,但欢迎更好的名称:).

c# java keyboard

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

CSS background-image:url(none)导致apache日志文件出错

我遇到了一个奇怪的问题.我用的时候:

background-image: url(none);
Run Code Online (Sandbox Code Playgroud)

在我的css文件中,它在apache日志文件中生成错误:

File does not exist: /...../styles/none, referer: http://blabla.com/styles/styles.css
Run Code Online (Sandbox Code Playgroud)

我使用了W3C CSS验证器并且没有错误(只是一些关于浮动需要宽度的警告).

我曾经有过:

background-image: none;
Run Code Online (Sandbox Code Playgroud)

但我已经更改了所有实例,并使用了最新的样式表.

这是正常的行为,还是我的样式表中某处出现错误的可能性更大?

html css apache

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

如何将 URL 查询参数获取到对象文字中?

在查看 location.search 时,获取查询参数并将其转换为对象文字的最佳方法是什么?假设我有一个如下所示的 URL:

http://foo.com?nodeId=2&userId=3&sortOrder=name&sequence=asc

我想要得到的是一个如下所示的对象文字:

var params = {
  nodeId : 2,
  userId : 3,
  sortOrder: name,
  sequence: asc
}
Run Code Online (Sandbox Code Playgroud)

所以我想做这样的事情:

var url = location.search;
url = url.replace('?', '');
var queries = url.split('&');
var params = {};
for(var q in queries) {
var param = queries[q].split('=');
params.param[0] = param[1];
Run Code Online (Sandbox Code Playgroud)

};

但这行:

params.param[0] = param[1]
Run Code Online (Sandbox Code Playgroud)

产生错误。如果您不知道键名称,如何迭代这些键?

我们正在使用 jQuery,我确信有一个插件可以做到这一点,但我还是想了解如何对此进行编程。

javascript jquery

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

如何使用Compact Framework垂直绘制文本

我需要直接在Windows Mobile窗体上直接绘制文本.这是一个Compact Framework 2.0应用程序.我在Windows窗体应用程序中使用以下测试代码,但它不适用于紧凑框架,因为没有DirectionVertical StringFormatFlag.还有另一种方法可以在Windows Mobile上执行相同的操作吗?升级到Compact Framework 3.5没有帮助.它与2.0具有相同的StringFormatFlags.

private void TestDrawVertically()
{
  Font myFont = new Font(FontFamily.GenericSerif, 10, FontStyle.Bold);
  System.Drawing.Brush myBrush = new SolidBrush(Color.Black);
  Rectangle myRect = new Rectangle(10, 10, 200, 200);
  StringFormat myFormat = new StringFormat();
  myFormat.LineAlignment = StringAlignment.Center;
  myFormat.Alignment = StringAlignment.Center;
  myFormat.FormatFlags = StringFormatFlags.DirectionVertical;
  Graphics myGraphic = this.CreateGraphics();

  myGraphic.DrawString("Hello", myFont, myBrush, myRect, myFormat);
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# user-interface drawing windows-mobile

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

Google地理编码服务会返回虚假地址的回复

我正在使用谷歌地理编码服务来验证我们系统中输入的城市名称(加上地区和国家/地区)是否存在,以及获取纬度/经度.

但是,我发现它似乎在猜测你是否输错了,即使你犯了错误也会返回一个回复.

例如,对"Beverton,Ontario,Canada"的请求返回Beaverton的纬度/经度,没有迹象表明您提供了错误的城市名称.

我正在使用CSV响应类型,并获得200响应代码.

我可以阻止服务这样做,或者更好的是,找出它是否有?

编辑:澄清...谷歌正在纠正输入(当我希望它只是失败),我需要知道它是否已经这样做了.

google-maps geocoding

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

如何在C#中添加对Photoshop CS4 COM的引用

我对Photoshop CS4自动化有一点问题.当我想在Visual Studio 2008项目中添加对COM API的引用时,Adobe Photoshop对象库不会显示在"COM"选项卡下的"添加引用"面板中.但是,Illustrator CS4 Type库显示得很好.Photoshop本身运行完美,无论是32位还是64位.Photoshop与Master Suite CS4的其他应用程序一起安装.

这不适用于Windows 7和Windows XP,在2台不同的机器+ 1虚拟PC(Vmware工作站)上.我也在VS2010 Beta 1和MS Word VB编辑器中尝试过它,但它在这里也没有用.

有人有什么想法吗?如果您能够添加引用,那么您的配置是什么?

c# com photoshop visual-studio-2008

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

没有从Java Access Bridge接收回调

我正在尝试使用Java Access Bridge从C++应用程序中获取有关Swing组件的信息.但是,我注册的回调都没有被调用.我尝试在每个句柄上调用windows然后调用IsJavaWindow(),但它总是返回false.为什么它显然不起作用的任何想法?

我认为这是我的应用程序而不是桥接安装的问题,因为演示的Monkey和Ferret程序工作,initializeAccessBridge()返回true,调试器显示WindowsAccessBridge dll已加载.

我在Windows Vista上使用Java 6,更新13,我认为访问桥的版本2.0.1.

JavaAccess::JavaAccess(void)
{
   using namespace std;

   BOOL isInitialized = initializeAccessBridge();
   if(isInitialized)
   {
      cout << "Bridge Initialized!" << endl;
   }
   else
   {
      cout << "Initialization failed!" << endl;
      return;
   }

   EnumWindows((WNDENUMPROC)EnumWndProc, NULL);

   SetJavaShutdown(OnJavaShutdown);
   SetFocusGained(OnFocusGained);
   SetMouseClicked(OnMouseClicked);
}

JavaAccess::~JavaAccess(void)
{
   shutdownAccessBridge();
}

void JavaAccess::OnJavaShutdown( long vmID )
{
   using namespace std;
   cout << "Java shutdown!" << endl;
}

void JavaAccess::OnFocusGained( long vmID, FocusEvent event, AccessibleContext context )
{
   using namespace std;
   cout << "Focus Gained!" << …
Run Code Online (Sandbox Code Playgroud)

c++ java accessibility java-access-bridge

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

我如何让Groovy和JAXB一起玩得很好

我试图让JAXB与我的一个groovy类一起工作,但是,似乎它不起作用,但java版本.这是代码......

以下是场景:

如果取消注释2和3,它可以正常工作.

如果取消注释1和4,我得到:

 com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:
       2 counts of IllegalAnnotationExceptions
 groovy.lang.MetaClass is an interface, and JAXB can't handle interfaces.
Run Code Online (Sandbox Code Playgroud)

如果取消注释1和5,我得到:

  javax.xml.bind.JAXBException: class org.oclc.presentations.simplejaxb.PlayerGroovy
        nor any of its super class is known to this context.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Java的:

    import javax.xml.bind.annotation.XmlRootElement;

    @XmlRootElement
    public class Player {
    }
Run Code Online (Sandbox Code Playgroud)

Groovy的:

    import javax.xml.bind.annotation.XmlRootElement

    @XmlRootElement
    public class PlayerGroovy {
    }
Run Code Online (Sandbox Code Playgroud)

测试:

    import org.junit.Test
    import javax.xml.bind.JAXBContext
    import javax.xml.bind.Marshaller
    import org.junit.Assert

    class PlayerTest {
        @Test
        public void testJaXB(){
            //1 PlayerGroovy player = new PlayerGroovy()
            //2 Player player = new Player() …
Run Code Online (Sandbox Code Playgroud)

java groovy jaxb

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

AVAudioPlayer重置当前播放的声音并从头开始播放

我在使用AVAudioPlayer时遇到问题,我想重置一个播放器,如果它正在播放并重新播放.

我试着以下没​​有运气:

声音播放一次,但第二次我选择按钮停止声音,第三次再次启动声音.

//Stop the player and restart it
if (player.playing) {
    NSLog(@"Reset sound: %@", selectedSound);
    [player stop];
    [player play];
} else {
    NSLog(@"playSound: %@", selectedSound);
    [player play];      
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用player.currentTime = 0来表示会重置播放器,这不起作用,我也尝试重置currentTime = 0然后调用不起作用的播放.

//Stop the player and restart it
if (player.playing) {
    NSLog(@"Reset sound: %@", selectedSound);
    player.currentTime = 0;
    [player play];
} else {
    NSLog(@"playSound: %@", selectedSound);
    [player play];      
}
Run Code Online (Sandbox Code Playgroud)

iphone audio core-audio avaudioplayer

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