小编Bri*_*sen的帖子

Windows上的Perl,文件关联和I/O重定向

有人能解释通过文件关联调用perl脚本与通过显式调用相同脚本之间的区别perl.exe吗?

显然,当通过文件关联调用脚本时,I/O重定向不能很好地工作,我真的很想知道原因.

例如,在Windows上查看PerlActivestate FAQ.cat file只要脚本没有通过重定向接收输入,该示例就可以正常工作.所以

cat file.txt
Run Code Online (Sandbox Code Playgroud)

按预期工作,但是

whoami | cat.pl
Run Code Online (Sandbox Code Playgroud)

才不是.不仅.pl需要扩展,而且显然输出whoami不会通过管道传输到脚本中.运行脚本(可以通过修改示例cat.pl脚本来验证),但由于某种原因,它不会接收whoami输入的输出.

但是,如果我像这样调用脚本:

whoami | perl cat.pl
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作.

显然,通过文件关联运行脚本和perl.exe使用脚本显式调用之间存在重要区别.

常见问题解答提到了这个问题,并指出pl2bat用于为脚本生成bat文件封面修复了问题,但我不明白为什么这是必要的.

请赐教.

windows perl redirect file-association

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

出现VerticalScrollBar时调整边框大小

让我告诉你我的XAML代码的一部分:

<ListBox Grid.Row="1"  ScrollViewer.HorizontalScrollBarVisibility="Disabled"
         ScrollViewer.IsDeferredScrollingEnabled="True"
         HorizontalAlignment="Stretch" ItemsSource="{Binding}"  Margin="1,1,0,0"
         Name="listBox_Faits"  Width="290"  VerticalAlignment="Stretch"
         SelectionChanged="listBox_Faits_SelectionChanged">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Border  BorderBrush="SlateGray" BorderThickness="0.5" Margin="1,2,1,1"
                     Width="{Binding ElementName=listBox_Faits, Path=Width}">
Run Code Online (Sandbox Code Playgroud)

如果创建了太多边框(它与ObservableCollection链接),则会出现垂直滚动条,并且我的边框不会自行调整大小.(我希望看到完整的边框,我不希望它在最后被切割)

如果有人有想法,谢谢!如果您需要更多信息,请随时询问!

RGDS,

弗洛

c# wpf resize border datatemplate

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

VLC内存转码

我想在VLC支持的音频格式之间进行内存转换.例如从MP3到PCM波.由于各种原因(速度,实时流),无法将文件写入磁盘,转换并读回.这一切都必须在记忆中完成.我对VLC API不太熟悉,所以这很可能是一个微不足道的问题.

从我在Codeproject文章中看到的内容可以使用VLC 1.2中的"Memory Renderer"来完成.但是它没有说输入.

如何使用VLC进行音频格式的内存转换(思考System.IO.Stream)?
最佳情况:输入(源)和输出(目标)在内存中.
可以解决:输出在内存中.

为此,我已经看了好几个项目.Vlc > = 1.2的唯一一个(我能看到的)是VlcDotNet.但同样,也许这个功能在1.2之前出现过?

.net vlc transcoding

6
推荐指数
0
解决办法
1226
查看次数

将坐标转换卸载到GPU

我有一个使用WinForms的遗留地图查看器应用程序.它是sloooooow.(速度过去是可以接受的,但谷歌地图,谷歌地球出现了,用户被宠坏了.现在我被允许更快:)

在完成所有明显的速度改进(缓存,并行执行,不绘制不需要绘制的内容等)之后,我的探查器向我显示真正的窒息点是将点从地图空间转换为屏幕空间时的坐标转换.通常,转换代码如下所示:

    public Point MapToScreen(PointF input)
    {
        // Note that North is negative!
        var result = new Point(
           (int)((input.X - this.currentView.X) * this.Scale),
           (int)((input.Y - this.currentView.Y) * this.Scale));
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

真正的实现比较棘手.纬度/长度表示为整数.为了避免失去精确度,它们乘以2 ^ 20(~1百万).这是一个坐标的表示方式.

public struct Position
{
    public const int PrecisionCompensationPower = 20;
    public const int PrecisionCompensationScale = 1048576; // 2^20
    public readonly int LatitudeInt; // North is negative!
    public readonly int LongitudeInt;
}
Run Code Online (Sandbox Code Playgroud)

重要的是,可能的比例因子也明确地绑定到2的幂.这允许我们用比特移位替换乘法.所以真正的算法看起来像这样:

    public Point MapToScreen(Position input)
    {
        Point result = new …
Run Code Online (Sandbox Code Playgroud)

c# gpu gpgpu opencl coordinate-transformation

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

从一个总和等于零的集合中找到一个子集?

我有一组像这样的整数

{1,4,5,2,7,8,-3,-5,-6,9,3,-7,-1,5,6} 
Run Code Online (Sandbox Code Playgroud)

该集合可以包含任意数量的项目,因为输入是从用户那里获取的,我需要从该集合中找到所有可能的子集,其总和等于零,例如在这种情况下,在上面的集合中,子集将是

{(1,2,-3)}

{(1,-1)}

{(3,-3)}

{(5,-5)}

等等

我已经尝试过这段代码,但是当我设置target为零时,它并没有给我回答.

import java.util.ArrayList;
import java.util.Arrays;

class SumSet {

    static void sum_up_recursive(ArrayList<Integer> numbers, int target,
                                 ArrayList <Integer> partial)
    {
        int s=0;
        for (int x: partial) s += x;
        if (s == target)
            System.out.println("sum("+Arrays.toString(partial.toArray())+")="+target);

        if (s >= target)
            return;

        for(int i=0;i<numbers.size();i++) {
            ArrayList<Integer> remaining = new ArrayList<Integer>();
            int n = numbers.get(i);
            for (int j=i+1; j<numbers.size();j++) remaining.add(numbers.get(j));
            ArrayList<Integer> partial_rec = new ArrayList<Integer>(partial);
            partial_rec.add(n);
            sum_up_recursive(remaining,target,partial_rec);
        }
    }

    static void sum_up(ArrayList<Integer> numbers, int target) 
    { …
Run Code Online (Sandbox Code Playgroud)

java

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

Python和Ruby应用程序将如何受.NET影响?

我很好奇.NET将如何影响Python和Ruby应用程序.

用IronPython/IronRuby编写的应用程序是否会特定于.NET环境,它们将基本上成为特定于平台的?

如果他们不使用任何.NET功能,那么IronPython/IronRuby相对于非.NET版本的优势是什么?

.net ruby python ironpython ironruby

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

.NET对象大小

.net中堆分配对象的大小是多少,包括管理开销?我假设对象是沿着4字节边界分配的,还是使用了不同的方法?

.net c# memory memory-management

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

不区分大小写的字符串搜索

使用非大小写敏感搜索搜索单词文本的最快捷最有效的方法是什么.

例如,这是我要搜索的文字:

string textTosearch = "Here is a paragraph or Some text. Here is some more text".
Run Code Online (Sandbox Code Playgroud)

如果我想找到"Some"和"some"的索引,是否有一个.Net类可以执行此操作,或者我需要使用类似正则表达式的东西.

非常感谢您的想法.

我正在使用visual studio 2008.

.net c# string .net-3.5

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

如何为NServiceBus Saga创建单元测试?

我试图按照这篇文章(http://blog.zoolutions.se/post/2010/04/01/Conquering-NServiceBus-part-4-e28093-Testing.aspx)为我的nservicebus saga项目创建单元测试

请参阅以下代码,不确定为什么它总是抱怨任何人都知道如何解决它?

(我使用的是nservice总线2.0)

public class ReportSaga : Saga<ReportSagaData>,
                          IAmStartedByMessages<RequestReportMessage>,
                          IHandleMessages<PollingReportStatusMessage>
{
// implementation
}



[TestFixture]
    public class ReportSaga_HandleRequestReportMessageTests
    {
        [TestFixtureSetUp]
        public void SetUp()
        {
            var assemblies = new[]
                         {
                             typeof (ReportSaga).Assembly,
                             typeof (RequestReportMessage).Assembly,
                             typeof (PollingReportStatusMessage).Assembly,
                             Assembly.Load("NServiceBus"),
                             Assembly.Load("NServiceBus.Core")
                         };

            Test.Initialize(assemblies);
        }

        [Test]
        public void HandleRequestReportMessageTests()
        {

            Test.Handler<ReportSaga>()
                .OnMessage<RequestReportMessage>(x =>
                {
                    x.Id = 1234;
                    x.ReportDate = DateTime.Now;
                });


        }
    }


Test 'UnitTests.ReportSaga_HandleRequestReportMessageTests.HandleRequestReportMessageTests' failed: System.ArgumentException : GenericArguments[0], 'ReportSagaData', on 'NServiceBus.IMessageHandler`1[T]' violates the constraint of type 'T'.
  ----> System.TypeLoadException : GenericArguments[0], 'ReportSagaData', on …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing nservicebus

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

如何在PictureBox中获取ImageRectangle的尺寸?

背景

我希望能够在图片框中获得缩放图像的绘制尺寸(我将在下面解释).

PictureBox.ImageRectangle属性似乎正是我正在寻找的,因为它显示了已调整大小的图像的高度和宽度,以及它在控件内的相对顶部,左侧位置.

问题是PictureBox.ImageRectangle私有的,所以我不能在不使用反射的情况下读取值(这显然不是理想的).

实际问题

我的问题是,有没有另一种方法,我可以很容易地得到这些值,而无需编写一个方法来计算"应该"的值是什么?我可以轻松地做到这一点,但我觉得我会重新发明轮子.


语境:

我正在用C#编写一个简单的图像处理应用程序,其中一件事就是允许用户在图像的一部分周围绘制一个选区(很像Photoshop中的Marquee工具).

我需要知道渲染图像的尺寸,以便知道在哪里设置选框工具的边界,并将绘制的矩形的值转换为控件内缩放位图上的点.

.net c# windows graphics picturebox

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