小编Mar*_*all的帖子

警告:赋值从指针生成整数而不进行强制转换

我试图在2d数组中对元素进行排序,但在将值赋给k时,它会给出此错误.

"警告:赋值在没有强制转换的情况下从指针生成整数".

为什么我得到它,我该如何解决?

for(i=1;i<3;++i)
    {
        for(j=3-1;j>=1;--j)
           {
                if(a[j-1]>a[j])
                   {
                         k = a[j-1];
                          a[j-1]=a[j];
                         a[j] = k;
                   }
           }
     }
Run Code Online (Sandbox Code Playgroud)

c

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

c#中的序列化和反序列化

我在使用c#进行序列化和反序列化时遇到了问题.基本上我使用DataContractSerializer来序列化对象.

这是我的序列化代码:

 var serializer = new DataContractSerializer(typeof(ProjectSetup));
     string xmlString;
     using (var sw = new StringWriter())
         {
             using (var writer = new XmlTextWriter(sw))
                 {
                  writer.Formatting = Formatting.Indented;
                  serializer.WriteObject(writer, DALProjectSetup);
                  writer.Flush();
                  xmlString = sw.ToString();
                 }
          }                
      System.Web.HttpContext.Current.Session["ProjectSetup"] = xmlString;
Run Code Online (Sandbox Code Playgroud)

这工作正常,但现在我需要有关如何反序列化上述内容的帮助.

c#

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

对于循环非常慢并导致asp超时

我有一个asp页面访问c ++代码并获取返回的xml字符串.每当我访问网页时,我都会在网络浏览器中超时.

我想我知道这个问题,但我不确定如何解决它.我不确定xml字符串有多大,所以我不确定声明变量的大小,所以我声明iDataBufferSize是我能做到的最大值.

以下函数有一个for循环,它创建一个返回到asp代码的xml字符串.

for循环需要经过大约500行,我认为,当它击中这条线wcscat_s(wDataBuffer,iSize,wBuffer);,它启动磁盘交换和减慢for循环.

我知道当我使iDataBufferSize更小时,它可以工作,但我担心我不会使缓冲区足够大的xml字符串.

谢谢--Dimitry

LPWCH wLargeDataBuffer = 0;
char *cLargeCBuffer = 0;
size_t iDataBufferSize = 93276800;   

wLargeDataBuffer = new WCHAR[iDataBufferSize];
cLargeCBuffer = new char[iDataBufferSize];

memset(wLargeDataBuffer, 0, iDataBufferSize);
memset(cLargeCBuffer, 0, iDataBufferSize);

iDataLen = getCServPBJList(wLargeDataBuffer, iDataBufferSize); 

int CAdminConsoleInterface::getCServPBJList(LPWCH wDataBuffer, size_t iSize) {
    wcscpy_s(wDataBuffer, iSize, L"<jobsList>");
    houseKeeper->getCServJobsXML(wDataBuffer, iSize, configHandler->getTextValue  (L"UniqueID"), L'P');
    wcscat_s(wDataBuffer, iSize, L"</jobsList>");
    return wcslen(wDataBuffer);
    } 

int CHouseKeeper::getCServJobsXML(LPWCH wDataBuffer, size_t iSize, LPWCH wLocation, WCHAR wPrefix) {
    WCHAR wIndexPath[1024];
    WCHAR wBuffer[1024];
    LPWCH wTempBuffer = new WCHAR[16384];
    int rc;
    char *zErrMsg=0; …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

如何从Form 1访问Form3中的文本框?

在(Form1)中我有一个设置按钮,当我点击它时,会显示一个新的表单(Form2),使用以下代码行:

private void b7_Click(object sender, EventArgs e)
{
    Form3 frm = new Form3();
    frm.Show();

}
Run Code Online (Sandbox Code Playgroud)

在form3中,我有6个文本框和两个按钮,保存和取消.

在此输入图像描述

我要做的是向用户提供此表单,以便将必要的数据键入表单,然后单击"保存设置"按钮.在Form1中,我想访问这些文本框以获取其当前值(当用户单击保存设置时).我试图添加一个Form4并命名它(MiddleForm),我添加了6个文本框,并在Form3(上图中的表单)我写了这些行:

private void button2_Click(object sender, EventArgs e)
{
    MiddleForm mf = new MiddleForm();
    mf.textBox1.Text = keywrd1.Text;
    mf.textBox2.Text = keywrd2.Text;
    mf.textBox3.Text = keywrd3.Text;
    mf.textBox4.Text = keywrd4.Text;
    mf.textBox5.Text = keywrd5.Text;

    mf.textBox1.Text = thelink.Text;

    Close();


}
Run Code Online (Sandbox Code Playgroud)

然后我试图从Form1(我需要使用文本框值的形式)访问传递给MiddleForm的值,在Form1中,我写了这些行(仅用于调试目的)

MiddleForm mf = new MiddleForm();

MessageBox.Show(mf.textBox1.Text); // to see whether there is something 
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎没有任何东西传递给mf.TextBox1

在此输入图像描述

如何从Form1调用Form3的当前值(使用保存设置保存按钮保存),以便在其余代码中使用它们.

有什么帮助让这个工作?

.net c# visual-studio-2010 winforms

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

创建一个显示多维数据集视图的软件的想法?

我打算在WPF中绘制这些形状.这是一个教育软件.

您对如何实现这些多维数据集和视图有什么想法?

我一开始就计划开始使用画布和画画,但我想它会变得永恒.所以我想如果存在一些图书馆来帮助我绘制它们?

在此输入图像描述

c# wpf xaml drawing

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

计算列表中的数字

是否有人可以帮助我在共同的LISP中编写一个函数来计算列表中的数字?我写的代码如下,但它不起作用!

(defun count-numbers(lst)
    (let(result()))
    (dolist(number lst)
    (push number result))
    (length result))
Run Code Online (Sandbox Code Playgroud)

例如,当我输入此查询时"(count'(r 4 f d w 2 3 4 1 z))",我必须得到5.

lisp common-lisp

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

PictureBox的Paint事件导致轻弹 - 我还能在哪里做到这一点?

我正在使用Psion的SDK在移动设备上提供签名控制.我想在签名控件(这是一个图片框)周围绘制一个矩形.我已将以下内容放入Paint事件中,但问题是它闪烁(当您在图片框中登录时,图片框会不断刷新.

有没有办法把它放到表单的load事件中,所以它只加载一次?我知道它需要有PainEventArgs,但我对此并不十分肯定.

    private void scSignature_Paint(object sender, PaintEventArgs e)
    {
        e.Graphics.DrawRectangle(new Pen(Color.Black, 2f), 0, 0,
            e.ClipRectangle.Width - 1,
            e.ClipRectangle.Height - 1
            );
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

c# compact-framework winforms windows-mobile-6.5

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

catch语句中的c#if-else

我正在尝试在catch方法中编写一个if-else块,但是当我得到错误时"并非所有代码路径都返回int类型".

本质上,我正在编写一个将UserName和Password保存到Sql CE数据库的方法,我想测试一个特定的错误.(UserName已存在.)UserName列是唯一的,因此它将可靠地抛出带有NativeError = 25016的SqlCeException.我想显示带有错误消息的内容,否则以更通用的方式处理其他异常.

我的代码是:

  try
  {
    //insert command  (This is where the duplicate column error is thrown)
    //Select @@Identity & Return it
  }
  catch (SqlCeException ex)
  {
   if (ex.NativeError == 25016)
        MessageBox.Show("Username already in use."); 
   else
     //whatever
  }
Run Code Online (Sandbox Code Playgroud)

我试过显示一个不同的,更通用的消息,并获得无返回错误.我已经尝试抛出一个新的异常并在另一个块中捕获它.同样的错误.我试过返回-1(作为一种标志值).同样的错误.

对于这种特殊情况,似乎没有比SqlCeException更具体的错误(虽然我刚刚失败了我的debug-fu).

任何创造性的解决方案?最糟糕的情况是,我会编写一个方法,在调用此方法之前检查DB是否有重复的用户名.

c# exception-handling sql-server-ce

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

是/否关闭

我正在玩VBScript,我想制作一个MsgBox,询问用户是否要关闭计算机。

如果用户单击,Yes他们应该首先看到一个MsgBox,然后他们的计算机开始关闭。

我正在使用此代码,但不起作用。

问题是什么?

result = MsgBox ("Shutdown?", vbYesNo, "Yes/No Exm")
Select Case result
    Case vbYes
        MsgBox("shuting down ...")
        Option Explicit
        Dim objShell
        Set objShell = WScript.CreateObject("WScript.Shell")
        objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 0"
    Case vbNo
        MsgBox("Ok")
End Select
Run Code Online (Sandbox Code Playgroud)

vbscript

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

如何将值写入字符串然后返回?

我有一个计时器,每秒循环通过以下代码.这段代码一个接一个地读取几个xml片段,然后将它们打印到屏幕上,然后在一秒钟之后再重复一遍.输出:

34,
23,
12,
Run Code Online (Sandbox Code Playgroud)

我想要做的是将所有数据写入一个字符串,如34,23,12,然后返回它,以便另一个类可以使用它.但是,如果我把它(字符串代码,你会在下面看到)在if (fragmentReader.Read())代码下它不起作用,因为它只是与它上面的console.writeline做同样的事情:读取其中一个片段然后写入控制台,然后是下一个片段,它不会将片段中的所有值都添加到一个字符串中.

谢谢

private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        using (var file = MemoryMappedFile.OpenExisting("AIDA64_SensorValues"))
        {
            using (var readerz = file.CreateViewAccessor(0, 0))
            {
                var bytes = new byte[195];
                var encoding = Encoding.ASCII;
                readerz.ReadArray<byte>(0, bytes, 0, bytes.Length);

                //File.WriteAllText("C:\\myFile.txt", encoding.GetString(bytes));

                StringReader stringz = new StringReader(encoding.GetString(bytes));

                var readerSettings = new XmlReaderSettings { ConformanceLevel = ConformanceLevel.Fragment };
                using (var reader = XmlReader.Create(stringz, readerSettings))
                {
                    while (reader.Read())
                    {
                        using (var fragmentReader = reader.ReadSubtree())
                        {
                            if (fragmentReader.Read())
                            {
                                reader.ReadToFollowing("value"); …
Run Code Online (Sandbox Code Playgroud)

c# xml string class

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