小编Don*_*gyi的帖子

我可以创建一个反序列化我的对象的字符串版本的构造函数吗?

我正在使用Delphi帮助文件中的ComponentToString部分中的示例对对象(TComponent后代)进行序列化和反序列化.这样我就可以将对象存储在数据库的VARCHAR字段中.

当我需要从存储在数据库中的字符串实例化我的类的新实例时,我可以使用表单的构造函数来实现CreateFromString(AOwner: TComponent; AData: String)吗?或者我是否必须使用返回组件类实例的非类方法?

如果我可以使用构造函数版本,如何将ReadComponent的返回值"映射"到构造函数创建的"self"?

这是帮助文件中的反序列化示例:

function StringToComponentProc(Value: string): TComponent;
var
  StrStream:TStringStream;
  BinStream: TMemoryStream;
begin
  StrStream := TStringStream.Create(Value);
  try
    BinStream := TMemoryStream.Create;
    try
      ObjectTextToBinary(StrStream, BinStream);
      BinStream.Seek(0, soFromBeginning);
      Result:= BinStream.ReadComponent(nil);
    finally
      BinStream.Free;
    end;
  finally
    StrStream.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi serialization delphi-2010

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

我可以从超类中实例化一个子类对象

我有以下示例代码:

class A(object):
    def __init__(self, id):
        self.myid = id
    def foo(self, x):
        print 'foo', self.myid*x

class B(A):
    def __init__(self, id):
        self.myid = id
        self.mybid = id*2
    def bar(self, x):
        print 'bar', self.myid, self.mybid, x
Run Code Online (Sandbox Code Playgroud)

使用时,可以生成以下内容:

>>> a = A(2)
>>> a.foo(10)
foo 20
>>> 
>>> b = B(3)
>>> b.foo(10)
foo 30
>>> b.bar(12)
bar 3 6 12
Run Code Online (Sandbox Code Playgroud)

现在让我说我有更多的子类class C(A):class D(A):.我也知道id总是适合B,C或D,但同时也不会在2中.

现在我想调用A(23)并获得正确子类的对象.像这样的东西:

>>> type(A(2))
<class '__main__.B'>
>>> type(A(22))
<class '__main__.D'>
>>> type(A(31))
<class '__main__.C'>
>>> type(A(12)) …
Run Code Online (Sandbox Code Playgroud)

python oop

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

查找具有属性的最小对象子集.

我有算法问题.我不知道如何解决它.也许有人可以帮助我?

我有对象.每个对象具有相同的功能.它可以在表格中说明:

                 Feature1    Feature2    Feature3   Feature4
      Object1       1           0           1          1

      Object2       0           0           0          1

      Object3       0           1           1          1

      Object4       0           1           0          0
Run Code Online (Sandbox Code Playgroud)

现在我想找到所有最小的对象子集.对于每个特征,每个子集应至少具有一个值"1".对于上表,结果是两个子集:{Object1,Object3}和{Object1,Object4}.我无法生成所有可能的子集,因为它可能需要太多时间.

language-agnostic algorithm subset

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

LinkBut​​ton打开新窗口选项卡

<asp:LinkButton ID="lnkbtnMoreTagRules" runat="server" 
   CommandName='<%#Eval("Value")%>'
   CommandArgument='<%# string.Format("{0}||||{1}", Eval("Tag"), 
       Eval("TagAppearance"))%>' 
   OnCommand="lnkbtnMoreTagRules_Command">Ve? pravil</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)

我想关闭当前窗口选项卡并打开新窗口.

如何打开带有linkbutton的新窗口选项卡.target="_blank"没有帮助.

c# asp.net

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

Hibernate抛出PK违规错误

我一直在使用jboss 4.2.3的hibernate,一切正常,现在我将代码迁移到Jboss 7.1.1,突然我开始得到:

Caused by: org.hibernate.exception.ConstraintViolationException: ORA-00001: unique constraint (OBLICORE.PK_ACE_WORKERS_QUEUE_STATS_ID) violated
Run Code Online (Sandbox Code Playgroud)

生成的ID也是负数.

失败的实体定义如下:

@Id
@SequenceGenerator(name = "SEQ_ACE_WORKERS_QUEUE_STATS_ID", sequenceName = "SEQ_ACE_WORKERS_QUEUE_STATS_ID", allocationSize = 500)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ACE_WORKERS_QUEUE_STATS_ID")
@Column(name = "ID")
private long Id;
Run Code Online (Sandbox Code Playgroud)

我检查了Oracle中的序列,看起来没问题(就像我说的那样,它之前使用的是jboss 4.2,并且自迁移以来在数据库方面没有任何变化).

我尝试编写Hibernate查询日志,但找不到该查询,我还记录了持久化该类的特定调用,并发现它只被调用一次.

java oracle hibernate jpa jboss7.x

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

泛型类型的签名约束

struct S(int a, int b) { }

void fun(T)(T t) { }
Run Code Online (Sandbox Code Playgroud)

我只想和你fun一起工作S.签名约束会是什么样的?

我不能成为fun会员S,而且void fun(T)(T t) if(is(T : S)) { }我得到了Error: struct t1.S(int a,int b) is used as a type

d

4
推荐指数
2
解决办法
494
查看次数

任何支持SBT的IDE?

是否有任何IDE以适当的方式支持SBT(例如Maven)?因为我发现了很多生成与IDE相关的配置文件的工具,但是我没有找到任何能够在IDE中提供SBT交互形式支持的插件.

我想基于SBT创建一个与IDE无关的项目,但我也希望能够使用IDE提供的全部功能,而不仅仅是将它用作编辑器并从控制台执行所有其他功能.

ide plugins scala sbt

4
推荐指数
2
解决办法
1838
查看次数

如何检查ajax响应是否包含特定值

如何检查返回的结果是否包含特定值?

$(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {

               //here i wanna check if the result return contains value "test"
               //i tried the following..
                 if($(result).contains("test")){
                 //do something but this doesn't seem to work ...
                 }

                }
            },
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

ajax jquery

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

FTP apache在java中提交进度条

我正在开发一个小程序,它可以将文件上传到我的FTP服务器并用它做一些其他的事情.现在......一切正常,我正在使用org.apache.commons.net.ftp FTPClient该类进行上传.

ftp = new FTPClient();
ftp.connect(hostname);
ftp.login(username, password);

ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory("/shares/public");
int reply = ftp.getReplyCode();

if (FTPReply.isPositiveCompletion(reply)) {
    addLog("Uploading...");
} else {
    addLog("Failed connection to the server!");
}

File f1 = new File(location);
in = new FileInputStream(

ftp.storeFile(jTextField1.getText(), in);

addLog("Done");

ftp.logout();
ftp.disconnect();
Run Code Online (Sandbox Code Playgroud)

应上传的文件在hTextField1中命名.现在......我如何添加进度条?我的意思是,ftp.storeFile中没有流...我该如何处理?

谢谢你的帮助!:)

问候

java ftp progress-bar apache-commons-net

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

在标签中加载不同的活动

搜索stackoverflow和谷歌花了很长时间,找不到向我说明如何在我的应用程序中实现Tabs的指南.

我知道不应该使用TabActivity,我也读过关于不使用TabHost的建议(至少那个理解).我的兴趣不仅仅是在更改标签时更改内容是运行完整活动.

MainActivity:
   - Tab1Activity
   - Tab2Activity
   - Tab3Activity
Run Code Online (Sandbox Code Playgroud)

我的目标是构建一个由api 8到最新版本的各种设备支持的应用程序.我正在使用android-support-v4.jar.

我的第二个目标是在每个标签中加载一个活动,因为至少有两个活动消耗了足够的资源,速度应始终占优势.

可以帮助我指导或解释一个"正确"的方法来实现这一目标.

tabs android

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