小编mHe*_*pMe的帖子

获取向量更改值的索引位置

我有一个包含订购字符串列表的向量.我想知道向量变化的索引号.以下是一个明显的例子.我真的不太习惯使用MATLAB.在我的脑海里,我只想考虑使用循环.我想知道是否有更好的方法使用MATLAB做到这一点?

 Vector
 ABC
 ABC
 ABC
 ABC
 MNK
 MNK
 MNK
 PLO
 PLO
Run Code Online (Sandbox Code Playgroud)

所以我想知道ABC是1:4,MNK是5:7,PLO是8:9

matlab

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

在一台计算机上打开工作簿错误代码32809但不在另一台计算机上打开

我有一个excel 2013宏工作簿.

这本工作簿在过去的6个月里一直运行良好.今年的第一天,我在下面遇到了一个问题,下面的代码行.所有这一行代码都是在打开工作簿时将activex复选框控件设置为true.

Sheets(WSCHARTS).chkAllJPM.value = True
Run Code Online (Sandbox Code Playgroud)

我设法通过之前的帖子解决问题.答案是按照说明进行的.但是,第一天回到办公室的团队成员遇到了这个工作簿的问题.他们每天都在使用这本工作簿而没有任何问题.代码在上面的同一行上进行调试,错误代码为32809.

我尝试按照相同的说明为我解决问题但没有快乐.我不能在我的电脑上复制这些问题.不确定导致此错误的原因是什么?

这是子例程.请注意WSCHARTS是公共const字符串 - 它的值是"图表"

Sub SetDefaultSetting()

' set the default view upon opening the spreadsheet

Dim ws As Worksheet
Dim wsTime As Worksheet
Set wsTime = ThisWorkbook.Sheets(WSTSJPM)
Set ws = ThisWorkbook.Sheets(WSCHARTS)

' get last date
Dim lRow As Long
lRow = wsTime.Range("A65536").End(xlUp).Row
ws.DropDowns("DropDownStart").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address
ws.DropDowns("DropDownEnd").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address

ws.Range(COLDATES & "1") = 1                      ' start date is 12 dec …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

通过继承使用IDisposable

我正在使用继承并试图了解使用IDisposable的最佳方法.下面是我的基类的一个例子.

我明白,如果我有一个继承MyBase类的类(允许在MyChild中调用),即使MyChild没有实现IDisposable,如果MyChild初始化,则会执行Dispose方法(相信我的说法是正确的)如果使用的话如下,

using(MyChild chl = new MyChild) {// some code};
Run Code Online (Sandbox Code Playgroud)

我想知道的是,我在MyChild类中有一个对象,我想确保它被处理掉.我是否必须实现IDisposable接口并且具有与MyBase类中几乎相同的代码,或者我可以使用MyBase类中的代码吗?我猜这就是为什么在MyBase类中有一个受保护的虚拟Dispose方法?

我的基础班

 public class MyBase : IDisposable
 {
        // variables & methods declared here etc

        public void Dispose()
        {
            Dispose(true);
        }

        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (myObj != null) releaseObject(myObj);
            }
        }

        private static void releaseObject(object obj)
        {
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
        }
 }
Run Code Online (Sandbox Code Playgroud)

.net c# inheritance

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

使用匿名函数而不是循环来汇总单元格数组中的值

我有一个叫做数据的矩阵.它包含3列,公司名称,公司价值和公司货币,如下所示.

  Name      Value      Currency
  ABC       10         USD
  MNO       5          JPY
  PLM       3          USD
  NJK       7          EUR
Run Code Online (Sandbox Code Playgroud)

我需要总结每种货币的总价值,所以我的答案如下所示,

 Currency    Value
 EUR         7
 JPY         5
 USD         13
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用循环执行此操作,但是可以使用匿名函数,如果是这样,怎么办?

更新 - 原始帖子的额外信息缺乏信息

以下是我的解决方案,它有效.然而,我看到人们使用cellFun或匿名函数,并且就像这种性质的问题有一种更有效的方式(并且会喜欢替代方式)

val     = cell2mat(data(:, 2));              % double - value
sedols  = data(:, [1 3]);                   % cell - name (1st column) and currency (2nd column)

ccy     = unique(sedols(:, 2));
fx_exp  = zeros(length(ccy(:, 1)), 1);

for n = 1 : length(ccy(:, 1))
    index           = strmatch(ccy(n, 1), sedols(:, 2));
    fx_exp(n, 1)    = sum(val(index));
end
Run Code Online (Sandbox Code Playgroud)

arrays matlab vectorization

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

使用逻辑数组索引到矩阵

我有一个矩阵A,就是这样m x n.我想要做的是计算NaN一行中的元素数量.如果NaN元素的数量大于或等于某个任意阈值,则该行中的所有值都将设置为NaN.

num_obs = sum(isnan(rets), 2);
index = num_obs >= min_obs;
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,我正努力让自己的大脑发挥作用.尝试下面的线的不同变化,但没有运气.

rets(index==0, :) = rets(index==0, :) .* NaN;
Run Code Online (Sandbox Code Playgroud)

示例数据threshold >= 1是:

A = [-7 -8 1.6 11.9;
   NaN NaN NaN NaN;
   5.5 6.3 2.1 NaN;
   5.5 4.2 2.2 5.6;
   NaN NaN NaN NaN];
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

A = [-7 -8 1.6 11.9;
   NaN NaN NaN NaN;
   NaN NaN NaN NaN;
   5.5 4.2 2.2 5.6;
   NaN NaN NaN NaN];
Run Code Online (Sandbox Code Playgroud)

arrays matlab matrix

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

更新具有不同where条件的多个记录

我有两个表用于处理标识符更改.

因此下表是记录标识符的位置.

tblNewIds

DateFrom    OldId    NewId
2017-06-02  ABC      ABB
2017-04-21  XYZ      JHG
Run Code Online (Sandbox Code Playgroud)

下一个表格是存储所有日常销售的地方.

tblSales

DateSale    Id       
2017-01-01  ABC
2017-01-01  XYZ
2017-01-02  ABC
2017-01-02  XYZ 
...
2017-06-20  ABC
2017-06-20  XYZ     
Run Code Online (Sandbox Code Playgroud)

我想要一个查询来更新tblSales,以便从2017-04-21任何等于XYZ的Id更改为JHG&从2017-06-02更改ABC到ABB.

我知道如何使用下面的更新声明一次为一条记录执行此操作,但我想知道如何同时执行这两项操作?

update tblSales
set Id = 'ABB'
where Id = 'ABC' and DateSale >= '2017-06-02'
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

通过单击图例打开和关闭一系列谷歌图表

我有一个包含 6 个系列的面积图。我希望用户能够单击图例来切换系列的可见性。

我找到了这个示例并尝试将其包含在下面的代码中,但没有任何反应。在添加此代码之前,如果我单击图例中的其中一个系列,该系列会变得更厚,然后再次单击它,它将恢复正常,相信这是一些默认行为。然而,一旦系列变得更厚,包含此代码我就无法执行任何操作,即缩放或单击图表来获取点的值。

不确定我错过了什么?

更新

我也尝试过关注这篇文章,但结果相同。

最新更新

我已将代码更改为以下内容。

我现在收到的错误如下......

未捕获错误:列索引 8 无效。应该是 [0-7] 范围内的整数。在 gvjs_en (jsapi_compiled_default_module.js:75) 在 gvjs_P.gvjs_.uc (jsapi_compiled_default_module.js:92) 在 gvjs_P.gvjs_.Za (jsapi_compiled_default_module.js:91) 在 Data.displayed.reduce (jScore.js:220) 在数组.reduce () 在 vparse (jScore.js:214) 在 showHideSeries (jScore.js:202) 在 gvjs_Zn。(jsapi_compiled_default_module.js:179) 在 gvjs__n (jsapi_compiled_default_module.js:129) 在 gvjs_Zn.gvjs_.dispatchEvent (jsapi_compiled_default_module.js:127)

我的 HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="scripts/jScore.js"></script>

<script type="text/javascript">
    google.charts.load('current', { 'packages': ['corechart', 'table'] });
</script>

</head>
<body>
<div id="chartScore" style="height:1000px"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的JS文件

var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-api google-visualization

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

datepicker指定的值不符合要求的格式jquery.js

所以昨天我问了一个有关设置日历日期的问题。我缺少一些参考资料,因此已经添加了它们。请参阅下面的HTML部分。

我相信我的代码对于如何设置日历日期是正确的。但是,在加载页面时出现这些错误,

未捕获的SyntaxError:意外的令牌datepicker.css:11

指定的值“ 09/01/2018”不符合要求的格式“ yyyy-MM-dd”。的jquery.js:8254

不确定为什么这不起作用以及日期“ 09/01/2018”从哪里来?

我也认为我的datepicker.css应该如下所示。

链接href =“ https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css” rel =“ stylesheet” type =“ text / css” />

当我这样做时,Uncaught SyntaxError消息消失,但仍然有其他问题。

$(document).ready(function() {
  $("#dtSelectorStatic").datepicker();
  $("#dtSelectorStatic").datepicker("setDate", new Date(2018, 8, 1));
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.min.css" />

<input id="dtSelectorStatic" />
Run Code Online (Sandbox Code Playgroud)

更新资料

以下是我页面中的所有参考。一件事(可能什么都不是),但是当我输入“ script src =“时,我的意思会出现在我的文件夹脚本中,并列出3个文件(下图,jQES是我创建的文件),但同时也没有列出其他两个文件该文件夹,jquery-ui.js或jquery-ui.min.js

Visual Studio中的脚本文件夹

 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
    google.charts.load('current', { 'packages': ['corechart', 'table'] });
</script>
<script src="/scripts/external/jquery/jquery.js"></script>
<script src="/scripts/jquery-ui.min.js"></script>
<script src="/scripts/jQES.js"></script> 
<link href="CSS/MyCSSFile.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" /> …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

如何从MediaPlayer中的SpeechSynthesizer播放wav文件

我有一些代码(在WPF应用程序中),当一些文本被复制到剪贴板时,它将使用SpeechSynthesizer读取文本(我的所有代码都在这篇文章的底部).

但是以这种方式播放音频不允许我暂停,倒带或播放等.

所以我想我会使用SpeechSynthesizer来保存一个wav文件.然后使用MediaPlayer类,因为它很容易暂停,播放等.

但是,保存文件后,文件无法在我的媒体播放器中播放.文件很好,手动运行时效果很好.我想使用MediaPlayer,因为我已经为它编写了一些代码.

更新

使用此页面上的示例,我可以播放我的wav文件.我不知道为什么文件不能在我的代码中运行?在上面的示例中,我知道他们正在使用媒体元素,并且在我的代码中尝试过它没有任何区别.我不是只播放视频音频,因此我使用的是MediaPlayer.

这是我目前的所有代码.文件正在保存,但据我所知,媒体播放器没有播放任何内容,我的电脑音量非常高.

     using System;
     using System.Windows;
     using System.Windows.Controls;
     using System.Windows.Media;
     using System.Windows.Media.Imaging;
     using System.Windows.Interop;
     using System.IO;
     using System.Speech.Synthesis;
     using System.Windows.Controls.Primitives;
     using System.Windows.Threading;

     namespace CSWPFClipboardViewer
     {
      /// <summary>
      /// Main window of the application, also will be used to get clipboard messages.
      /// </summary>
      public partial class MainWindow : Window
      {
        #region Private fields

        /// <summary>
        /// Next clipboard viewer window 
        /// </summary>
        private IntPtr hWndNextViewer;

        /// <summary>
        /// The <see cref="HwndSource"/> …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf media-player

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

找不到 adobe acrobat 10.0 类型库 (2020)

我正在尝试使用 VBA 从 pdf 中读取一些文本。

我读到我需要引用该库,Adobe Acrobat 10.0 Type Library。因此,我从下载页面下载了适用于 Windows 的 Acrobat DC SDK 。但是我查看了这些文件,但找不到 Adob​​e Acrobat 10.0 dll。我在哪里可以找到这个dll?

excel adobe vba

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