Oracle官方文档说:
请注意,如果对并行流使用forEachOrdered等操作,则可能会失去并行性的好处. Oracle - 并行性
forEachOrdered
如果我们失去并行性,为什么有人会使用并行流呢?
MS Exchange / Outlook 消息使用 MAPI 存储数据。一个常见的 MAPI 属性包含消息正文的富文本版本(0x1009、PR_RTF_COMPRESSED、PidTagRtfCompressed)。如果富文本字符串具有无效结构,则 Outlook 2003 及更早版本将无法显示任何正文内容。
例如,这个 RTF 代码省略了一个结束的“}”。
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 asdfasdf\par
Run Code Online (Sandbox Code Playgroud)
正确的版本是
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 asdfasdf\par
}
Run Code Online (Sandbox Code Playgroud)
是否有可用于测试 RTF 代码是否有效的 .NET 方法或库?如果没有,我对 C++ 和 Java 或 COM 库持开放态度。如果没有,是否有应用程序报告 RTF 字符串中的违规行为?
理想的解决方案是报告包含不规则的行号。一个适当的解决方案将报告整个 RTF 是否有效且格式良好。
此问题在 MAPI 之外是相关的。例如,如果将上面指定的无效 RTF 字符串写入 .RTF 文件,它会在 WordPad 5.1 中正确打开,但 Word 2007 会报告错误并请求我修复该文件。
一个建议是我将 RTF 流式传输到富文本框中。我试过这个代码:
private void button1_Click(object sender, EventArgs e)
{
string aaa = richTextBox1.Rtf;
richTextBox1.Rtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 asdfasdf\par}";
richTextBox1.Refresh(); …
Run Code Online (Sandbox Code Playgroud) 我想以编程方式解密 Lotus Notes NSF 文件。假设对于每个 NSF,我都有访问 NSF 所需的 ID 文件和密码。
我使用的是 Lotus Notes 8.5.2、Windows 7 SP1 64 位。我愿意使用 COM、C++ API 或 C API。
我知道 C API 函数NSFDbIsLocallyEncrypted
,它报告 NSF 是否已加密。但是,我不相信它能够解密 NSF。
我知道 C++ API 函数LNNotesSession.CreateDatabaseCopy
,它采用参数 3 DBOptions
,其中有一个我可以设置为的成员 DBOptions.SetLocalEncryption( LNLOCALENCRYPTION::LNLOCALENCRYPTION_NONE )
。然而,这个函数创建了一个新的 NSF。如果可能的话,我想就地解密源 NSF 以节省时间和磁盘空间。
如何从 NSF 中删除本地加密?
我在C#中有一个简单的控制台应用程序,它创建一个计时器来向控制台写入文本.然后它等待用户按下一个键.
如果用户在五秒钟之前按下一个键,则应用程序结束,并且计时器永远不会触发.如果用户没有按任何键,则计时器将按预期触发.
为什么计时器创建的线程不会阻止应用程序终止?即使用户按下某个键,我应该如何确保应用程序继续运行?
static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer(5000);
timer.Interval = 5000; // 5 seconds
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
timer.AutoReset = true;
timer.Start();
Console.ReadKey();
}
public static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Console.WriteLine("Timer Fired.");
}
Run Code Online (Sandbox Code Playgroud) 我用C++编写了一个DLL.其中一个函数写入字符数组.
C++函数
EXPORT int xmain(int argc, char argv[], char argv2[])
{
char pTypeName[4096];
...
//Other pTypeName ends up populated with "Portable Network Graphics"
//This code verifies that pTypeName is populated with what I think it is:
char szBuff[64];
sprintf(szBuff, pTypeName, 0);
MessageBoxA(NULL, szBuff, szBuff, MB_OK);
//The caption and title are "Portable Network Graphics"
...
//Here, I attempt to copy the value in pTypeName to parameter 3.
sprintf(argv2, szBuff, 0);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
C#导入
//I believe I have to use CharSet.Ansi …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将两个 numpy 数组作为矩阵相乘。我期望 ifA
是一个n x m
矩阵并且B
是一个m x p
矩阵,那么A*B
会产生一个n x p
矩阵。
此代码创建一个 5x3 矩阵和一个 3x1 矩阵,如shape
属性所验证。我小心翼翼地创建了两个二维数组。最后一行执行乘法,我期望一个 5x1 矩阵。
A = np.array([[1,1,1],[2,2,2],[3,3,3],[4,4,4],[5,5,5]])
print(A)
print(A.shape)
B = np.array([[2],[3],[4]])
print(B)
print(B.shape)
print(A*B)
Run Code Online (Sandbox Code Playgroud)
结果
[[1 1 1]
[2 2 2]
[3 3 3]
[4 4 4]
[5 5 5]]
(5, 3)
[[2]
[3]
[4]]
(3, 1)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-38-653ff6c66fb7> in <module>()
5 print(B)
6 print(B.shape)
----> …
Run Code Online (Sandbox Code Playgroud) 我想DataFrame
在Python 3.6 中将列名添加到groupby的结果中。
我尝试了这段代码:
import pandas as pd
d = {'timeIndex': [1, 1, 1, 1, 2, 2, 2], 'isZero': [0,0,0,1,0,0,0]}
df = pd.DataFrame(data=d)
df2 = df.groupby(['timeIndex'])['isZero'].sum()
print(df2)
Run Code Online (Sandbox Code Playgroud)
结果
timeIndex
1 1
2 0
Name: isZero, dtype: int64
Run Code Online (Sandbox Code Playgroud)
看起来像是timeIndex
列标题,但是尝试按名称寻址列会产生异常。
df2['timeIndex']
# KeyError: 'timeIndex'
df2['isZero']
# KeyError: 'isZero'
Run Code Online (Sandbox Code Playgroud)
我正在寻找这个结果。
df2
timeIndex isZero
0 1 1
1 2 0
df2['isZero']
0 1
1 0
Run Code Online (Sandbox Code Playgroud) 我试图将C++代码移植到C#.该代码用于注册窗口类RegisterClassEx
.
C++代码有一个对象WNDCLASSEX wcex
.对象wcex
有一个属性
wcex.cbSize = sizeof(WNDCLASSEX);
Run Code Online (Sandbox Code Playgroud)
在C#中,我将结构定义为
[StructLayout(LayoutKind.Sequential)]
public struct WNDCLASSEX
{
public uint cbSize;
public uint style;
[MarshalAs(UnmanagedType.FunctionPtr)]
public PlatformInvokeGDI32.WNDPROC lpfnWndProc;
public int cbClsExtra;
public int cbWndExtra;
public IntPtr hInstance;
public IntPtr hIcon;
public IntPtr hCursor;
public IntPtr hbrBackground;
public string lpszMenuName;
public string lpszClassName;
public IntPtr hIconSm;
}
Run Code Online (Sandbox Code Playgroud)
我试图使用大小
wcex.cbSize = (uint)sizeof(WNDCLASSEX);
Run Code Online (Sandbox Code Playgroud)
包含此stament的函数声明为
unsafe private void
Run Code Online (Sandbox Code Playgroud)
我希望unsafe
这会使法规有效.但是,我在IDE中收到此错误:
Cannot take the address of, get the size of, or declare a pointer …
我在C#中构建了一个应用程序,它将文档从源NSF复制到目标NSF.目标NSF是一个空壳,保留所有设计元素,基于源NSF.我正在使用Lotus Notes 8.5.3并且未连接到Domino服务器.
我使用此应用程序将源NSF拆分为较小的块.目标是创建可由我们的自动(eDiscovery)系统有效处理的目标NSF.我需要确保保留尽可能多的元数据.
我现有的代码符合这些目标,但(1)我丢失了文件夹信息.复制文档后,所有文件夹都为空.(2)所有文件都标记为已读,即使它们在源中未读.
代码C#
//Establish session
NotesSession ns = new Domino.NotesSessionClass();
ns.Initialize("");
//Open source NSF
NotesDatabase nd = ns.GetDatabase("", "test.nsf", false);
//Open destination NSF.
//Assume that all design elements of nd2 are identical to those of nd
NotesDatabase nd2 = ns.GetDatabase("", "test2.nsf", false);
//Create view that returns all documents.
NotesView nView2 = nd.GetView("$All");
nd.CreateView("All-DR", "SELECT @ALL", nView2, false);
NotesView nView = NotesConnectionDatabase.GetView("All-DR");
//Loop through entries in the new view
NotesViewEntry nvec = nView.AllEntries;
nve = nvec.GetFirstEntry();
for (int …
Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2008中,使用C++,我尝试使用http://msdn.microsoft.com/en-us/library/ms235636.aspx上的说明构建DLL ,除了我命名了一个扩展名为"."的源文件. c"而不是建议的".cpp".
扩展名为.c时,编译器会抛出37个错误.扩展名为.cpp,DLL构建成功.
源文件的扩展有何不同?
这是完整的代码:
// MathFuncsDll.cpp
// compile with: /EHsc /LD
#include "MathFuncsDll.h"
#include <stdexcept>
using namespace std;
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b;
}
double MyMathFuncs::Subtract(double a, double b)
{
return a - b;
}
double MyMathFuncs::Multiply(double a, double b)
{
return a * b;
}
double MyMathFuncs::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!");
}
return a …
Run Code Online (Sandbox Code Playgroud) 我的 AngularJS 应用程序使用ng-repeat
. AngularJS 发出 GET 请求,检索一个数组。该表正确显示了数组的元素。
该页面包含一个调用函数来修改数组的按钮。但是,该表不会更新以反映修改后的数组。
我已经尝试过以下方法:
这些尝试都没有奏效。此外,我相信这就是ng-repeat
它apply()
本身。
AngularJS
<script>
var app2 = angular.module('myApp2', []);
app2.controller('StocksController', function ($scope, $http, $timeout) {
// When the page loads...
// Load myData with REST GET
$http.get("http://example.com/exWebAPI/api/Ticker/").then(function (response) {
$scope.myData = response.data;
});
// Update the array
$scope.SendData = function () {
alert('Hello from SendData.');
$scope.myData.splice(0, 2);
$scope.$apply();
};
});
</script>
Run Code Online (Sandbox Code Playgroud)
超文本标记语言
<div ng-app="myApp2" …
Run Code Online (Sandbox Code Playgroud)