问题列表 - 第14803页

非递归合并排序

有人可以用英语解释非递归合并排序的工作原理吗?

谢谢

algorithm mergesort

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

将自定义上下文菜单项添加到Windows窗体标题栏

我在MSDN上找到了一个线程,它显示了如何将项添加到winform标题栏的上下文菜单中.不幸的是,它没有显示如何使用自定义菜单项注册事件,我一直无法弄清楚如何做到这一点.下面是一个示例应用程序,可以将其复制并粘贴到新的Windows窗体应用程序中.如果有人可以为我完成样品,我将不胜感激.谢谢

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            IntPtr hMenu = GetSystemMenu(Handle, false);
            if (hMenu != IntPtr.Zero)
            {
                var menuInfo = new MENUITEMINFO
                   {
                       cbSize = (uint) Marshal.SizeOf(typeof (MENUITEMINFO)),
                       cch = 255,
                       dwTypeData = "Test Item",
                       fMask = 0x1 | 0x2 | 0x10,
                       fState = 0,
                       fType = 0x0
                   };

                InsertMenuItem(hMenu, 0, true, ref menuInfo);
                DrawMenuBar(Handle);
            }
        }

        [DllImport("user32.dll")] 
        static extern IntPtr GetSystemMenu(IntPtr hWnd, bool …
Run Code Online (Sandbox Code Playgroud)

c# winapi winforms-interop winforms

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

如何使用Wix将一组文件复制到多个位置?

我正在尝试进行安装,将相同文件的副本放在多个位置......

有一个简单的方法来做到这一点?

例如.如果我想将a.txt b.txt c.txt放入以下所有目录: -

.\ Blah\
.\ Txts\
.\例子\

wix

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

为什么我不能打开Perl的readdir返回的文件?

嗯,我知道这是另一个新手问题,但我非常沮丧,我希望再次开悟.在你们的指导下,我已经学会了如何使用glob函数来读取目录中每个文件的内容.现在我正在尝试readdir-foreach组合做同样的事情,但我一直收到"无法打开文件:权限被拒绝"错误.为什么会发生与管理员相同的目录,相同的文件和相同的文件.有人可以告诉我我做错了什么吗?谢谢.

以下代码使用glob函数,它可以工作:

#! perl
my $dir = 'f:/corpus/';
my @files = glob "$dir/*";
foreach my $file (@files) {
open   my $data, '<',"$file" or die "Cannot open FILE";
while(<$data>) {
...}
Run Code Online (Sandbox Code Playgroud)

以下代码失败,错误消息显示"无法打开文件:权限被拒绝".但为什么?

#! perl
my $dir = 'f:/corpus/';
opendir (DIR,'f:/corpus/') or die "Cannot open directory:$!";
my @files=readdir(DIR);
closedir DIR;
foreach my $file (@files) {
open   my $data, '<',"$file" or die "Cannot open FILE:$!";
while(<$data>) {
...}
Run Code Online (Sandbox Code Playgroud)

perl readdir

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

DI:处理IDisposable对象的生命

所以我正在研究我的DI/IoC容器OpenNETCF.IoC,我有一个(合理的)功能请求,为容器集合中的IDisposable项添加某种形式的生命周期管理.

我当前的想法是,因为我不能查询一个对象以查看它是否已被处理,并且我无法获得一个事件,因为它被处理掉了,我必须为开发人员想要的对象创建某种形式的包装器要管理的框架.

现在可以使用AddNew添加对象(为简单起见,我们假设只有一个重载,并且没有Add):

public TTypeToBuild AddNew<TTypeToBuild>() { ... }
Run Code Online (Sandbox Code Playgroud)

我正在考虑的是添加一种新方法(很好的一组,但你得到的图片):

public DisposableWrappedObject<IDisposable> AddNewDisposable<TTypeToBuild>()
    where TTypeToBuild : class, IDisposable
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

DisposableWrappedObject的位置如下所示:

public class DisposableWrappedObject<T>
    where T : class, IDisposable
{
    public bool Disposed { get; private set; }
    public T Instance { get; private set; }

    internal event EventHandler<GenericEventArgs<IDisposable>> Disposing;

    internal DisposableWrappedObject(T disposableObject)
    {
        if (disposableObject == null) throw new ArgumentNullException();

        Instance = disposableObject;
    }

    ~DisposableWrappedObject()
    {
        Dispose(false);
    }

    public void Dispose()
    {
        Dispose(true);
    }

    protected virtual …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection compact-framework ioc-container opennetcf.ioc

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

如何在这个java程序中添加GUI?

我只知道java中的基本内容.我需要为这种类型的程序创建一个GUI.它会显示您的信用卡信息.它有一些其他类,并利用rmiregistry.这在控制台中工作正常,但我需要在GUI中显示它.这里提示的第一件事是输入你的名字(java Shopper localhost 我的名字).然后它会显示您的信用卡信息.谁能帮我?谢谢,麻烦您了

import java.rmi.*;
import javax.swing.*;

public class Shopper {
    public static void main(String args[])
    {
        CreditManager cm = null;
        CreditCard account = null;

        if(args.length<2)
        {
            System.err.println("Usage:");
            System.err.println("java Shopper <server> <accountname>");
            System.exit(1);
        }
        try
        {
            String url = new String("//"+args[0]+"/cardManager");
            System.out.println("Shopper: lookup cardManager, url="+url);
            cm = (CreditManager) Naming.lookup(url);
        }catch(Exception e)
        {
            System.out.println("Error in getting Card Manager "+e);
            System.exit(1);
        }

        try
        {
            account = cm.findCreditAccount(args[1]);
            System.out.println("Found account for "+args[1]);
        }catch(Exception e)
        {
            System.out.println("Error in getting acocunt for "+args[1]); …
Run Code Online (Sandbox Code Playgroud)

java user-interface rmi credit-card

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

如何找到Perl模块的安装位置?

如何通过名称获取已安装的Perl模块的路径,例如Time::HiRes

我想要这只是因为我必须在SGE Grid Engine系统的不同节点上运行我的perl脚本.有时,甚至以其他用户名运行.

我可以使用CPAN.pm为自己安装软件包,但是对于没有文件夹上的chmod 666的其他用户来说安装起来并不容易.

perl config module path

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

使用php计算字符串中大写字母的最简单,最短的方法?

我正在寻找最短,最简单和最优雅的方法来计算给定字符串中的大写字母数.

php count letters

14
推荐指数
3
解决办法
9827
查看次数

使用localhost SMTP发送邮件

我正在尝试在IIS上设置SMTP服务器以发送邮件.SMTP服务器旨在由C#中的ASP.NET代码使用.

我之前使用的是gmail smtp,其中我提供了smtp.gmail.com作为主机的安全端口和我的gmail uid/pwd.这工作得很好.这是用于执行此操作的代码.

SmtpClient smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = false;
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.Credentials = new NetworkCredential(uname,pwd);
smtpClient.EnableSsl = true;
smtpClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)

现在我打算在IIS上使用localhost SMTP服务器,我应该为参数UseDefaultCredentials和Credentials提供什么值.我将通过端口25为EnableSsl分配false.

此外,什么是最简单的SMTP虚拟服务器配置.

c# iis-6 smtp

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

删除NULL但没有编译错误

我很困惑为什么下面的C++代码可以编译.为什么调用删除0的方法不会产生任何错误?!

int *arr = NULL;     // or if I use 0, it's the same thing      
delete arr;
Run Code Online (Sandbox Code Playgroud)

我确实尝试过运行它,它根本没有给我任何错误......

c++ null

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