小编Lan*_*rts的帖子

如何在C#中检查给定的URL是HTTP还是HTTPS

我需要检查给定的URL(不一定以http或https为前缀)是HTTP还是HTTP.
这可能在C#中吗?
如果用户只给出www.dotnetperls.com没有任何前缀,我必须能够识别出它是HTTP.试过以下,

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("www.dotnetpearls.com");         
 string u = request.RequestUri.Scheme;
Run Code Online (Sandbox Code Playgroud)

但是这会产生无效的URL错误.它期望指定协议.

c# url https

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

DateTime差异运算符考虑夏令时?

据我所知,该DateTime类型的差异运算符考虑了闰年:所以

new DateTime(2008, 3, 1) - new DateTime(2008, 2, 1) // should return 29 days
new DateTime(2009, 3, 1) - new DateTime(2009, 2, 1) // should return 28 days
Run Code Online (Sandbox Code Playgroud)

但是夏令时呢?

.net datetime operator-overloading dst

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

Excel中的嵌套IF语句[超过7个允许的限制]

我正在尝试创建一个电子表格,根据他们的分数自动为学生提供成绩.

我显然已经达到Excel的嵌套IF语句限制,即7.

这是我的if语句:

=IF(O5>0.895,"A+",IF(O5>0.845,"A",IF(O5>0.795,"A-",IF(O5>0.745,"B+",IF(O5>0.695,"B",IF(O5>0.645,"B-",IF(O5>0.595,"C+",IF(O5>0.545,"C","D"))))))))
Run Code Online (Sandbox Code Playgroud)

我在网上看到我可以创建一个VBA脚本然后分配它,但我对VBA一无所知....所以如果有人可以帮我写一个VBA,那就太棒了.

它仍然缺少C级和任何低级应该被授予D标记.

这是我试图创建的评分方案......:

A + 89.500 - 100.000通过优异

84.500 - 89.490优异传球

A- 79.500 - 84.490优异成绩

B + 74.500 - 79.490优异通行证

B 69.500 - 74.490优异成绩

B- 64.500 - 69.490优异成绩

C + 59.500 - 64.490通过

C 54.500 - 59.490通行证

C- 49.500 - 54.490通过

D 0.000 - 49.490指定失败

我不介意去VBA路线,但是我对VB语言的理解绝对是最小的(不喜欢它)...如果这太繁琐了,我想创建一个小的php/mysql应用程序.

excel vba if-statement nested worksheet-function

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

在Excel工作表中查找所有数组公式

有没有办法在给定的Excel电子表格中查找所有数组公式?

excel vba array-formulas

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

C中的read()和fgets()之间的区别

我想从stdin流中读取.使用read()或fgets()从stdin流中读取是否有任何区别.

我用fgets附加以下两段代码并读取.使用fgets,我可以使用java程序轻松地编写和读取c程序.随着读写,我的java程序挂起等待C程序的输出,而不是来.

我只是读了一行保持它在buf并附加A到它.

Java程序能够与以下程序通信,该程序与fgets和puts一起使用.

#include <stdio.h>
#include <string.h>
#define SIZE  200000
main()
{
int rc;
int df;
int i;
char buf[SIZE];
for(i=0;i<=120000;i++) {
      memset(buf,'\0',SIZE);
      if(!fgets(buf,SIZE-1,stdin))
        continue;
      strcat(buf,"A_A_A_A_A_A_A");
      puts(buf);
}
Run Code Online (Sandbox Code Playgroud)

}

但没有read()和write()

main()
{
int rc;
int df;
int i;
char buf[32768];
rc = fcntl(fileno(stdin), F_SETFL, O_NONBLOCK);
//rc = fcntl(fileno(stdout), F_SETFL, O_NONBLOCK);
FILE *fp;
for (;;) 
{
    int rc=-1;
    memset(buf,'\0',32768);
    //rc = fread(buf,5, 1, stdin);
    rc = read(fileno(stdin),buf,32768); 
    if (rc > 0)
    {
        strcat(buf,"B_B_B_B_B_B_B_B_B");
        write(fileno(stdout),buf,strlen(buf));

    }
}
Run Code Online (Sandbox Code Playgroud)

}

有人可以说出原因.我仍然觉得很难弄明白

c fgets

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

如何从工作表函数中的数组中提取子数组?

有没有办法在Excel中获取比单元格工作表函数中的起始数组更小的数组?

所以,如果我有:

{23, "", 34, 46, "", "16"}
Run Code Online (Sandbox Code Playgroud)

我最终得到:

{23, 34, 46, 16}
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用其他一些功能进行操作.

结论:如果我要做很多这些,我肯定会使用jtolle的UDF梳子解决方案.PPC使用的公式很接近,但潜入并测试,我发现它在空插槽中出错,错过了第一个值,并且有更简单的方法来获取行号,所以这是我的最终解决方案:

=IFERROR(INDEX($A$1:$A$6, SMALL(IF(($A$1:$A$6<>""),ROW($A$1:$A$6)),ROW(1:6))),"")
Run Code Online (Sandbox Code Playgroud)

必须以数组公式(CTRL-SHIFT-ENTER)输入.如果显示,则必须至少输入与结果集一样大的区域以显示所有结果.

arrays excel worksheet-function

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

如何使用变量名称在工作表上引用控件对象?

我已经将一个ListBox添加到SHEET(而不是"UserForm")我用鼠标做了这个.我点击了小锤子和扳手图标.

这个ListBox似乎很容易使用如下代码引用:

ListBox1.Clear
Run Code Online (Sandbox Code Playgroud)

要么

ListBox1.AddItem("An option")
Run Code Online (Sandbox Code Playgroud)

但是,我有三个这样的ListBoxes(方便地命名为ListBox1,ListBox2和ListBox3),我想编写一个函数来用数组数据填充它们,如下所示:

Call populate_listbox(ListBox2, designAreaArray)
Run Code Online (Sandbox Code Playgroud)

第一个参数是列表框名称,第二个参数是数据.

但我不知道如何正确发送"ListBox2",或在函数内正确引用它.

例如:

Dim controlName as string
controlName = "ListBox1"
Run Code Online (Sandbox Code Playgroud)

不起作用,即使我定义函数如下:

Sub populate_listbox(LB As ListBox, dataArray As Variant)
    Dim i As Integer: i = 0
    For i = LBound(dataArray, 2) + 1 To UBound(dataArray, 2)    ' Skip header row
       LB.AddItem (dataArray(index, i))
    Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

显然,它会导致错误匹配的数据类型错误.我已经尝试将"controlName"定义为ListBox,但这也不起作用......

虽然可能是我对listBox的引用不正确.我已经看到了很多方法来引用控件对象......

MSForms.ListBox.
ME.ListBox
Forms.Controls.
Worksheet.Shapes.
Run Code Online (Sandbox Code Playgroud)

列表继续,没有任何对我有用.

excel vba excel-vba

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

在Visual Studio中更改所选文本的文本颜色

可能重复:
我无法在Visual Studio 2010中编辑选定的文本前景色.任何人都知道如何执行此操作?

在" 选项 - >环境 - >字体和颜色"对话框中,您可以Selected Text在"显示项目"列表框中进行选择,但这只允许您更改"项目"背景属性.

如何更改文本颜色,例如,当我选择项目时,我可以在蓝色背景上显示白色文本?此外,有没有办法加粗文本(该Bold框也被禁用).

注意:以下是询问背景颜色变化的问题.

user-interface visual-studio-2010 textcolor visual-studio

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

如何在ruby中进行xml签名

我需要使用ruby签署xml,有人知道任何方法或lib吗?

我的xml骨架是:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Message>
    <MessageId> 
        <ServiceId>service</ServiceId> 
        <Version>1.0</Version> 
        <MsgDesc>Service Description</MsgDesc> 
        <Code>4</Code> 
        <FromAddress>from</FromAddress> 
        <ToAddress>to</ToAddress> 
        <Date>2012-10-29</Date> 
    </MessageId> 
    <MessageBody/> 

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <Reference URI="">
    <Transforms>
      <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <DigestValue>??????</DigestValue>
    </Reference>
  </SignedInfo>

  <SignatureValue>????????????</SignatureValue>
  <KeyInfo>
    <X509Data>
      <X509Certificate>????????</X509Certificate>
    </X509Data>
  </KeyInfo>
</Signature>
</message>
Run Code Online (Sandbox Code Playgroud)

我为DigestValue尝试了这个代码,我测试了它,将它与我的java示例进行比较,但是DigestValue与我的java示例的响应不匹配:

require 'base64'
require 'openssl'

to_sign_xml = File.read 'service.xml'
digest = OpenSSL::Digest::SHA1.digest(to_sign_xml)

digest = Base64.encode64(digest.to_s).gsub(/\n/, '')
raise digest.inspect
Run Code Online (Sandbox Code Playgroud)

我的文件service.xml包含:

<Message>
    <MessageId> 
        <ServiceId>service</ServiceId> 
        <Version>1.0</Version> 
        <MsgDesc>Service Description</MsgDesc> 
        <Code>4</Code> 
        <FromAddress>from</FromAddress> 
        <ToAddress>to</ToAddress> 
        <Date>2012-10-29</Date> 
    </MessageId> 
    <MessageBody/>
<Message>
Run Code Online (Sandbox Code Playgroud)

ruby xml digest digital-signature

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

从硬件GPS获取坐标

我发现了很多关于GPS坐标的问题,但没有一个确认使用移动硬件GPS代替网络GPS如geoLocation等.

我的实际方法:

我正在使用navigator.geolocation.getCurrentPosition(),Lat/Long来自网络,这里是代码:

function getGPS(funcCallBack)
{
   if (navigator.geolocation)
   {
     var timeoutVal = getCookie("GPSTimeout");
     navigator.geolocation.getCurrentPosition(sucess
                                             ,error
                                             ,{enableHighAccuracy: true
                                              ,timeout: timeoutVal
                                              ,maximumAge: 0}
                                             );
   }
   else{
   alert('GPS is turned off, or was not possible to find it. Now, doing the login without localization.');
   window.gpsLat = 0;
   window.gpsLng = 0;
   window.gpsAcc = 0;
   funcCallBack();
   }
   function sucess(position) //sucess
   {
      window.gpsLat = position.coords.latitude;
      window.gpsLng = position.coords.longitude;
      window.gpsAcc = position.coords.accuracy;
      funcCallBack();
    }
    function error()         //error
    {
      window.gpsLat   = 0;
      window.gpsLng   = …
Run Code Online (Sandbox Code Playgroud)

javascript php gps android geolocation

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