RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

mazik7512's questions

Martin Hope
mazik7512
Asked: 2025-02-11 22:20:24 +0000 UTC

1C - 获取所有累积/信息寄存器及其字段的列表

  • 5

出现了一个问题。需要获取寄存器及其字段及其类型的列表。

获取非虚拟寄存器列表没有什么特别的问题,但对于虚拟表,我们不得不稍微费点力气。

&НаСервереБезКонтекста
Функция ПолучитьСписокИсточниковДанных()
    СписокИсточников = Новый Массив;
    СписокИсточников.Добавить(_ПолучитьСписокИсточниковДанных(Метаданные.РегистрыНакопления, 
                              БиблиотекаКартинок.РегистрНакопления, "РегистрНакопления"));
    СписокИсточников.Добавить(_ПолучитьСписокИсточниковДанных(Метаданные.РегистрыСведений, 
                              БиблиотекаКартинок.РегистрСведений, "РегистрСведений"));
    
    Возврат СписокИсточников;   
КонецФункции

// Формирует список регистров определенного типа
 &НаСервереБезКонтекста
 Функция _ПолучитьСписокИсточниковДанных(СписокИсточников, Отображение, ТипДанных);
    _Результат = Новый Массив;
    Для Каждого ИсточникИзМетаданных Из СписокИсточников Цикл
        // Записываем не виртуальный регистр
        _Результат.Добавить(_СформироватьЗначение(ИсточникИзМетаданных.Имя, Отображение, ТипДанных)); 
        Попытка
        ИмяРег = Строка(ИсточникИзМетаданных.Имя) + "." + Строка(ИсточникИзМетаданных.ВидРегистра); // Формирует имя вида виртуальной таблицы (если есть)
        _Результат.Добавить(_СформироватьЗначение(ИмяРег, Отображение, ТипДанных));
        Исключение
                
        КонецПопытки;
    КонецЦикла;
    Возврат _Результат; 
КонецФункции


&НаСервереБезКонтекста
Функция _СформироватьЗначение(ИсточникИзМетаданных, Отображение, ТипДанных)
    Источник = Новый Структура;
    Источник.Вставить("Источник", ИсточникИзМетаданных);
    Источник.Вставить("Отображение", Отображение);
    Источник.Вставить("ТипДанных", ТипДанных);
    Возврат Источник;    
КонецФункции

该代码仅适用于累积寄存器的虚拟表,但在这种情况下它并不重要,但如果有更好的方法,我将不胜感激。

遇到的主要问题是获取虚拟寄存器表的字段列表。

ПолнИмя = "РегистрНакопления." + СтрЗнач; 
рег = Метаданные.НайтиПоПолномуИмени(ПолнИмя);
Попытка      
    ЗаполнитьСтруктуруИсточникаДанных(Метаданные.РегистрыНакопления[рег.Имя].Измерения); 
Исключение      
КонецПопытки;
Попытка         
    ЗаполнитьСтруктуруИсточникаДанных(Метаданные.РегистрыНакопления[рег.Имя].Ресурсы);
Исключение
КонецПопытки;
Попытка      
    ЗаполнитьСтруктуруИсточникаДанных(Метаданные.РегистрыНакопления[рег.Имя].Реквизиты);
Исключение
КонецПопытки;

此方法仅适用于非虚拟表,是否可以获取虚拟寄存器表的字段及其类型?

1с
  • 1 个回答
  • 29 Views
Martin Hope
mazik7512
Asked: 2024-10-24 04:07:45 +0000 UTC

动态创建小部件

  • 6

任务是动态添加成对的小部件,例如,QLabel添加到QLineEdit界面。
我创建了一个QMixedWidget包含其他小部件的包装类。

class QMixedWidget(QWidget):
    def __init__(self, parent=None, *widgets):
        super().__init__(parent)
        self._widgets = widgets

    def paintEvent(self, event: PySide6.QtGui.QPaintEvent) -> None:
        for w in self._widgets:
            w.paintEvent(event)
        super().paintEvent(event)

    def update(self) -> None:
        for w in self._widgets:
            w.update()
        super().update()

但是,当我尝试将创建的小部件添加到Layout没有任何反应时,也许应该覆盖其他一些方法?

def _add_n_action(self):
   label = QLabel("Источник шума L")
   value = QLineEdit("0")
   w = QMixedWidget(self.add_group_box, label, value)
   self.add_layout.addWidget(w)
python
  • 1 个回答
  • 42 Views
Martin Hope
mazik7512
Asked: 2024-05-06 23:25:10 +0000 UTC

位移位和字节顺序

  • 6

假设有两台机器,一台使用小端,另一台使用大端,它们执行数字的按位移位。

unsigned int a = 0x80000000;
unsigned int b = a >> (sizeof(int) * CHAR_BIT) - 1; // <-- Будет ли результат одинаковый на обеих машинах? (1)

两台机器上的结果会一样吗?


笔记。 最近,我问了一个类似的问题(关于一般的位运算,答案非常简单明了,这是合乎逻辑的),但我不确定这个答案是否适用于位移位。

c++
  • 1 个回答
  • 33 Views
Martin Hope
mazik7512
Asked: 2024-01-16 21:34:01 +0000 UTC

std::launder 和严格别名

  • 6

一般来说,我对严格别名和std::launder有点困惑。按照标准,以下代码是 UB:

void foo(int x)
{
    float *p = reinterpret_cast<float *>(&x);
    *p = 1.0f;
    std::cout << x << std::endl;
}

但是如果使用std::launder会出现 UB 吗?

void foo(int x)
{
    float *p = reinterpret_cast<float *>(&x);
    *p = 1.0f;
    std::cout << *std::launder(&x) << std::endl;
}

事实上,在现代版本的编译器上(至少对我来说),两个版本的代码都可以正常工作,但第一个版本保证是 UB,而我很难理解第二个版本。

在许多论坛上(以及在一些文章中),第二个代码作为std::launderworking的示例给出,但出于正式原因,这不是仍然是 UB 吗?

c++
  • 1 个回答
  • 59 Views
Martin Hope
mazik7512
Asked: 2022-09-15 21:14:35 +0000 UTC

在 ListView C# VirtualMode 中显示详细信息时出现问题

  • 0

Winforms应用程序。

我VirtualMode用来显示数据ListView。首先,我创建列。

for (int i = 0; i < lStr; i++)
{
    dataTable.Columns.Add(i.ToString(), "Col#" + i.ToString());            
}
            
dataTable.VirtualListSize = showArray.Length;

为了填充,我使用 event RetreveVirtualItem。

private void dataTable_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
    e.Item = new ListViewItem(showArray[e.ItemIndex].ToString());
}

在查看模式下Details,我收到以下错误。

System.InvalidOperationException: “在 VirtualMode 中,ListView 的 RetrieveVirtualListItem 事件需要每个 ListView 列的列表视图子项。”

在其他显示模式下,不会发生此错误。

c#
  • 0 个回答
  • 0 Views
Martin Hope
mazik7512
Asked: 2022-08-23 05:22:08 +0000 UTC

python套接字中的值4096来自哪里

  • 2

在socket库中python有这样一个问题,数据检索函数的推荐值为recv4096字节。

我真的不明白这个值是如何证明的以及它来自哪里。关于此的文档非常谨慎地说:

注意:为了与硬件和网络现实进行最佳匹配,bufsize 的值应该是 2 的相对较小的幂,例如 4096。

而且看起来您应该深入研究硬件方面,但是例如MTU,以太网帧是1500字节,限制要TCP/UDP少一些2^16。

python сокет
  • 1 个回答
  • 55 Views
Martin Hope
mazik7512
Asked: 2022-07-07 04:43:11 +0000 UTC

C++11 将类成员函数作为比较器传递

  • 0

其中有一个类Tree,vector<Path*>需要对其进行排序。比较器写道:

bool Tree::PathComparator(Path* a, Path* b)
{
    return a->GetPath() < b->GetPath();
}

试图排序

sort(pathes.begin(), pathes.end(), PathComparator);

给出错误信息:

错误 C3867:Tree::PathComparator:函数调用缺少参数列表;使用“&Tree::PathComparator”创建指向成员的指针

错误 C2780:void std::sort(_RanIt,_RanIt):需要参数:2,具有:3

但是,如果您使比较器成为普通函数,而不是类的成员,那么一切正常。我想知道为什么会这样?

c++ ооп
  • 1 个回答
  • 41 Views
Martin Hope
mazik7512
Asked: 2022-06-25 04:17:51 +0000 UTC

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

  • 0

有一个用 pyTelegramBotApi 编写的机器人。

我正在尝试将数据从通过 bot 菜单按钮启动的 Web 应用程序发送到使用window.Telegram.WebApp.sendData('test');.

在此处输入图像描述

昨天发送了数据,尽管每次发送数据后都需要重新进入聊天才能再次发送。

在此处输入图像描述

今天根本没有发送数据。

在下面的链接中,他们写道 sendData 仅在启动通过常规键盘而不是通过内联(即菜单按钮)时才有效。尽管在@DurgerKingBot 示例中,一切似乎都可以通过内联按钮进行。

在此处输入图像描述

https://stackoverflow.com/questions/71909144/dont-get-a-response-from-from-telegram-web-app-for-bots

https://github.com/telegramdesktop/tdesktop/issues/24390

笔记。问题在于通过内联按钮进行呼叫,通过通常的按钮一切正常

javascript python
  • 1 个回答
  • 1213 Views
Martin Hope
mazik7512
Asked: 2022-06-24 04:37:02 +0000 UTC

为什么多态性应该使用动态数组而不是静态数组?

  • 0

有一个抽象类 Human

#pragma once
#include "stdafx.h"
class Human
{
protected:
    string name;
    int age;
    int exp;
    int magicNumber;
public:
    Human(void);
    Human(string name, int age, int exp);
    ~Human(void);
public:
    int getMagic();
    void Print();
public:
    virtual bool Shoot();
    virtual double getCoef();
};
bool Human::Shoot()
{
    return false;
}

它有 3 个继任者(Beginner、Experienced、Veteran),其中重新定义了 Shoot 功能

bool Beginner::Shoot()
{
    return (0.01 * exp > magicNumber) ? true : false;
}

如果您使用动态数组,那么多态会很好地工作,并且会调用类继承人的函数。

Human **shooters = new Human*[7];
    shooters[0] = new Beginner("Ivan", 22, 3000);
    shooters[1] = new Beginner("Sasha", 17, 1500);
    shooters[2] = new Beginner("Dasha", 20, 3300);
    shooters[3] = new Experienced("Hitman", 29, 6500);
    shooters[4] = new Veteran("Polkovnik", 55, 10000);
    shooters[5] = new Experienced("Motorolla", 35, 7000);
    shooters[6] = new Beginner("Maxim", 22, 4000);

    
    for (int i = 0; i < 7; i++)
    {
        cout << shooters[i]->getMagic() << " : " << shooters[i]->getCoef() <<((shooters[i]->Shoot()) ? "Попал" : "Мимо!") << endl;
    }

但是如果使用静态数组,就会调用基类的虚方法。

Human shooters[7] = {Beginner("Ivan", 22, 3000),
        Beginner("Sasha", 17, 1500),
        Beginner("Dasha", 20, 3300),
        Experienced("Hitman", 29, 6500),
        Veteran("Polkovnik", 55, 10000),
        Experienced("Motorolla", 35, 7000),
        Beginner("Maxim", 22, 4000)};
    
    for (int i = 0; i < 7; i++)
    {
        cout << shooters[i].getMagic() << " : " << shooters[i].getCoef() <<((shooters[i].Shoot()) ? "Попал" : "Мимо!") << endl;
    }

注意问题:为什么会这样?

c++
  • 2 个回答
  • 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