小编bri*_*ium的帖子

在InnoSetup配置文件的[Run]段中检查Windows版本

我必须在安装过程中安装驱动程序InnoSetup.为此我有32位/ 64位的两个.msi安装文件.现在在Win7中,这个驱动程序已经包含在内了,所以我不需要再次安装它.到目前为止,我这样做了:

[Tasks]                
Name: "install_usb"; Description: "Install USB driver"; GroupDescription: "Drivers:";

[Files]
Source: "xy\driver\*"; DestDir: "{tmp}"

[Run]    
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_32bit.msi"""; StatusMsg: "Installing 32bit USB driver"; Check: not IsWin64(); Tasks: install_usb; Flags: skipifsilent
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_64bit.msi"""; StatusMsg: "Installing 64bit USB driver"; Check: IsWin64(); Tasks: install_usb; Flags: skipifsilent
Run Code Online (Sandbox Code Playgroud)

因此,用户可以选择是否要安装驱动程序.如果他选择这样做,那么正确的驱动程序就会运行.这很好用.现在我想选择在> = Win7运行时不安装驱动程序.我读到了,OnlyBelowVersion: 6.1但我似乎无法在这一[Run]节做这样的事情:

[Run]    
... Check: IsWin64() and OnlyBelowVersion:6.1; ...
Run Code Online (Sandbox Code Playgroud)

我如何OnlyBelowVersion在该[Run]部分中使用(或类似的东西)?

此外,我想确保.msi以正确的模式运行(64位系统的64位模式).因为我认为,现在情况并非如此.有可能强制执行吗?我发现了ArchitecturesInstallIn64BitMode=x64,我该把它放在哪里?

64-bit inno-setup driver windows-7

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

将自定义代码格式化程序绑定到eclipse项目

我有一个我在Java项目中设置的自定义代码格式化程序.所有代码更改都会在保存时自动格式化.我的项目是通过SVN保存在服务器上的,所以其他人也可以使用它们.

问题是我希望在所有机器上应用单个代码格式化程序(我的).现在的样子,我必须去一台新机器,查看代码(格式化程序也在存储库中),将项目导入eclipse并手动更改eclipse设置以使用该代码格式化程序.有没有办法在项目级别而不是IDE级别上执行此操作?所以我不必在每台机器上手动执行此操作?

java eclipse project formatter

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

定义了JFreeChart域/范围轴

有人可以提供JFreeChart轴类型的简单解释吗?

  1. 首先,我们有基于类层次结构的轴(ValueAxis,CategoryAxis,许多子类)

  2. 我们还有"域轴"与"范围轴"的区别(仅适用于xy图?).它们与基于类层次结构的轴的关系并不完全清楚.这些不是类,但XYPlot中有setDomainAxis和setRangeAxis方法.

  3. 在视觉上我会想到在水平轴和垂直轴上,我不确定这些是如何与之前的概念相关的("域"总是水平的?).我认为x轴是水平的,y轴是垂直的,但我不确定XYPlot是否总是如此.

编辑:我试图研究API文档和开发人员指南.API文档只是给出了类的层次结构,但不清楚何时以及如何使用它们.开发人员指南也没有给出"域轴"和"范围轴"的定义或解释,它只是使用这些术语.我承认问题很广泛,因为我无法在任何地方找到这些基本信息.我想要有一个大致的理解,但我现在最重要的问题是决定水平/垂直轴上的内容("域"是否总是水平?如果不是如何设置它?)因为我得到一些疯狂的结果,我不知道从哪里开始调试.如果我想将两个图放在一个上面,我还不清楚是否应该使用CombinedRangeXYPlot或CombinedDomainXYPlot.

EDIT2:虽然没有回答,但我在此期间发现了什么决定了域轴是否是水平的: PlotOrientation设置.此设置(在组合图的级别上)还确定CombinedRangeXYPlot/CombinedDomainXYPlot是水平还是垂直排列两个图.

java plot axes jfreechart

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

eclipse C项目显示错误(符号无法解析),但它编译

我可以在工作中访问一个C项目,我必须实现一些东西.我能够将它加载到eclipse中并且可以Project -> Build All.编译显示没有错误或警告.但是在eclipse中,显示了很多错误.一个例子:


有一个枚举

typedef enum MeasurementType {
    PN, BB, AM, RES
} MEAS_TYPE;
MEAS_TYPE type;
Run Code Online (Sandbox Code Playgroud)

在其中一个文件中.它在其他地方使用并产生如下错误: 在此输入图像描述

最有趣的是,这AM似乎只是一个问题,而不是PNBB.


我还没有找到令人满意的解决方案.我已经尝试包含我能想到的所有可能的目录Project Properties -> C/C++ General -> Paths and Symbols(比如这篇文章建议),但这没有帮助.

项目本身是用Makefile编译的(这就是我需要的原因Project -> Build All).是不是eclipse没有正确地解释那些Makefile呢?在搞乱了几个小时并且没有前进一步之后,我有点迷失了.

编辑:这是我的构建相关项目属性的一些截图(至少我相信它们是相关的:D).如果您需要更多信息,请告诉我.

在此输入图像描述 在此输入图像描述

c eclipse indexing

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

如何在java中获取屏幕DPI?

我正在开发一个应用程序,我需要屏幕DPI ..我检查了几个论坛,并获得了一个代码片段,如下所示:

Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
System.out.println("screen width: "+screen.getWidth()); 
System.out.println("screen height: "+screen.getHeight()); 
int pixelPerInch=java.awt.Toolkit.getDefaultToolkit().getScreenResolution(); 
System.out.println("pixelPerInch: "+pixelPerInch); 

double height=screen.getHeight()/pixelPerInch; 
double width=screen.getWidth()/pixelPerInch; 
double x=Math.pow(height,2); 
double y=Math.pow(width,2); 
Run Code Online (Sandbox Code Playgroud)

但无论屏幕分辨率的pixelPerInch值是多少,96 的值都保持不变.代码有什么问题?

我得到了另一个swt相同的代码,如下所示:

  import org.eclipse.swt.graphics.Device;
  import org.eclipse.swt.widgets.Display;
  import org.eclipse.swt.widgets.Shell;

  public class MainClass {
  public void run() {
  Display display = new Display();
  Shell shell = new Shell(display);
  shell.setText("Display Device");
  createContents(shell);
  shell.pack();
  shell.open();
  while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) {
      display.sleep();
    }
  }
  display.dispose();
}

private void createContents(Shell shell) {
  Device device = shell.getDisplay(); …
Run Code Online (Sandbox Code Playgroud)

java screen-resolution

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

Netbeans调色板中的setVisible在哪里?

我在设计模式上使用Netbeans来制作一个gui.我正在寻找一个对应setVisiblejava方法的属性,我找不到它.

我查看过Properties和Binding,但什么也没找到.

最后,我this.component.setVisible(false);在托盘代码部分写了Post-Init Code.

还有另一种方法吗?

PS:我使用的是Netbeans 7.1

java netbeans netbeans-7

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

toString:什么时候使用?

我上课了

class Configuration {
  // various stuff

  @Override
  public String toString() {
    // assemble outString
    return outString;
  }
}
Run Code Online (Sandbox Code Playgroud)

我还有另一堂课

class Log {
  public static void d(String format, Object... d) {
    // print the format using d
  }
}
Run Code Online (Sandbox Code Playgroud)

Log类工作得非常好,我一直都在使用它.现在当我这样做:

Configuration config = getConfiguration();
Log.d(config);
Run Code Online (Sandbox Code Playgroud)

我得到编译器错误The method d(String, Object...) in the type Log is not applicable for the arguments (Configuration).我可以解决这个问题:

Log.d("" + config);       // solution 1
Log.d(config.toString()); // solution 2
Run Code Online (Sandbox Code Playgroud)

我的问题:这有什么不同?在第一个解决方案中,编译器注意到它必须连接两个字符串,但第二个是配置.所以Configuration#toString()被称为一切都很好.在编译器错误情况下,编译器发现需要一个String,但是给出了一个Configuration.基本上是同样的问题.

  • 需要:字符串
  • 鉴于:配置

这些案件有何不同,为什么toString不被称为?

java tostring

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

Java扫描程序阵列

我遇到了java的麻烦.我需要扫描数字(例如1 3 4 2 5 6 7:)并将它们放入数组中.问题是我不知道它会持续多久.是否有一个命令可用于确定扫描仪中放置的数字的长度?

java

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

fork to shell脚本并使用Haskell终止原始进程

我目前正在编写一个Haskell程序,它执行一些初始化工作,然后调用ncmpcpp.我想要做的是启动ncmpcpp并终止Haskell程序,这样只剩下ncmpcpp(可选地,程序可以继续在后台运行,只要它是不引人注意的)

但是,即使我能够启动ncmpcpp,我也无法与它进行交互.我看到它的输出,但输入似乎是不可能的.

我目前正在做的是:

import System.Process (createProcess, proc)
...
spawnCurses :: [String] -> IO ()
spawnCurses params = do 
  _ <- createProcess (proc "ncmpcpp" params)
  return ()
Run Code Online (Sandbox Code Playgroud)

我做错了什么/我该怎么办?

haskell fork process

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

java 2不同的公式问题

我想使用Java程序计算球体的体积.所以,我用过

double result = 4/3*Math.PI*Math.pow(r,3);
Run Code Online (Sandbox Code Playgroud)

这个公式似乎给出了错误的答案.

像Java程序opt 4/3,但如果我改成它

double result= Math.PI*Math.pow(r,3)*4/3;
Run Code Online (Sandbox Code Playgroud)

它给了我正确的答案.有人知道发生了什么吗?

java

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