问题列表 - 第318125页

如何在 Windows 上调试 Delphi 编写的服务?

有谁知道如何在Windows上调试Delphi编写的服务(服务应用程序)?

我正在制作一个 API,从 rclone 获取数据并将其显示在界面上,我想将其制作成 Windows 服务。如果您认为有什么可以帮助我的,我将不胜感激。

delphi service windows-services

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

使用 std::format_args 解决范围后堆栈使用问题

std::format_args当我尝试与 一起使用时,出现 stack-use-after-scope 错误std::vformat()。重现它的简单代码是:

#include <format>
#include <iostream>
#include <string>

int main() {
    int i = 42;
    std::string s = "hello";
    std::format_args args = std::make_format_args(i, s);
    std::cout << std::vformat("Number: {}, Word: {}", args) << '\n';

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的is变量应该仍然在范围内并且不是右值,所以我不确定是什么触发了错误。如果我删除并直接在调用中args调用to ,一切都会按预期进行。我缺少什么?std::make_format_args()std::vformat()

这是我编译上述代码的命令:clang++-17 --std=c++23 -stdlib=libc++ -fsanitize=address fmt.cpp

c++ address-sanitizer c++20 stdformat

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

合并重复项并对值求和 - 在单个字符串/单元格内

我将此字符串放在一个单元格 (A1) 中:

\n
Apple \xe2\x80\x93 1\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 100\nApple \xe2\x80\x93 1000\nKiwi \xe2\x80\x93 10999\nPeach \xe2\x80\x93 44\nFig \xe2\x80\x93 3/100\nFig \xe2\x80\x93 3/100\n
Run Code Online (Sandbox Code Playgroud)\n

我需要找到一个可以组合重复条目并对它们的值求和的公式。因此,所需的输出是这样的(也在单个单元格中,比如说 B1):

\n
Apple \xe2\x80\x93 1001\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 144\nKiwi \xe2\x80\x93 10999\nFig \xe2\x80\x93 6/100\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了几个小时,但不知道该怎么做。我尝试的是首先找到独特的价值。到目前为止,没有问题:

\n
=UNIQUE(\n    ARRAYFORMULA(\n        REGEXEXTRACT(\n            TRANSPOSE(SPLIT(A1, CHAR(10))),\n            "(.*) \xe2\x80\x93 [0-9.]+/?[0-9]?"\n        )\n    )\n)\n
Run Code Online (Sandbox Code Playgroud)\n

返回唯一值的数组

\n
{"Apple", "Banana", "Cherry", "Peach", "Kiwi", "Fig"}\n
Run Code Online (Sandbox Code Playgroud)\n

我能想到的最好结果是这个公式,手动使用 Apple 和 Banana:

\n
=ARRAYFORMULA(\n    {\n        "Apple" & " \xe2\x80\x93 " & SUM(\n            ARRAYFORMULA(\n                IF(\n                    REGEXMATCH(\n …
Run Code Online (Sandbox Code Playgroud)

google-sheets google-sheets-formula

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

获取给出某种产品的所有可能组合的数量

我正在寻找一种算法来计算给出特定产品的所有可能组合的数量。我有一个完美平方列表 [1,4,9,16,..,n],我有两个值 a, b,其中 a - 我们可以在乘法中使用以获得完美平方的元素数量,b - 最大值例如,如果 a = 3 且 b = 6,则对于完全平方数 36,我们可以有诸如 [1,6,6]、[2,3,6]、[4、 3,3]等等(顺序问题[1,6,6]和[6,6,1]不同)。注意我们不能使用 [1,9,4] 组合,因为 9 > b

我尝试使用 itertools 中的每个完美平方的所有除数的组合,之后我检查了组合的每个乘积,如果 x1 x2 x3 == 36,我在完美平方 = 36 的计数中添加 1。这个算法有效,但它长乘法需要大量时间。

我们能否让它比查看每个完美正方形的每种组合更快?

def get_divisors(n):
    result = []
    for i in range(1, n//2 + 1):
        if n % i == 0:
            result.append(i)
    result.append(n)
    return result
a = 2
b = 3
count = 0
all_squares = [1,4,9]
for i in all_squares:
    divisors = get_divisors(i)
    for r …
Run Code Online (Sandbox Code Playgroud)

python algorithm combinations

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

生成在提升下关闭的非负整数元组?

n为正整数,令Sn 个非负整数元组的集合。(例如,如果n为 3,则S可以为 {(1,2,0), (1,0,1)}。)

\n

让我们定义一个名为“promote”的操作,它接受一个n 元组的非负整数 ( t 1 , t 2 , \xe2\x80\xa6, t n ),索引i使得t i \xc2\xa0>\ xc2\xa00 和小于i的索引j,并返回相同的n元组,只不过索引j处的值已递增,索引i处的值已递减。例如,如果我们有元组 (1,2,3,4,5),i \xc2\xa0=\xc2\xa05 和j \xc2\xa0=\xc2\xa02,则“promote”将返回 ( 1,3,3,4,4)。

\n

我想计算“promote”在我的集合S上的闭包,这意味着我可以通过从S中的一个元素开始并对“promote”进行零次或多次调用(可以选择ij)来达到的所有元组的集合对于任何给定的呼叫)。例如,如果S是 {(1,2,0), (1,0,1)},那么我想计算集合 {(2,0,0), (1,1,0), (1 ,0,1),(3,0,0),(2,1,0),(1,2,0)}。(例如,我可以通过从 (1,2,0) 开始并使用i \xc2\xa0=\xc2\xa02 和j \xc2\xa0=\xc2\调用“promote”来获得 …

algorithm search functional-programming breadth-first-search digraphs

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

这三个默认构造函数在 C++ 中等效吗?

考虑以下代码:

#include <type_traits>

template<typename T>
struct A1 {
    T t;

    // implicitly-declared default constructor
};

template<typename T>
struct A2 {
    T t;

    // explicitly-declared default constructor without noexcept
    A2() = default;
};

template<typename T>
struct A3 {
    T t;

    // explicitly-declared default constructor with noexcept
    A3() noexcept(std::is_nothrow_default_constructible<T>::value) = default;
};
Run Code Online (Sandbox Code Playgroud)

这三个默认构造函数在 C++ 中等效吗?

c++ standards class default-constructor noexcept

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

MariaDB 字段 + 1

如何将之前为 0001 的字段增加 +1,然后变为 0002?我目前正在使用以下命令:

SELECT fieldA+1
FROM table
WHERE ID = 1234;
Run Code Online (Sandbox Code Playgroud)

但这只是将 0001 变成 2

这是一个非常基本的问题,但我不明白

mysql mariadb

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

从结构体隐式转换

这是我的结构,它在创建变量时使用隐式转换。

#include <string>
#include <variant>

using namespace std;
using val = variant<int, string, double, bool, long, long long, long double>;

struct value
{
    val innerVal;
    value():innerVal(""){}
    value(const val &c) : innerVal(c) {}

    template <typename T>
    operator T()
    {
          return get<T>(innerVal);
    }

    template <typename V>
    value &operator=(const V &t)
    {
        innerVal = t;
        return *this;
    }
};
Run Code Online (Sandbox Code Playgroud)

这就是我在构造变量时使用它的方式,它工作正常,但是当我分配一个已经创建的变量来value构造它时,它会给出错误。

int main(int argc, char* argv[])
{
    value h;
    h = "String";
    string m = h;// Here works fine
     string b = …
Run Code Online (Sandbox Code Playgroud)

c++ struct casting variant

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

为什么我的相同索引实现比 Kotlin 提供的更快?

我正在试验下面的 Kotlin 代码

    fun CharSequence.isMyBlank(): Boolean {
        return indices.all { this[it].isWhitespace() }
    }
Run Code Online (Sandbox Code Playgroud)

如果我测试它的使用效率如何

    @Test
    fun testing() {
        val timeUsed = measureNanoTime {
            repeat(1000) {
                "     ".isMyBlank()
            }
        }
        println(timeUsed)
    }
Run Code Online (Sandbox Code Playgroud)

据报道,使用时间约为 5.6 毫秒。

但是,如果我只是创建自己的indices函数(与 Kotlin 提供的函数相同)

    fun CharSequence.isMyBlank(): Boolean {
        return indices.all { this[it].isWhitespace() }
    }

    public val CharSequence.indices: IntRange
        get() = 0..length - 1
Run Code Online (Sandbox Code Playgroud)

运行上面相同的测试,结果一致为大约 2 毫秒。

我认为我自己的索引和 Kotlin 提供的索引没有什么不同

    public val CharSequence.indices: IntRange
        get() = 0..length - 1
Run Code Online (Sandbox Code Playgroud)

为什么拥有我自己的可以使执行速度更快?

kotlin

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

如果 init 重载,如何键入提示基于一个函数的 init 的返回类型

我有一个类在它的 init 中接受整数或浮点数,但所有的都必须是整数或浮点数,所以我正在使用它typing.overload来实现这一点,并且我希望能够根据给定的值键入提示函数的返回。

class Vector3:
    @overload
    def __init__(self, x: int, y: int, z: int) -> None:
        ...
    @overload
    def __init__(self, x: float, y: float, z: float) -> None:
        ...

    def __init__(self, x, y, z) -> None:
        self._x = x
        self._y = y
        self._z = z

    # This function
    def __key(self) -> tuple[int | float, int | float, int | float]:
        return (self._x, self._y, self._z)
Run Code Online (Sandbox Code Playgroud)

另外,我如何输入提示 x、y 和 z 的值?我计划用来@property混淆 _x、_y、_z 值,但也不知道如何输入提示它们。

@property
def x(self) -> int …
Run Code Online (Sandbox Code Playgroud)

python type-hinting python-3.x

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