小编deb*_*cey的帖子

如何反转清单?

Scheme中列表的功能是什么?它需要能够处理嵌套列表.

因此,如果你做了类似于(reverse '(a (b c d) e))(e (b c d) a)的输出.

我该如何处理这个问题?我不只是在寻找答案,而是能帮助我学习的东西.

recursion scheme reverse

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

F# - 解析日期

关于在F#中解析日期的非常基本的问题.我是F#和.NET的新手,所以请耐心等待.

我的日期格式yyyyMMDD如下20100503.

如何将其解析为DateTimeF#中的类型.

我试过System.DateTime.Parse("20100503");但得到了一个错误.

如何将格式字符串传递给Parse方法?

答案是 - 感谢大家的回复.

let d = System.DateTime.ParseExact("20100503", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

.net f# datetime

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

确定Android VPN接口/ IP?

我正在尝试确定android中PPTP VPN接口的名称,因此我可以将其列为我的应用程序中的可绑定接口.由于Android中没有VPN API,我想我可以使用直接Java来查找它.

当我使用标准Java来获取接口列表时,即.

ArrayList<NetworkInterface>  allInterfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
Run Code Online (Sandbox Code Playgroud)

我看到一些有趣的东西:

当手机在802.11X Wifi上时

  • tiwlan0(wifi接口)
  • ppp0(VPN)

当手机在Verizon Only上时

  • ppp0(通常是VPN)
  • ppp1(通常是VZ网络)

所以 - 我需要一种方法来消除VZ接口.您可以从Android API获取NetworkInfo对象,如下所示:

ConnectivityManager conMan = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] infoList = conMan.getAllNetworkInfo(); 
Run Code Online (Sandbox Code Playgroud)

该方法存在一些问题:

  • VPN没有显示出来
  • 网络信息对象中的名称/字段与Java NetworkInterface对象中的任何内容都不对应

我看到它的方式有几种方法可以从所有接口列表中消除VZ接口:

  1. 按名称(即如果Android给我一个列表中包含"ppp1"的话我可以消除ppp1,因为Android列表中不包含VPN)
  2. 通过IP(即,如果我能找出VZ IP地址,我可以使用Java的NetworkInterface对象消除与该IP的接口).

不幸的是,看起来这两个选项都不可能,因为名称不匹配,我无法弄清楚如何从Android操作系统获取VZ IP.

那么 - 还有其他人尝试过类似的东西吗?有没有办法问Android操作系统哪些接口有IP地址?

在此先感谢 - 所有的帮助表示赞赏.

PS.我试图避免强制用户输入要绑定的有效IP范围(或特定IP).

java vpn android

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

从Windows服务获取桌面大小?

我正试图从我写的服务中获取Windows桌面的大小(整个而不仅仅是单个屏幕).

在WinForms中 - 标准的C#方法:

SystemInformation.VirtualScreen.Width   
SystemInformation.VirtualScreen.Height
Run Code Online (Sandbox Code Playgroud)

似乎工作(如果您导入Winforms DLL,我想避免) - 但它返回错误的值.桌面大小为2048x768(2个屏幕),但服务报告1024x768(可能只在其中一个屏幕上显示).

检查服务与桌面交互的选项无效.

有什么想法吗?

编辑:

C#发布的解决方案:获取完整的桌面大小?不要在服务内部工作.他们都报告错误的价值.

有趣的是,似乎所报告的值变化并且与实际桌面大小无关(800x600即使该机器上的单个显示器具有更高的分辨率,一些机器也会报告.)

那么 - 还有什么想法吗?删除到注册表和/或命令行是可以的.唯一的限制是我无法启动winforms应用程序来解决它.

c# windows-services

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

返回HttpResponse到字符串长度0

我正在尝试在Android APP中的服务器上发出HTTPGet请求,但是当我更改字符串中的httpresponse时,字符串为0长度.

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://"+server+path+"?assets="+URLEncoder.encode(query, "US-ASCII")+"&lt="+localTime+"&to="+timeOffset);
HttpResponse response = httpclient.execute(httpget);
System.out.println("Status"+ response.getStatusLine());
System.out.println("Length "+org.apache.http.util.EntityUtils.toString(response.getEntity()).length());
return org.apache.http.util.EntityUtils.toString(response.getEntity());
Run Code Online (Sandbox Code Playgroud)

Catlog:

I/System.out(22344): StatusHTTP/1.1 200 OK
I/System.out(21737): Length 0
Run Code Online (Sandbox Code Playgroud)

uri很好,当我在浏览器中复制/浏览它时,我得到如下结果:

{"ads":[{"i"...],"pxs":{}}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么我的字符串是空的?

Udpate 1:

    long localTime = System.currentTimeMillis();
    Date date = new Date();
    @SuppressWarnings("deprecation")
    int timeOffset = date.getTimezoneOffset ();
Run Code Online (Sandbox Code Playgroud)

更新2:

我添加了这一行:

httpget.setHeader("User-Agent", "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)");
Run Code Online (Sandbox Code Playgroud)

现在我有这个错误:

目录下载

 E/AndroidRuntime(23584): FATAL EXCEPTION: AsyncTask #2
 E/AndroidRuntime(23584): java.lang.RuntimeException: An error occured while executing doInBackground()
 E/AndroidRuntime(23584):   at …
Run Code Online (Sandbox Code Playgroud)

java android

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

直接将"免费"Android应用程序分发为.apk文件

我已经在Google Play上发布了Android应用.希望直接将应用程序作为.apk文件脱机分发.我的应用程序是完全免费的,我们希望它应该传播给尽可能多的人.

我不确定提供.apk文件有什么优点和缺点?

问题是:

  1. 当连接到互联网时,Google会直接将.apk安装作为下载吗?
  2. 直接安装.apk的用户是否会获得稍后发布的更新?

android apk google-play

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

在网格行内查找控件

我使用父子网格,并在子网格上即时显示/隐藏抛出Java脚本。和子网格我将运行时与Templatecolumns绑定在一起

GridView NewDg = new GridView();
NewDg.ID = "dgdStoreWiseMenuStock";

TemplateField TOTAL = new TemplateField();
TOTAL.HeaderTemplate = new BusinessLogic.GridViewTemplateTextBox(ListItemType.Header, "TOTAL",e.Row.RowIndex );
TOTAL.HeaderStyle.Width = Unit.Percentage(5.00);
TOTAL.ItemTemplate = new BusinessLogic.GridViewTemplateTextBox(ListItemType.Item, "TOTAL", e.Row.RowIndex);
NewDg.Columns.Add(TOTAL);

NewDg.DataSource = ds;
NewDg.DataBind();


NewDg.Columns[1].Visible = false;
NewDg.Columns[2].Visible = false;

System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
NewDg.RenderControl(htw);
Run Code Online (Sandbox Code Playgroud)

现在,我在Grid中有一个名为“ TOTAL”的TextBox,我想查找此TextBox并想获取其值。

如何获得它?

c# asp.net grid view

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

从ASP.NET执行EXE

我想从ASP.NET MVC应用程序执行一个exe.是的,我理解这样做的固有风险,但不幸的是我真的需要这样做.

EXE是一个GUI应用程序,但是我传递的参数强制它以"静默"方式运行,它会在zip文件中生成一些数据,然后退出.

执行EXE的代码如下 - 它在我的开发盒上的VS2008中正常运行 - 但是当我对实际服务器(Server 2003 - IIS6)进行测试时,它失败了:

        ProcessStartInfo psi = new ProcessStartInfo();
        psi.FileName = "C:\.....";
        psi.Arguments = "-silent -file outFile.zip";

        Process proc = new Process();
        proc.StartInfo = psi;
        proc.Start();

        proc.WaitForExit();
        log.Debug("Process exited: " + proc.ExitCode);
Run Code Online (Sandbox Code Playgroud)

退出代码是:-532459699,所以显然出了问题.

我通过经过身份验证的HTTPS连接(基本身份验证)在服务器上运行应用程序,所以我想我可以通过设置标记<identity impersonate="true" />下的Web.config文件来解决问题<system.web>.但是 - 这没效果.

谢谢 - 所有帮助表示赞赏.

c# asp.net iis-6

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

log4net RollingFileAppender和IIS 7.5

我正在尝试在IIS 7.5/Server 2008 R2上使用带有RollingFileAppender的log4net.但是,我的旧IIS 6/Server 2003框中的配置似乎不再起作用,我只是看不到正在创建的任何日志文件,这是我设置的内容:

在Web.config(内部<configSections>)

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
Run Code Online (Sandbox Code Playgroud)

在同一个文件里面(里面<configuration>)

<log4net>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
            </layout>
        </appender>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="..\\logs\\App" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <param name="StaticLogFileName" value="false" />
      <datePattern value=".yyyyMMdd.lo\g" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date | [%thread] | %-5level | %logger | %message %newline" />
      </layout>
    </appender>
    <logger name="AppLogger" additivity="false">
      <level value="All"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="LogFileAppender"/>
    </logger>
</log4net>
Run Code Online (Sandbox Code Playgroud)

最后Global.asax …

log4net iis-7.5 windows-server-2008-r2 asp.net-mvc-2

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

对行的子集应用聚合函数

我有一个表格,我想计算一列的平均值,但只计算最后 10 行。

SELECT AVG(columnName) as avg FROM tableName
Run Code Online (Sandbox Code Playgroud)

我不能直接申请 top 因为这个查询只返回一行。我需要一种方法来获取最新的 10 行并对它们求平均值。

sql sql-server average aggregate-functions

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