小编Ben*_*jol的帖子

从Windows中提取键盘布局

好的,这是一个有点奇怪的问题.

我们有一个触摸屏应用程序(即没有键盘).当用户需要输入文本时,应用程序会显示虚拟键盘 - 手工构建在WinForms中.

为每种新语言手工制作这些东西都是猴子的工作.我认为Windows必须将此键盘布局信息隐藏在某些dll中的某处.无论如何都会从窗口获取此信息?

欢迎其他想法(我认为至少从xml文件生成的东西必须比在VS中手动执行更好).

(注意:说了所有这些,我注意到有一个日文键盘,状态机和所有...,所以XML可能不够)

更新:关于这个主题的相当不错的系列(我相信)在这里

c# keyboard-layout winforms

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

绑定到XAML中的AssemblyVersion(用于帮助/关于对话)

也许我在这里期待太多,但我想我不能成为第一个尝试过的人.我是否必须为此创建(又一个)转换器?

data-binding wpf xaml

11
推荐指数
2
解决办法
9820
查看次数

为RESTful(超媒体)API编写客户端

我已经阅读了几天"真正的"RESTful API了,我我已经接近了解它的内容.

但我偶然发现的一件事是,我甚至无法想象如何为"真正的"超媒体API编写客户端:

  1. 我读过的大多数例子都谈到了浏览器和蜘蛛,但这并不是特别有用:一个是人为导向的"智能",另一个是愚蠢和"随机".就目前而言,我觉得你需要学习人工智能来让客户工作.

  2. 我不清楚的一件事是客户端如何知道在任何给定链接上使用哪个动词?这是隐含在uri的'rel'类型中吗?替代方案(在这里阅读)似乎是使用xhtml并且有一个可以解析和发布表单的客户端.

  3. 链接改变的可能性有多大,而不是链接的路由?在大多数示例中,您可以看到周围,路线和链接是相同的:

例如.如果我想建立一个客户,将把我带回Toni蛋糕店的蛋糕列表:

http://tonis.com
{ link: { type : "cakes" ; uri : "http://tonis.com/cakes" } }
Run Code Online (Sandbox Code Playgroud)

当Toni成为Toni's Food Shop时,会发生http://tonis.com/desserts/cakes什么?

我们是否将初始cakes链接保留在根目录中,以实现反向兼容性?如果没有,我们如何为那些被告知"去根,寻找蛋糕"的可怜的小代理人"重定向"?

我错过了什么?

rest client hypermedia

11
推荐指数
2
解决办法
4148
查看次数

Encoding.Default与File.ReadAllText中没有编码不一样?

(对不起,如果这是一个骗局)

我花了很长时间才试图正确阅读文本文件.

开始使用File.ReadAllText(path)并搞砸了角色后,我尝试了几种变体,File.ReadAlltext(path, Encoding)之后我陷入困境,试图分析我的输入文件以确定哪个字节是问题,等等.

无奈之下我试过了File.ReadAllText(path, Encoding.Default),哪个有效!

我现在正在努力理解为什么默认值显然只是默认值,如果你指定它.

(我的缩减测试字符串是+4433ç,我将其保存在记事本中作为ANSI - 尽管瑞士法语区域设置......)

.net file-io encoding

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

您使用Matlab/F#/ R进行数据分析和建模算法的经验

我一直在使用F#一段时间来在用C++编码算法之前对算法进行建模,然后使用它来检查C++代码的结果,以及现实世界记录的数据.

对于事物的建模方面,它非常方便,但对于'数据混搭'类型的东西,从CSV和其他来源提取数据,生成统计数据,绘制图表等,我的同事取笑我("你为什么自己编码?它是内置于MatLab").

我还有另一位发誓R的同事,他也有"内置"图表.

我知道MatLab,R和F#没有严格的可比性,所以我不是要求'功能比较射击'.我只是想知道其他人正在使用这些分析前和分析后的场景,以及他们对它有多高兴.

(如果有人在那里努力将微软图表包装成F#友好的东西,请告诉我,我很乐意参与......)

(注意:这个问题的答案是主观的,但请根据经验)

matlab f# r

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

功能程序通过类型分析"自己编写"的例子

(背景:我一直在考虑做关于F#和函数式编程的演示.从经验来看,我认为模式匹配和类型推断的'哇'因素不一定足以抵消'帮助!'因素"是我的大括号和分号,我的代码将脱离边缘!".这让我想到真正令人惊叹的因素 - 对我来说 - 这是1)如果它编译,通常这意味着它的工作原理2)您经常可以从类型中推断出实现)

Channel9与Brian Beckman和Erik Meijer 有一段视频,他们提到了实现有时只是"失去"函数的类型签名.我过去也经历过这种情况,但是不能提出一个很好的例子,这个例子很容易呈现给没有任何功能经验的人.

有没有人有一个很好的例子可以分享?(它不必在F#中)

UPDATE

如果有任何帮助,我认为我们需要以不同的方式思考:实际的难题如下:

我有一些给定类型的数据,我想将它转换为另一种类型,我有一组具有给定签名的函数.

这是你必须插在一起的"乐高".

f# functional-programming

10
推荐指数
4
解决办法
764
查看次数

F#基于相邻元素的比较将列表拆分为子列表

我在hubFS上发现了这个问题,但它根据各个元素处理分裂标准.我想根据相邻元素的比较进行拆分,因此类型如下所示:

val split = ('T -> 'T -> bool) -> 'T list -> 'T list list
Run Code Online (Sandbox Code Playgroud)

目前,我试图从Don的必要解决方案开始,但我无法弄清楚如何初始化和使用'prev'值进行比较.折叠更好的方式去?

//Don's solution for single criteria, copied from hubFS
let SequencesStartingWith n (s:seq<_>) =
    seq { use ie = s.GetEnumerator()
          let acc = new ResizeArray<_>()
          while ie.MoveNext() do
             let x = ie.Current
             if x = n && acc.Count > 0 then
                 yield ResizeArray.to_list acc
                 acc.Clear()
             acc.Add x
          if acc.Count > 0 then
              yield  ResizeArray.to_list acc }
Run Code Online (Sandbox Code Playgroud)

f# list

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

在.NET 4的生成过程中找不到LC.exe文件

迁移到.net 4.0时出现问题,在尝试构建时出现以下错误.

 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9): 
  error MSB3086: Task could not find "LC.exe" using the SdkToolsPath "" or the 
  registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".

 Make sure the SdkToolsPath is set and the tool exists in the correct processor 
 specific location under the SdkToolsPath and that the Microsoft Windows SDK is
 installed 

 External Program Failed: C:\windows\microsoft.net\framework\v4.0.30319\MSBuild.exe
 (return code was 1)
Run Code Online (Sandbox Code Playgroud)

最新版本的microsoft windows sdk安装在机器上,但版本是v7.1.为了解决这个问题,我将以下几点放在注册表项中

   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\InstallationFolder 
 to C:\Program Files\Microsoft SDKs\Windows\v7.1\. 
Run Code Online (Sandbox Code Playgroud)

这工作有点但我觉得有点脏将7.0A注册表项指向7.1安装.有没有人有更好的解决方案来解决这个问题?

c#

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

C双打是否与.NET双打不同?

比较一些C代码和F#我试图替换它,我观察到最终结果存在一些差异.

重新编写代码,我发现即使存在差异 - 尽管很小.

代码首先从文件中读取数据.而第一个数字则不同.例如,在F#中(更容易编写脚本):

let a = 71.9497985840
printfn "%.20f" a
Run Code Online (Sandbox Code Playgroud)

我得到了预期的(对我而言)输出71.94979858400000000000.

但在C:

a =  71.9497985840;
fprintf (stderr, "%.20f\n", a);
Run Code Online (Sandbox Code Playgroud)

打印出来71.94979858400000700000.

那7来自哪里?

差别很小,但它困扰我,因为我不知道为什么.(它也困扰我,因为它更难以追踪我的两个版本的代码分歧的位置)

.net c floating-point

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

'等待'是一个可观察的

我正处于这样一种情况:我正在处理一系列任务(启用驱动器,更改位置,等待停止,禁用).

'wait for'监视一个IObservable<Status>,我想等待(所以我可以通过它ContinueWith和其他任务).

我开始了下列任务的用户的OnNext处理,但那只是丑陋.我现在想出的是这种扩展方法:

public static Task<T> WaitFor<T>(this IObservable<T> source, Func<T, bool> pred)
{
    var tcs = new TaskCompletionSource<T>();
    source
        .Where(pred)
        .DistinctUntilChanged()
        .Take(1)  //OnCompletes the observable, subscription will self-dispose
        .Subscribe(val => tcs.TrySetResult(val),
                    ex => tcs.TrySetException(ex),
                    () => tcs.TrySetCanceled());

    return tcs.Task;
}
Run Code Online (Sandbox Code Playgroud)

(更新了svick的处理建议OnCompletedOnError)

问题:

  • 这是好事,坏事还是丑陋?
  • 我是否错过了可以做到这一点的现有扩展?
  • WhereDistinctUntilChanged正确的顺序?(我认为他们是)

c# task-parallel-library system.reactive

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