问题列表 - 第44133页

何时使用UML关联类?

我可以在下面这两张图中改进我的设计吗?如果是这样,怎么样?

我在图表中使用关联类感到困惑.我应该使用它们吗?

图1

类图1


图2

类图2

erd uml class-diagram

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

XML,DTD:如何使订单不重要

我开始使用XML文件和解析器作为存储数据的便捷方式

我想使用DTD来检查xml文件到达时的结构.

这是我的DTD文件

< ?xml version="1.0" encoding="UTF-8"?>
< !ELEMENT document (level*)>
< !ELEMENT level (file,filelName?,fileNumber?)>
< !ELEMENT file (#PCDATA)>
< !ELEMENT filelName (#PCDATA)>
< !ELEMENT fileNumber (#PCDATA)>
Run Code Online (Sandbox Code Playgroud)

(请注意,fileName和fileNumber实际上是纯可选的)

<document>
 <level>
  <file>group1file01</file>
 </level>
 <level>
  <file>group1file02</file>
  <fileName>file 2</fileName>
  <fileNumber>0</fileNumber>
 </level>
...
Run Code Online (Sandbox Code Playgroud)

所以这一切都很好.(我现在使用eclipse"validate"选项来测试它)

然而,在测试时我得到了我认为是一个奇怪的错误

如果我做

 <level>
  <levelName>Level 2</levelName>
  <levelNumber>0</levelNumber>
        <file>group1level02</file>
 </level>
Run Code Online (Sandbox Code Playgroud)

更改行的顺序,Eclipse拒绝验证它...

我想知道这是否是Eclipse的问题,或者订单是否真的很重要.

如果订单很重要,我怎样才能更改DTD以使其无论元素的排序如何都能正常工作?

我无法真正改变XML,因为我已经编写了所有的XML文件和解析器(我知道我的方法是错误的)

xml dtd

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

处理Silverlight UserControl

我有一个用C++编写的DLL(Player.dll),内部使用Windows GDI.我有一个用Windows Forms编写的应用程序(基本上是一个视频播放器),内部调用API Player.dll来使用p/invoke技术在屏幕上呈现实际图形:

public class ProxyPlayer
{
    [DllImport("Player.dll", CharSet=CharSet.Unicode, EntryPoint="PlayVideo")]
    public static extern void Play(int playerHandle, out TWResult result);

    [DllImport("Player.dll", CharSet=CharSet.Unicode, EntryPoint="PauseVideo")]
    public static extern void Pause(int playerHandle);

    //other methods
}
Run Code Online (Sandbox Code Playgroud)

它正在发挥作用.

但是现在,我想使用Silverlight 4.0编写相同的应用程序.如您所知,大多数Windows GDI都可以HWND在屏幕上渲染图形,这就是我传递playerHandleProxPlayer方法的原因,正如您自己可以看到的那样.Window Forms' UserControl定义了一个名为Handletype 的公共属性,IntPtr它等同于HWND,所以我将它传递给ProxyPlayer方法.它解决了我的问题.但Silverlight UserControl没有任何此类财产.

所以我的问题基本上是,我如何处理我的silverlight控件?因为没有它,我无法调用API Player.dll.但我要从中呼叫APS.我没有任何其他选项,因为DLL是实际的引擎,它确实解释了大量数据然后渲染它们.所以请建议我符合我的要求的解决方案!

注意:假设我的silverlight应用程序将始终在Microsoft Windows上运行.所以我没有问题对Windows GDI进行设置.

c# silverlight pinvoke winforms silverlight-4.0

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

如何将我的Sql Server CE 3.5 sdf数据库升级到Sql Server CE 4.0?

我需要将我的SqlCE3.5数据库更新为4.0.

当我尝试使用新的CE4.0连接提供访问我的3.5 sdf /数据库时,我收到以下错误消息: -

System.Data.EntityException:基础提供程序在Open上失败.---> System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException:数据库文件已由早期版本的SQL Server Compact创建.请使用SqlCeEngine.Upgrade()方法升级.

谁知道我怎么做到这一点?显然我需要以编程方式进行,但我不确定我应该做什么/我需要添加什么参考,等等.

干杯!

visual-studio-2010 sql-server-ce entity-framework-4 sql-server-ce-4

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

如何找到jar中定义的包?

我有一堆JAR文件(来自maven2项目)和maven报告无法找到一些包(确切地说是org.openanzo.client.jena).我想深入研究作为maven依赖解析结果下载的JAR文件,并找到这些JAR文件可用的包.见解?

更新:显然,检查jar文件内部的唯一好方法是"jar"实用程序,或者可以使用其IDE的工具来执行此操作.

jar package maven

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

Groovy编辑XML文件,保留注释,换行符

我想编辑现有的XML文件,同时保留它的原始布局.这包括新行,注释等.编辑包括在XML中查找元素和修改文本值.

我的第一次尝试是将XMLParser与XmlUtil.serialize一起使用,但这不符合要求.

任何人都知道XMLParser的任何替代方法,其中编辑是原始XML字符串的"到位"?如果没有,也许有一个库使用XPath/GPath执行搜索,只返回查找的位置,所以我可以做StringBuilder.replace.

编辑:

现在我做了这个函数,找到XML节点的字符串索引(我可以使用xpath找到),然后我在索引上进行替换.适用于简单节点<node> value </ node>:

def find_location_by_node(xmlString, root_xml, node)
{
    current_index = 0;

    for(current_node in root_xml.depthFirst())
    {
      node_name = current_node.name().getLocalPart()
      current_index = xmlString.indexOf('<' + node_name, current_index);

      if(current_node == node)
      {
        end_tag = '</' + node_name + '>';
        end_tag_index = xmlString.indexOf(end_tag, current_index) + end_tag.length();

        return [current_index, end_tag_index];
      }
    }

  return -1;
}
Run Code Online (Sandbox Code Playgroud)

xml groovy

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

如何在所需目录中打开Filedialog

我有两个按钮都打开filedialog我想要的两个按钮应该总是打开他们相关的目录在filedialog当他们按下.在我的情况下filedialog保持最后打开目录,我不想要.

java swing filedialog

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

服务器上的Nano忽略了某些语法着色

nano通过ssh在服务器上使用; 在该系统上,nano默认情况下没有启用语法颜色.所以我在服务器上复制了这些nanosyntax文件(另请参阅@CraigBarnes的答案),并设置~/.nanorc为:

include "~/nanosyntax/syntax-nanorc/php.nanorc"
include "~/nanosyntax/syntax-nanorc/php2.nanorc"
include "~/nanosyntax/syntax-nanorc/sh.nanorc"
include "~/nanosyntax/syntax-nanorc/python.nanorc"
include "~/nanosyntax/syntax-nanorc/html.nanorc"
include "~/nanosyntax/syntax-nanorc/perl.nanorc"
include "~/nanosyntax/syntax-nanorc/ruby.nanorc"
include "~/nanosyntax/syntax-nanorc/js.nanorc"
Run Code Online (Sandbox Code Playgroud)

现在,这就是事情; 如果我只是打电话:

nano somefile.php
Run Code Online (Sandbox Code Playgroud)

...没有php语法着色.如果我试图强迫:

nano --syntax=php somefile.php
Run Code Online (Sandbox Code Playgroud)

...仍然没有语法着色(显示为纯文本).但是,如果我这样做:

nano ~/.nanorc
Run Code Online (Sandbox Code Playgroud)

...然后我得到语法着色(对应.nanorc类型的文件)?!

很明显,语法着色就像这样工作(即shell和nano能够做到的) - 除了,它似乎被忽略了一些语言,比如在这种情况下php?!

那么,有没有人知道发生了什么 - 我怎样才能获得php文件的语法着色?

谢谢,
干杯!

syntax-highlighting nano

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

MySQL:如何将varchar(255)UNIQUE列更改为UNIQUE Text NOT NULL?

当前列是VARCHAR(255)NOT NULL,那么如何将其更改为TEXT NOT NULL?

注意:要更改其属性类型的列是另一列的UNIQUE KEY组合.例如

独特的钥匙(名称,描述)

列描述当前在varchar(255)中.由于这个原因,它无法改变:

错误1170(42000):BLOB/TEXT列'描述'在密钥规范中使用,没有密钥长度

我需要它是TEXT,否则我需要重新创建整个事情?我已经收到了一些繁琐而重要的数据.重新创建会很麻烦.

mysql sql mysql-error-1170

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

ThreadPool.QueueUserWorkItem的意外行为

请检查下面的代码示例:

public class Sample
{
    public int counter { get; set; }
    public string ID;
    public void RunCount()
    {
        for (int i = 0; i < counter; i++)
        {
            Thread.Sleep(1000);

            Console.WriteLine(this.ID + " : " + i.ToString());
        }
    }
}

class Test
{
    static void Main()
    {
        Sample[] arrSample = new Sample[4];

        for (int i = 0; i < arrSample.Length; i++)
        {
            arrSample[i] = new Sample();
            arrSample[i].ID = "Sample-" + i.ToString();
            arrSample[i].counter = 10;
        }

        foreach (Sample s in arrSample) …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading asynchronous threadpool

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