RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-219041

rudolfninja's questions

Martin Hope
rudolfninja
Asked: 2020-03-12 23:59:02 +0000 UTC

c# 查找日期时间的交集

  • 1

任务的本质是这样的:有一个 DateTime 包含员工工作的日期和时间,比如说 02/12/20 从 9:00 到 17:00,02/13/20 从 9:00 到 17: 00 和 02/14/20 从 9:00 到 17:00。有一个带有订单提前期的 DateTime:他们于 2020 年 2 月 12 日 14:00 开始执行此操作,并于 2014 年 2 月 14 日 16:30 完成。我需要以某种方式找到员工处理此订单的时间(假设员工只处理此订单)。也就是说,因此,我需要得到以下信息:12.02 从 14:00 到 17:00、13.02 从 9:00 到 17:00、14.02 从 9:00 到 16:30。

你能告诉我如何做这个算法吗?我想不出什么明智的。

c#
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-07-18 20:06:54 +0000 UTC

linux。库。在窗口内绘制一个透明矩形

  • 3

全局目标是在桌面上绘制一个简单的橙色边框,如下所示:在此处输入图像描述

我的实现思路是这样的:画一个透明的窗口,在它的边缘画上橙色的矩形,这样会产生边框效果:

#define W_WIDTH 640
#define W_HEIGHT 480

#define X_POS 100
#define Y_POS 120
#define BORDER_WIDTH 2

Display *dpy;
Window w;

XRectangle rectangles[4] =
    {
    { X_POS, Y_POS, W_WIDTH, BORDER_WIDTH },
    { X_POS, Y_POS, BORDER_WIDTH, W_HEIGHT },
    { X_POS, W_HEIGHT - BORDER_WIDTH, W_WIDTH, BORDER_WIDTH },
    { W_WIDTH - BORDER_WIDTH, Y_POS, BORDER_WIDTH, W_HEIGHT }
    };

int main(int argc, char *argv[])
{
    GC gc;
    XGCValues gcv;
    int run = 1;

    dpy = XOpenDisplay(NULL);

    XVisualInfo vinfo;
    XMatchVisualInfo(dpy, DefaultScreen(dpy), 32, TrueColor, &vinfo);
    XSetWindowAttributes attr;
    attr.colormap = XCreateColormap(dpy, DefaultRootWindow(dpy), vinfo.visual, AllocNone);

    w = XCreateWindow(dpy, DefaultRootWindow(dpy), X_POS, Y_POS,
                      W_WIDTH, W_HEIGHT, BORDER_WIDTH, vinfo.depth,
                      InputOutput, vinfo.visual, CWColormap | CWBorderPixel | CWBackPixel, &attr);
    XColor color;
    Colormap colormap;
    char orangeDark[] = "#FF8000";
    colormap = DefaultColormap(dpy, 0);
    XParseColor(dpy, colormap, orangeDark, &color);
    XAllocColor(dpy, colormap, &color);

    gcv.line_width = BORDER_WIDTH;
    gc = XCreateGC(dpy, w, GCLineWidth, &gcv);

    XSelectInput(dpy, w, ExposureMask);
    Atom window_type = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
    long value = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False);
    XChangeProperty(dpy, w, window_type, XA_ATOM, 32, PropModeReplace, (unsigned char *) &value, 1);
    XMapWindow(dpy, w);
    XSync(dpy, False);

    while(run)
    {
        XEvent xe;
        XNextEvent(dpy, &xe);
        switch (xe.type)
        {
            case Expose:
                XSetForeground(dpy, gc, color.pixel);
                XDrawRectangles(dpy, w, gc, rectangles, 4);
                XFillRectangles(dpy, w, gc, rectangles, 4);
                XSync(dpy, False);
                break;
            default:
                break;
        }
    }

    XDestroyWindow(dpy, w);
    XCloseDisplay(dpy);

    return 0;
}

这段代码几乎可以正常工作,除了橙色矩形是半透明的(边框通常在深色背景上可见,但在浅色背景上效果不佳): 在此处输入图像描述请告诉我如何使橙色矩形完全橙色,而不是半透明. 还有一个选项可以绘制一个没有标题栏的橙色窗口,并在其中制作所需大小的透明区域,以便最终保留所需的框架。但这里的问题是如何在这个橙色窗口内制作一个透明矩形?我在 Internet 上找不到可用于解决此问题的示例或 xlib 工具。

linux
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-06-20 16:50:02 +0000 UTC

在没有特定选项的情况下构建 libpng

  • 1

问候。我需要在没有该选项的情况下构建 libpng,PNG_READ_eXIf_SUPPORTED以便将 pnglibconf.h 文件中的行#define PNG_READ_eXIf_SUPPORTED注释掉。基于 pnglibconf.dfa 文件中的内容(位于源代码旁边)

2) 将要更改的设置的定义添加到 CPPFLAGS 中;例如:

-DPNG_DEFAULT_READ_MACROS=0

我下载了源代码,通过简单地执行生成项目文件cmake(尽管我尝试了 and cmake .. -DCMAKE_CPP_FLAGS="-DPNG_NO_READ_eXIf"),然后运行make(但也尝试了make CPPFLAGS="-DPNG_NO_READ_eXIf")。最后,没有任何帮助,这个选项仍然在 .h 文件中。我还尝试使用此示例将选项的值-DPNG_DEFAULT_READ_MACROS从 1 更改为 0,只是为了确保上述方法有效,但没有成功。

如果有人遇到过自定义 libpng 构建,请告诉我你是怎么做到的?

cmake
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-03-29 20:40:11 +0000 UTC

库。获取应用图标

  • 1

该任务的实质如下:您需要使用 xlib 从应用程序窗口中获取一个图标,并将其放置在 wxIcon 对象(或 wxImage 或 wxBitmap - 没关系)中。正如我所发现的,有两种方法可以做到这一点:使用窗口的属性_NET_WM_ICON或使用调用XGetWMHints来获取对象XWMHints,然后从中获取icon_pixmap。但是,使用第二种方法,从一开始就出现了问题:icon_pixmap它被定义为正常unsigned long的,我没有找到如何从那里获取图标的 XPM 内容。这是我实现第一个选项的尝试:

void ApplicationHelper::GetIcon(SRunningWindow* pDesc, void* pDisplay, 
TWindow iWindow, unsigned long uiIconAtom)
{
    unsigned long nitems, bytesafter;
    unsigned char *ret;
    int format;
    Atom type;
    XGetWindowProperty((Display*) pDisplay, iWindow, uiIconAtom, 0, 1, 0, AnyPropertyType, &type, &format, &nitems, &bytesafter, &ret);
    int width = *(int*)ret;
    XFree(ret);
    XGetWindowProperty((Display*) pDisplay, iWindow, uiIconAtom, 1, 1, 0, AnyPropertyType, &type, &format, &nitems, &bytesafter, &ret);
    int height = *(int*)ret;
    XFree(ret);
    int size = width * height;
    XGetWindowProperty((Display*) pDisplay, iWindow, uiIconAtom, 2, size, 0, AnyPropertyType, &type, &format, &nitems, &bytesafter, &ret);
    unsigned char* imgData = new unsigned char[width * height * 3]; // RGB data
    unsigned char* alphaData = new unsigned char[width * height]; // alpha chanel
    int offset = sizeof(long) == 8 ? 8 : 4; // for 64bit systems data represented in order: blue, green, red, alpha, followed by 4 zeros

    int imgIdx = 0;
    int alphaIdx = 0;
    for (int i=0; i < nitems; i += offset)
    {
        imgData[imgIdx] = ret[i + 2]; // R
        imgData[imgIdx + 1] = ret[i + 1]; // G
        imgData[imgIdx + 2] = ret[i]; // B
        alphaData[alphaIdx++] = ret[i + 3]; // A
        imgIdx += 3;
    }
    XFree(ret);
    wxImage img(width, height, imgData, alphaData);
    img.Rescale(16, 16);
    wxBitmap bmp(img);
    pDesc->icon.CopyFromBitmap(bmp);
}

在它的帮助下,结果显示出某种图片,但它与应用程序所拥有的完全不同:

在此处输入图像描述

前三个窗口应该是终端图标,如下所示:

在此处输入图像描述

但事实上,事实证明有些事情是不对的。看起来他的一切都是按照规范去做的,但到头来却是一派胡言。有人能告诉我我的实现有什么问题或如何从中获取图标的 XPM 内容icon_pixmap吗?谢谢你。

c++
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-11-18 04:32:36 +0000 UTC

MS Access 复合键

  • 0

MS Access 中有一个数据库。该表包含零件的名称和零件的加工日期。一天之内,他们不能处理多个同名部分。在设计数据库时,我需要以某种方式提供这一点。我试图将零件名称作为主键,然后将日期添加到索引中(通过表构造函数 - 索引)。但是我仍然无法在不同的日子将两个相同的零件名称插入表中。告诉我如何告诉 MS Access 我的密钥由两个字段组成?根据帮助的描述,它没有帮助:

  1. 在设计视图中打开表。
  2. 单击工具栏上的索引按钮。
  3. 在索引列的第一个空行中,输入索引的名称。对于索引,您可以使用其中一个索引字段的名称,也可以使用另一个合适的名称。
  4. 在字段名称字段中,单击下拉按钮并选择要为其创建索引的第一个字段。
  5. 在字段名称列的下一行中,指定要索引的第二个字段。(对于这一行,将索引字段留空。)对要包含在索引中的任何字段重复这些步骤。
база-данных
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-11-03 15:24:49 +0000 UTC

具有 SQLite 绑定的 DataGridView 复选框列

  • 0

问候。有一个 DataGridView,数据从 SQLite 数据库加载到其中:

private void LoadDataFromDB()
    {
        m_dTable = new DataTable();
        String sqlQuery;

        if (m_dbConn.State != ConnectionState.Open)
        {
            MessageBox.Show("Соединение с БД не установлено");
            return;
        }

        try
        {
            sqlQuery = "SELECT id as №,  customer as Заказчик, product as Товар, has_technical_task as 'Тех. задание', " +
            " start_date as 'Дата начала', end_date as 'Дата завершения', is_done as Завершён, delay as Просрочка, cost as Стоимость FROM tasks WHERE is_done=0";
            m_sqlAdapter = new SQLiteDataAdapter(sqlQuery, m_dbConn);
            m_sqlAdapter.Fill(m_dTable);
            dataGrid.DataSource = m_dTable.DefaultView;
        }
        catch (SQLiteException ex)
        {
            MessageBox.Show("Ошибка: " + ex.Message);
        }
    }

数据库中的“已完成”和“参考条款”字段的类型为 INTEGER,但实际上它们是布尔值。所以问题是,有没有办法让这些列(索引为 3 和 6)有一个类型DataGridViewCheckBoxColumn,而不是通常的 DataGridViewColumn?

c#
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-08-29 00:44:27 +0000 UTC

在路径周围画一个矩形

  • 5

任务是找到描述由图元(弧和线)组成的轮廓的矩形的面积(长度和宽度)。我有形成这些图元的点的坐标(图中的红点)

图片1

还有圆心坐标,但现在可能不需要了。我使用以下算法解决了这个问题:

  1. 从所有点进行分段,即将每个点与每个点连接起来;
  2. 在片段中搜索彼此垂直的片段;
  3. 在成对的垂直线段中,他找到了乘积最大的线段。这些是所需矩形的宽度和长度(以及因此的区域)。

该算法适用于大多数形状,包括第一张图中所示的形状。但是在这里我遇到了第二张图片中的一个数字:

绘图2

很明显,我的算法在这里不起作用。他选择了正确的宽度(下底),但没有选择长度,因为 没有底部中心的坐标,因此可以构造一条连接底部中心和最高点的线段。

有一个选项可以找到下底座的中心,但此选项仅适用于第二张图纸。如果图 3 中的情况突然出现,那么该算法将再次失效。因为连接顶部与底部中心的线不会垂直于底部。

绘图3

请告诉我用于查找描述轮廓的矩形的长度和宽度的通用算法的变体。

алгоритм
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-08-24 15:26:36 +0000 UTC

在 c++/c# 项目中读取 .dwg 文件

  • 0

伙计们,欢迎。面临这样的问题:有一个简单的 2D 形状的 .dwg 文件。您需要以某种方式编写一个程序,该程序将从该文件中接收周长、面积、长度和宽度(考虑图中的最大值\u200b\u200b)。理想情况下,还可以计算图中孔的数量,但这并不完全关键。我上网,找到了https://github.com/sandyre/libopencad的链接,但不知怎的,我无法在 Windows 下收集所有这些快乐(我正在尝试使用 MSVC 来实现)。也许有人解决了类似的问题。请分享您的经验。

c++
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-01-23 00:01:31 +0000 UTC

磁盘上的大小与大小有很大不同

  • 0

问题的实质:有一个日志文件,一直被几个线程写入。问题是在 Windows 10 和 Windows 8.1 上,磁盘上的此日志占用 4GB。也就是说,如果您查看文件属性,它会显示:大小:8.25MB(8 661 191 字节);磁盘大小:4.04GB(4,345,872,384 字节)。实际上,文件中并没有那么多信息。在 Windows 7 上一切正常。两种情况下的文件系统都是 NTFS。我明白,如果没有记录器类本身的代码,也没有写入这些日志的代码,很难评估情况,但不幸的是,没有办法摆脱代码。谁有任何想法为什么会这样以及在哪个方向挖掘问题的解决方案?

windows-10
  • 1 个回答
  • 10 Views
Martin Hope
rudolfninja
Asked: 2020-09-02 16:18:41 +0000 UTC

如何计算FAT文件夹的大小

  • 2

伙计们,你好。有一个任务是计算 FAT32 文件系统的磁盘上有多少空间将被包含文件的文件夹占用。我知道文件系统集群的大小,这让我可以简单地计算出容纳所有文件所需的大小:

do 
    {
        if (fileinfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
            if (wcscmp(fileinfo.cFileName, L".") !=0 && wcscmp(fileinfo.cFileName, L"..") != 0)
            {
                StringW path2;
                path2.Format(L"%s\\%s",path, fileinfo.cFileName);
                size += CalculateFatSize(path2, files, dirs);
            }
        }
        else
        {
            fileSize = ((__int64)fileinfo.nFileSizeHigh << 32) | fileinfo.nFileSizeLow;
            unsigned int clustersInFiles = fileSize / clusterSize + (fileSize % clusterSize == 0 ? 0 : 1);
            size += (fileSize < clusterSize) ? clusterSize : clustersInFiles * clusterSize;
        }
    } while(FindNextFileW( hFile, &fileinfo ) != 0 );

但据我所知,FAT 表中的每个文件都有自己的条目,其中包含有关包含文件数据的簇的信息等。此外,这个条目的大小在长文件名的情况下不是固定的(我不确定在短文件名的情况下这个大小是固定的)。也就是说,原来在计算的时候,还是需要以某种方式计算出每个文件的FAT表项的大小。其实问题是,这个尺寸怎么确定呢?

谢谢你。

файловая-система
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5