小编Inf*_*eus的帖子

如何将表插入Word文档代替文本标记?

我有DateTable.需要在teplate文档中插入它而不是某些字符集.

我可以用这种方式替换文本到文本(很多missingObj以避免错误):

    using Word = Microsoft.Office.Interop.Word;

    Word._Application application;
    Word._Document document;
    Object missingObj = System.Reflection.Missing.Value;
    Object trueObj = true;
    Object falseObj = false;

    private void create_button1_Click(object sender, EventArgs e) {
            application = new Word.Application();
            Object templatePathObj;
            templatePathObj = "template.dot";  

            try {
                document = application.Documents.Add(ref  templatePathObj, 
                    ref missingObj, ref missingObj, ref missingObj);
            }
            catch (Exception error) {
                document.Close(ref falseObj, ref  missingObj, ref missingObj);
                application.Quit(ref missingObj, ref  missingObj, ref missingObj);
                document = null;
                application = null;
                throw error;
            }

            object strToFindObj …
Run Code Online (Sandbox Code Playgroud)

c# com datatable ms-word ms-office

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

如何在 Microsoft SQL Server 2017 上调试存储过程?

我需要使用存储在此服务器中的数据调试本地 SQL Server 上的存储过程。

我的设备上有:

  • Microsoft SQL Server 2017 标准版
  • Microsoft SQL Server 管理工作室 2014
  • Microsoft SQL Server Management Studio 18.0 预览版 5
  • Visual Studio 2017 专业版

调试器已从 SSMS 17.9 及更新版本中删除。

尝试 1。调试使用 SSMS 2014。我收到以下错误消息:

在此处输入图片说明

无法启动程序“MSSQL:://localhost/MyDB/sys/=0”。

没有参数的存储过程也有同样的错误。

尝试2。使用 Visual Studio 进行调试。

我可以执行存储过程,甚至可以通过 VS 在 SQL 服务器端更改它们。

但是当我尝试调试时出现类似的错误:

无法启动调试器。生成了一个异常:'数据为空。不能对 Null 值调用此方法或属性。

无法启动程序“MSSQL:://localhost/?/sys/=0”。不支持操作。未知错误:0x80004005。

那么我应该如何调试 Microsoft SQL Server 2017 中的存储过程?

还是我做错了什么?

sql-server debugging ssms stored-procedures sql-server-2017

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

如何在使用Regex.Replace方法时找到子字符串?

我正在使用此代码来替换索引中的所有找到的值:

int i = 0;
input = "FGS1=(B+A*10)+A*10+(C*10.5)";
Regex r = new Regex("([A-Z][A-Z\\d]*)");
bool f = false;
MatchEvaluator me = delegate(Match m)
{
  f = true;
  i++;
  return "i" + i.ToString();
};
do { f = false; input = r.Replace(input, me); } while (f);
//expected result: input == "i1=(i2+i3*10)+i4*10+(i5*10.5)"
Run Code Online (Sandbox Code Playgroud)

但我必须以更复杂的方式做到这一点,因为我必须用已发现的价值做些什么.例如:

MatchEvaluator me = delegate(Match m)
{
  foundValue = /*getting value*/;
  if (foundValue = "A") i--;
  f = true;
  i++;
  return "i" + i.ToString();
};
Run Code Online (Sandbox Code Playgroud)

此代码的预期结果: "i1=(i2+i2*10)+i2*10+(i3*10.5)"

c# regex

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

C#无法在结构中声明指针变量

我在Visual Studio 2012中工作.我只是尝试使用指向相同结构的指针创建结构:

namespace PLT_1_lab {
    class Program {
        struct tNode {
            string oper;
            int level;
            tNode *left;
            tNode *right;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并在*行中我得到错误(我已经翻译了VS所以它看起来有点不同):

无法获取地址,定义声明指向受控类型的指针的大小("PLT_1_lab.Program.tNote")

c#

3
推荐指数
2
解决办法
1449
查看次数

Forms.Context 已过时,那么我应该如何获取单个活动应用程序的活动?

现在我用这个:

var activity = (Activity)Forms.Context;
Run Code Online (Sandbox Code Playgroud)

但我应该用什么来代替呢?

根据此处接受的答案,我应该使用Android.App.Application.ContextXamarin.Forms: Forms.Context is obsolete

但我无法将其投射到Activity.

这里有什么解决方法吗?

UPD:我需要它来关闭库中的应用程序。

android android-activity xamarin

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

如何正确地将字符串转换为单词和标点符号列表?

我有字符串:IDLIST, ID NAME;.需要把它变成列表:{"IDLIST", ",", "ID", "NAME", ";"}.

很明显如何通过自由空间切割字符串,但是如何处理标点符号呢?

单词可以是任何字母集.标点符号也可以是任意标记.

c# string

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

我使用信号量错了吗?

我需要使用信号量并行完成一些任务.我试试这个:

Semaphore sema = new Semaphore(2,2);
Thread[] Threads = new Thread[5];
for (int k = 0; k < 5; k++) {
    sema.WaitOne();
    Console.WriteLine((k + 1) + " started");
    Threads[k] = new Thread(ThreadMethod1);
    Threads[k].Start(k + 1);
    sema.Release();
}

static void ThreadMethod1(object id) {
    Thread.Sleep(50);
    Console.WriteLine(id + " completed");
}
Run Code Online (Sandbox Code Playgroud)

输出如下:

1 started
2 started
3 started
4 started
5 started
1 completed
2 completed
4 completed
3 completed
5 completed
Run Code Online (Sandbox Code Playgroud)

是不是信号量应该让只有2个线程运行?我不明白或做错了什么?

c# multithreading semaphore

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

阻塞全局迭代器是否有意义?

我需要做一些要求读取线程中arrey的每个元素的东西.每个线程只需要阅读元素[i]i++.我需要锁i++吗?

我在某处读到带有双变量的异步操作需要锁定以防止意外结果.我怎么能对另一个操作说同样的话?以下是有问题的操作列表?

有关更多细节.我有全局变量:

public static int[] IntArray;
public static int ArrayPointer = 0;
Run Code Online (Sandbox Code Playgroud)

我以这种方式在池中启动一些线程:

ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod));
Run Code Online (Sandbox Code Playgroud)

像这样:

static void ThreadMethod() {
  //loop until ArrayPointer is too big
  Console.WriteLine(IntArray[ArrayPointer]);
  ArrayPointer++;
  //end of loop
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading thread-safety

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

如何使用一些自定义方法创建只有List <string>的类?

这似乎是一项微不足道的任务,但我找不到怎么做(而且不知道该怎么称呼它).

例.我需要的state是实际上只是字符串列表的类.它必须如此工作:

state s = new state();
s.Add("John Madden");
//s[0] == "John Madden"
Run Code Online (Sandbox Code Playgroud)

我需要向这个类添加一些方法.

c# oop

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

已关闭的 XML。Workbook.Save() 时内存泄漏

我需要从 dataTable 添加新的工作表。对于这个任务,我使用 ClosedXML:

workbook.Worksheets.Add(dataTable);
workbook.Save();
workbook = new XLWorkbook(filePath); //reload file to avoid exception at next saving
Run Code Online (Sandbox Code Playgroud)

我的进程使用了​​ 128 Mb 的内存,但在Workbook.Save()此数字增加到 382 Mb 之后。添加下一个工作表后,内存使用量从 464 Mb 上升到 619 Mb。但此时的实际文件为 1.6 Mb。

这可能是什么原因?

c# excel memory-leaks closedxml

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

如何使用ReactiveCommand?

我有一个使用ReactiveCommand的viewmodel:

public ReactiveCommand<Unit, Unit> Command { get; }

public MyViewModel()
{
    Command = ReactiveCommand<Unit, Unit>.Create(MyMethod);
}
Run Code Online (Sandbox Code Playgroud)

并将其绑定到一个按钮:

<DataTemplate>
    <Button Content="Press me" 
    Command="{Binding Command, Mode=OneTime}"
    Margin="0,0,5,0"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

我将视图绑定到viewmodel这样(在我的情况下最方便的方式):

myView.DataContext = new MyViewModel();
Run Code Online (Sandbox Code Playgroud)

当我按下MyMethod按钮时,在执行MyMethod中的最后一个操作符后,我的应用程序崩溃了:

InvalidOperationException:调用线程无法访问此对象,因为另一个线程拥有它.

  StackTrace:
   at System.Windows.Threading.Dispatcher.VerifyAccess()
   at System.Windows.DependencyObject.GetValue(DependencyProperty dp)
   at System.Windows.Controls.Primitives.ButtonBase.get_Command()
   at System.Windows.Controls.Primitives.ButtonBase.UpdateCanExecute()
   at System.Windows.Controls.Primitives.ButtonBase.OnCanExecuteChanged(Object sender, EventArgs e)
   at System.Windows.Input.CanExecuteChangedEventManager.HandlerSink.OnCanExecuteChanged(Object sender, EventArgs e)
   at ReactiveUI.ReactiveCommand.OnCanExecuteChanged()
   at ReactiveUI.ReactiveCommand`2.<.ctor>b__9_6(Boolean _)
   at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\AnonymousSafeObserver.cs:line 54
   at System.Reactive.Linq.ObservableImpl.RefCount`1._.OnNext(TSource value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Linq\Observable\RefCount.cs:line 66
   at System.Reactive.Subjects.FastImmediateObserver`1.EnsureActive(Int32 count) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\ReplaySubject.cs:line 893
   at System.Reactive.Subjects.FastImmediateObserver`1.EnsureActive() in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\ReplaySubject.cs:line …
Run Code Online (Sandbox Code Playgroud)

mvvm reactiveui

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

C++.如何从函数写入文件

我有功能必须在文件中写一些东西.

我这样试试:

int main() {
    std::ofstream fout;
    fout.open("OUTPUT.TXT");
    i = searchLexemes(input, i, 1, fout);
}
Run Code Online (Sandbox Code Playgroud)

searchLexemes以这种方式定义:

int searchLexemes(std::string value, int i, int type, std::ofstream fout);
Run Code Online (Sandbox Code Playgroud)

如果我像在main()中那样调用searchLexemes,Visual Studio会给出错误:

IntelliSense:"std :: basic_ofstream <_Elem,_Traits> :: basic_ofstream(const std :: basic_ofstream <_Elem,_Traits> :: _ Myt&_Right)[с_Elem= char,_Traits = std :: char_traits]"(объявленовстроке1034 из"C:\ Program Files\Microsoft Visual Studio 11.0\VC\include\fstream")недоступноc:\ Users\Badina\Documents\Visual Studio 2012\Projects\PLT lab1\PLT lab1 \Исходныйкод.cpp191 33 PLT lab1

我正在使用俄罗斯版的VS 2012,但我想问题必须清楚.

c++ c++11 visual-studio-2012

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