小编Sam*_*Sam的帖子

不学习计算我错过了什么?

我正在为一家小公司编写C#.NET应用程序.对于我们这些没有编程学位的人来说,我们错过了什么可能需要我们多年才能找到自己的教学?

我有电子工程学位,所以不像我16岁就离开学校,坐在Visual Studio旁边.我已经在我的学习,算法,控制系统,数学等方面介绍了一些基本的嵌入式C.我只是觉得必须要做的事情我应该知道这样做但不要.

computer-science

10
推荐指数
3
解决办法
1641
查看次数

检查COM接口是否还活着?

在COM中如何验证指向COM对象的指针在另一端是否仍然具有有效对象?

我有一个问题,下面的一些代码试图检查m_pServer指针是否仍然存活,但是当该应用程序暴露该接口时,这段代码会崩溃应用程序.任何人都可以建议如何在使用之前检查指针?

if (FAILED(m_pServer->StillAlive())) { // do something }
Run Code Online (Sandbox Code Playgroud)

如果m_pServer不再在内存中,则此代码将失败.

编辑:

EXCEPTION:Client40.exe中0x7728fbae(kernel32.dll)的第一次机会异常:0x800706BA:RPC服务器不可用.

CALL STACK:

    kernel32.dll!RaiseException()  + 0x58   
    rpcrt4.dll!RpcRaiseException()  + 0x3e  
    rpcrt4.dll!NdrProxyErrorHandler()  + 0x28   
    rpcrt4.dll!NdrProxySendReceive()  + 0xa4    
    rpcrt4.dll!NdrProxySendReceive()  + 0x119   
    rpcrt4.dll!NdrComplexArrayMarshall()  + 0x26d   
--> Client40.exe!SlaveDriver::run()  Line 97 + 0x14 C++  //Runs while loop, to handle requests
    Client40.exe!DThread::tfunc(void * thisptr=0x0047e694)  Line 56 + 0xd   C++
    Client40.exe!_threadstartex(void * ptd=0x01b20e00)  Line 241 + 0xd  C
    kernel32.dll!BaseThreadInitThunk()  + 0x12  
    ntdll.dll!RtlInitializeExceptionChain()  + 0x63 
    ntdll.dll!RtlInitializeExceptionChain()  + 0x36 
Run Code Online (Sandbox Code Playgroud)

c++ com

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

Tkinter中的多个键事件绑定 - "Control + E""Command(apple)+ E"等

Mac OS X 10.6.6 - Tkinter

我想绑定多键事件,虽然我找到了一篇文章和Tk手册页,但我一直无法正常工作.我是新来的.

我的成功喜忧参半.我已经能够获得Shift +字母键,但不能获得Control或Command(Apple键).我真正想做的是Command + letter和Control +字母键,因此它理论上可以在Windows和OS X中使用.

我希望它在窗口级工作,所以我使用root.也许有更好的方法.以下是我尝试过的内容:

root.bind('<Shift-E>', self.pressedCmdE)   # Works
root.bind('e', self.pressedCmdE)           # Works
root.bind('<Command-E>', self.pressedCmdE) # Does Not Work
#root.bind('<Mod1-E>', self.pressedCmdE)   #   # Do Mod1, M1, and
#root.bind('<M1-E>', self.pressedCmdE)     #   # Command mean the same thing?
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我按alt/option +(E,N或其他)时,会产生错误.它是否与PythonLauncher交互?

2011-06-16 16:19:22.618 Python[1546:d07] An uncaught exception was raised
2011-06-16 16:19:22.621 Python[1546:d07] *** -[NSCFString characterAtIndex:]: Range or index out of bounds
2011-06-16 16:19:22.622 Python[1546:d07] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** …
Run Code Online (Sandbox Code Playgroud)

events binding command tkinter key

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

将多个路径与不同的填充相结合,同时仍然能够均匀拉伸

我试图从我从Adobe Illustrator生成的一组路径中创建一个可重新调整大小的绘图,但无法弄清楚如何使其重新调整大小并保持填充.原始路径数据是:

<Path Fill="#ff221e1f" Data="F1 M 65.778,45.310 L 85.092,45.310 L 85.092,47.630 L 68.504,47.630 L 68.504,63.174 L 83.700,63.174 L 83.700,65.494 L 68.504,65.494 L 68.504,84.402 L 65.778,84.402 L 65.778,45.310 Z"/>
<Path Fill="#ff221e1f" Data="F1 M 95.300,64.218 L 101.505,64.218 C 107.538,64.218 111.482,60.854 111.482,55.692 C 111.482,49.718 107.074,47.282 100.926,47.282 C 98.257,47.282 96.286,47.572 95.300,47.804 L 95.300,64.218 Z M 92.574,45.832 C 94.952,45.310 98.316,45.020 100.984,45.020 C 106.087,45.020 109.278,46.122 111.540,48.268 C 113.222,49.892 114.266,52.502 114.266,55.228 C 114.266,60.506 111.133,63.870 106.610,65.436 L 106.610,65.552 C 109.742,66.538 111.713,69.496 112.642,73.846 C 113.976,79.936 114.730,82.836 115.542,84.402 L 112.642,84.402 …
Run Code Online (Sandbox Code Playgroud)

wpf pathgeometry

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

LINQ SQL查询检查对象字段是否为空

我正在尝试编写一个SQL查询,根据输入的字段筛选gridview.有四个字段,title,firstname,surname和Company.Name.

前三个很好,因为它们永远不会为null,但第四个可以为null.以下LINQ查询工作正常:

var listofclients = from client in allcients
                    where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
                    where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
                    where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
                    orderby client.Name
Run Code Online (Sandbox Code Playgroud)

但是当我尝试为公司设置一个过滤器时,当公司为空时,我将在运行时收到错误

var listofclients = from client in allcients
                    where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
                    where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
                    where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
                    where client.Company.Name.ToLower().Contains(companynametxtbox.Text.Trim().ToLower())
                    orderby client.Name
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否有一种方法来构建查询,以便它只在client.Company字段不为null时进行过滤.

当我直接从像这样的文本框字段中提取时,我也容易受到SQL注入等的攻击.我知道在这种情况下它没有连接到数据库,但如果它可以,它们可以做一个下降.或者即使它没有连接到数据库,他们可以摆弄列表中的对象吗?

谢谢

乔恩霍金斯

linq

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

如何在javascript中访问JSON.parsed对象

我做了JSON.parse并以这样的格式获得javascript变量"temp"的输出

{"2222":{"MId":106607,
"Title":"VIDEOCON Semi Automatic Marine 6.8kg",
"Name":"washma01",
}}
Run Code Online (Sandbox Code Playgroud)

我尝试过

alert(temp[0][0]);
alert(temp.2222[0].MId);
Run Code Online (Sandbox Code Playgroud)

但没有得到输出.

我将如何在javascript中访问此数据?

javascript json

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

Android OpenGL:睡眠后的疯狂长宽比

如果我按下我的Android手机上的电源按钮(或等待它超时)并且手机进入睡眠状态,在重新唤醒之后,屏幕宽高比完全没有了.

截图:

破碎

http://i.imgur.com/4C6ID.png

正确

http://i.imgur.com/CNAV0.png

在GameActivity.onCreate()中

    // Grab display info
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    ACTUAL_SCREEN_WIDTH = (int) dm.widthPixels;
    ACTUAL_SCREEN_HEIGHT = (int) dm.heightPixels;
    ACTUAL_DENSITY = dm.density;

    double scale = ((double) MainMenuActivity.resolutionScale / 100.0);
    SCREEN_WIDTH = (int) (ACTUAL_SCREEN_WIDTH * scale);
    SCREEN_HEIGHT = (int) (ACTUAL_SCREEN_HEIGHT * scale);
    DENSITY = ACTUAL_DENSITY * scale;

    // Setup graphics
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    surface_view = new GLSurfaceView(this);

    if (SCREEN_WIDTH != ACTUAL_SCREEN_WIDTH
            || SCREEN_HEIGHT != ACTUAL_SCREEN_HEIGHT)
        surface_view.getSurfaceHolder().setFixedSize(SCREEN_WIDTH,
                SCREEN_HEIGHT);
Run Code Online (Sandbox Code Playgroud)

我正在GLSurfaceView中正确地重新加载所有内容(即回击主页并返回游戏重新加载纹理等).

我在onWindowFocusChanged中打印出了方向,它是横向的(如预期的那样).

如果我不使用setFixedSize(即,如果resolutionScale为100),则不会出现此问题.此外,如果游戏前面出现另一个窗口(如偏好设置窗口),然后您返回游戏,问题就会消失.

提前致谢.自从研究枯竭以来,我一直在尝试随机的东西大约一个小时.

android opengl-es

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

来自Lua脚本的nanosleep()调用暂停了QT GUI线程

我正在开发一种测试工具,用于从PC并行端口生成波形.该工具的目的是产生波形的任何模式与定时毫秒的准确性,所以我使用的Lua脚本来定义波形模式,GUI启动新的QThread运行脚本时用户点击[开始]按钮.

Lua的以下三个函数被实现为C++全局函数:

  • pwrite:将数据写入并行端口.
  • msleep:等待某个ms(使用nanosleep()实现)
  • print:覆盖Lua默认打印功能,此功能会将消息附加到一个QTextEdit小部件.

当调用pwrite时,写入的数据存储在全局变量中,然后以20ms的间隔更新GUI以更新GUI上的并行端口数据.(这20毫秒刷新间隔是不是一个很好的设计,但我还没有搞清楚如何使用信号进行GUI更新,当数据发生变化).

该工具现在基本上是功能性的.波形输出没有问题,但并行端口数据更新有一些问题:

当Lua调用msleep时,GUI线程停止,并行端口数据仅在msleep结束后更新.

所以我的问题是:

  1. 如何实现sleep方法,以便它不会阻止GUI线程更新?

  2. 如何实现pwrite,以便GUI在写入数据发生变化时可以接收信号来更新并行端口数据?

程序GUI如下链接: 程序GUI

相关代码:

    /* common.cpp file */

int L_MSleep(lua_State* l)
{
    int milisec=0;
    struct timespec req={0, 0};
    time_t sec;

    milisec=luaL_optint(l,1,0); // obtain parameter

    if (milisec==0)
       return 0;

    sec=(int)(milisec/1000);

    milisec=milisec-(sec*1000);
    req.tv_sec=sec;
    req.tv_nsec=milisec*1000000L;

    while(nanosleep(&req,&req)==-1)
         continue;

    return 1;
}


/* LuaRunner.cpp file */
LuaRunner::LuaRunner(QObject *parent) :
    QThread(parent)
{
    runlua = false;
}

void LuaRunner::run()
{
    QString err = "";

    runlua = true;
    LUA_RunScript(this->ff, err);
    runlua = false;

    if(err != "")
    {
        emit errorMessage(err); …
Run Code Online (Sandbox Code Playgroud)

c c++ lua qt4

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

像windirstat的Python图形?

我有兴趣使用python根据正方形的大小(以及可选的颜色)制作表示值大小的图表.基本上我正在寻找一种方法来概述一堆值,例如windirstat用硬盘驱动器使用的好旧程序(它基本上会形成一个代表你的硬盘的大方块,然后构成它内部区域的小方块不同的程序,方块越大文件越大,颜色表示文件的类型).我对matplotlib非常熟悉,我认为用它做这样的事情是不可能的.有没有其他python包可以帮助?如果不是,任何更低级别的建议?我想如果我能找到一种以编程方式绘制框的方法,我可以手动完成(我并不真正关心格式,但导出SVG以及PNG的选项会很好).

最终,让它像windirstat一样具有互动性是很好的,如果你将鼠标悬停在一个特定的方格上,你可以获得更多信息,如果你点击它,也许你会进去看看它的构成特别广场.我只熟悉wxpython的GUI内容,不确定它是否可以用于这样的东西.现在我很乐意输出它们.

非常感谢!亚历克斯

编辑:谢谢大家,你的答案都有很多帮助.

python diagram matplotlib treemap treemaps

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

使用按钮通过tkinter GUI循环Python循环字典项

我正在为我的餐厅做菜单测试.我已经制作了GUI并且对它的基本格式感到满意(现在),但我仍然坚持如何进行下一步.

我设置了多个复选框(不同的成分),并且计划是针对不同的菜单项循环(显示在屏幕上),然后员工检查相应的成分,单击我提交的提交和继续按钮,然后是下一个菜单项显示代替上一个.我需要做更多的事情,比如阅读和存储输入,但是现在我想在我继续前进之前跳过这个障碍.

我是使用Python进行GUI的新手,所以我不确定最好的方法.

我找到了不同的代码示例,但没有具体的东西可以实现到我的程序中.任何建议都非常感谢!!

这是我的GUI图片: gui的照片

from tkinter import *

globalvar = -1

class Example(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent, background="white")   
        self.parent = parent
        self.initUI()

    def initUI(self):
        self.parent.title("Wahoos Menu Test")

def main():
    def callBack(number):
        globalvar = number + 1
        item(globalvar)
    def item(number):
        menu = ['nft', 'nckt']
        m = Label(root, text=menu[number], fg="orange").grid(row=7, column=0)
    root = Tk()
    app = Example(root)
    #root.geometry("750x750+400+50")
    for r in range(20):
        for c in range(14):
            Label(root, text='',
                borderwidth=0).grid(row=r,column=c)

    B = Button(root, text ="Submit and Continue", relief=RIDGE, fg="black", command= lambda:callBack(globalvar)).grid(row=19, …
Run Code Online (Sandbox Code Playgroud)

python checkbox user-interface tkinter python-3.x

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