小编Ken*_*ite的帖子

将Unicodestring转换为Char []

我有一个包含四个单词行的列表框.当我点击一行时,应在四个不同的文本框中看到这些单词.到目前为止,我已经完成了所有工作,但我遇到了字符转换的问题.列表框中的字符串是UnicodeString,但strtok使用char [].编译器告诉met无法将UnicodeString转换为Char [].这是我用于此的代码:

{
 int a;
 UnicodeString b;

 char * pch;
 int c;

 a=DatabaseList->ItemIndex;   //databaselist is the listbox
 b=DatabaseList->Items->Strings[a]; 

 char str[] = b; //This is the part that fails, telling its unicode and not char[].
 pch = strtok (str," ");      
 c=1;                          
 while (pch!=NULL)
    {
       if (c==1)
       {
          ServerAddress->Text=pch;
       } else if (c==2)
       {
          DatabaseName->Text=pch;
       } else if (c==3)
       {
          Username->Text=pch;
       } else if (c==4)
       {
          Password->Text=pch;
       }
       pch = strtok (NULL, " ");
       c=c+1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我的代码看起来不太好,实际上非常糟糕.我只是在学习一些C++编程.谁能告诉我如何转换这个?

c++builder chars

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

如何以32位或64位配置以编程方式运行任何CPU .NET可执行文件?

我有一个C#应用程序,可以在32位和64位处理器上运行.我试图枚举给定系统上所有进程的模块,这在尝试从64位应用程序枚举32位进程模块时会出现问题; Windows或.NET禁止它.

我认为如果我可以从内部重新启动应用程序,但强制它以32位运行,然后它将正确枚举它在上次运行时遗漏的进程模块,那将是非常酷的.

如何以编程方式运行可执行文件并指示即使它是使用ANY CPU配置构建的,它也应该作为32位进程运行?

下面的代码抛出了一个System.ComponentModel.Win32Exception文本"32位进程无法访问64位进程的模块".

[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool IsWow64Process(
     [In] IntPtr hProcess,
     [Out] out bool lpSystemInfo);

private static void Main()
{
  Process[] processes = Process.GetProcesses();

  using (FileStream fileStream = new FileStream("ProcessModulesDump.dat", FileMode.Create, FileAccess.Write, FileShare.None))
  {
      using (GZipStream gzipStream = new GZipStream(fileStream, CompressionLevel.Optimal))
      {
          using (TextWriter writer = new StreamWriter(gzipStream))
          {
              foreach (Process process in processes)
              {
                  writer.WriteLine("{0} - {1}", process.Id, process.ProcessName);

                  //bool lpSystemInfo;
                  //if ((Environment.Is64BitProcess …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

AnnotationRetention.BINARY 的用例是什么?

根据Kotlin 语言规范,注释保留分为三种类型:

  • 源保留(可通过源处理工具访问);
  • 二进制保留(保留在编译工件中);
  • 运行时保留(在运行时可访问)。

查看 JVM 上 kotlin-stdlib 的 KDoc,我们得到以下内容:

public enum class AnnotationRetention {
    /** Annotation isn't stored in binary output */
    SOURCE,
    /** Annotation is stored in binary output, but invisible for reflection */
    BINARY,
    /** Annotation is stored in binary output and visible for reflection (default retention) */
    RUNTIME
}
Run Code Online (Sandbox Code Playgroud)

我可以理解SOURCE(可用于注释处理器检查)和RUNTIME(可用于使用反射检查)的用例,但我无法理解BINARY.

有人可以解释一下这种类型保留的用例吗?如果不需要的话我为什么要选择BINARY呢?SOURCERUNTIME

kotlin

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

嵌套 ObservedObject 中的更改不会更新 UI

当我有一个嵌套的 ObservedObject 时,嵌套对象的已发布属性的更改不会更新 UI,直到父对象发生某些情况。这是一个功能、一个错误(在 SwiftUI 中)还是我的代码中的一个错误?

这是一个简化的示例。单击父级的开/关按钮会立即更新 UI,但单击子级的开/关按钮不会更新,直到父级更新为止。

我正在运行 Xcode 12.5.1。

import SwiftUI

class NestedObject: NSObject, ObservableObject {
    @Published var flag = false
}
class StateObject: NSObject, ObservableObject {
    @Published var flag = false
    @Published var nestedState = NestedObject()
}

struct ContentView: View {
    @ObservedObject var state = StateObject()
    var body: some View {
        VStack {
            HStack {
                Text("Parent:")
                Button(action: {
                    state.flag.toggle()
                }, label: {
                    Text(state.flag ? "On" : "Off")
                })
            }
            HStack {
                Text("Child:")
                Button(action: {
                    state.nestedState.flag.toggle()
                }, label: …
Run Code Online (Sandbox Code Playgroud)

swiftui combine

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

如何向用户发送通知或消息?

我有一个在当前用户空间中运行的脚本,但在后台永久最小化。

它需要通过系统托盘或 Windows.UI.Notifications 机制(或类似的其他机制)发送通知。

在 Win11/Win10 上的 powershell 中这是如何完成的?

powershell

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

需要检查代码是否包含某些标识符

我将使用 Roslyn 动态编译和执行代码,如下例所示。我想确保代码不违反我的一些规则,例如:

  • 不使用反射
  • 不使用 HttpClient 或 WebClient
  • 不使用 System.IO 命名空间中的文件或目录类
  • 不使用源生成器
  • 不调用非托管代码

我将在以下代码中的何处插入我的规则/检查以及如何执行它们?

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Emit;
using System.Reflection;
using System.Runtime.CompilerServices;

string code = @"using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.IO;

namespace Customization
{
    public class Script
    {
        public async Task<object?> RunAsync(object? data)
        {
            //The following should not be allowed
            File.Delete(@""C:\Temp\log.txt"");

            return await Task.FromResult(data);
        }
    }
}";

var compilation = Compile(code);
var bytes = Build(compilation);

Console.WriteLine("Done");

CSharpCompilation Compile(string code)
{
    SyntaxTree syntaxTree …
Run Code Online (Sandbox Code Playgroud)

c# runtime compilation roslyn .net-core

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

以编程方式调用 PhotoPicker?

SwiftUI PhotoPicker 非常适合创建要按下的按钮/标签,然后在按下标签时显示照片选择器。但是,我想在按下选择器标签后而不是在条件测试通过后调用照片选择器。

例如,如果用户单击将调用照片选择器的按钮,我想首先检查图像将附加到的记录是否已保存。如果记录已保存,我想启动选择器。如果尚未保存,我会显示一条警报,询问他们是否要保存或取消。如果他们选择保存,我将保存记录,然后我想自动调用照片选择器。

那么我可以以编程方式调用选取器而不是让用户单击它吗?谢谢你的建议!

swiftui photo-picker

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

获取列中数组的相关矩阵

我有数据框:

data = [['t1', ['u1','u2', 'u3', 'u4', 'u5'], 1],['t2', ['u1','u7', 'u8', 'u5'], 1], ['t3', ['u1','u2', 'u7', 'u11'], 2], ['t4', ['u8','u9'], 3], ['t5', ['u9','u22', 'u11'], 3],
       ['t6', ['u5','u11', 'u22', 'u4'], 3]]
sdf = spark.createDataFrame(data, schema=['label', 'id', 'day'])
sdf.show()
+-----+--------------------+---+
|label|                  id|day|
+-----+--------------------+---+
|   t1|[u1, u2, u3, u4, u5]|  1|
|   t2|    [u1, u7, u8, u5]|  1|
|   t3|   [u1, u2, u7, u11]|  2|
|   t4|            [u8, u9]|  3|
|   t5|      [u9, u22, u11]|  3|
|   t6|  [u5, u11, u22, u4]|  3| …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql pyspark

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

2 个子模块是否可以具有不同的路径但名称相同?

示例项目(使用 kotlin DSL 在 Gradle 8.1.1 中编写):

https://github.com/tribbloid/scaffold-gradle-kts/tree/16bf3acffca7b83a7e64dbb248a9512caba87e71

该项目有 3 个以上子模块:

include(":lightweight-dependency:core")
include(":lightweight-dependency:extra") // depends on :lightweight-dependency:core
include(":core") // depends on lightweight-dependency:extra
...
Run Code Online (Sandbox Code Playgroud)

编译的时候,出现了如下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Circular dependency between the following tasks:
:core:compileJava
+--- :core:compileJava (*)
+--- :core:compileKotlin
|    +--- :core:compileJava (*)
|    +--- :core:compileKotlin (*)
|    \--- :core:compileScala
|         +--- :core:compileJava (*)
|         +--- :core:compileKotlin (*)
|         \--- :core:compileScala (*)
\--- :core:compileScala (*)

(*) - details omitted (listed previously)
Run Code Online (Sandbox Code Playgroud)

这是有问题的,因为:lightweight-dependency:core …

gradle gradle-kotlin-dsl

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

使用PHP套接字发送和接收数据

我正在尝试通过PHP套接字发送和接收数据.

Evrything还可以,但是当我试图发送数据时,PHP不会发送任何内容(Wireshark告诉我发送的数据长度为0).

我正在使用此代码:

<?php
$address = 'example.com';
$port = 1234;

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$sockconnect = socket_connect($sock, $address, $port);

$c = 0;
do {
    $c++;
    $msg = '<test>Xml data</test>';

    socket_write($sock, $msg, strlen($msg));

    echo socket_read($sock, 1024 * 100, PHP_NORMAL_READ);

} while ($c < 3);

socket_close($sock);
Run Code Online (Sandbox Code Playgroud)

谁能帮我?感谢您阅读我的问题.

php sockets

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