编辑:此问题的文本已更改为反映利用开放的xml代码和互操作.
我试图通过功能区将基本64位编码的图像插入Word文档.以下代码用于复制目的:
public partial class Ribbon1
{
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
}
private void InsertPicture_Click(object sender, RibbonControlEventArgs e)
{
Word.Application wordApp = null;
Word.Document currentDocument = null;
Word.ContentControls controls = null;
try
{
wordApp = (Word.Application) Marshal.GetActiveObject("Word.Application");
currentDocument = wordApp.ActiveDocument;
controls = currentDocument.ContentControls;
currentDocument.Range().InsertXML(@"<pkg:package xmlns:pkg=""http://schemas.microsoft.com/office/2006/xmlPackage"">
<pkg:part pkg:name=""/word/media/image1.png"" pkg:contentType=""image/png"" pkg:compression=""store"">
<pkg:binaryData>iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIA
AADdHiL1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAVSURBVChTY3gro0IqGtUz3PTIqAAAlO/H4+qBWxcAAAAASUVORK5CYII=</pkg:binaryData>
</pkg:part></pkg:package>");
object tr = true;
object fa = false;
}
catch(Exception ex)
{
wordApp.ActiveDocument.Range().InsertAfter(ex.Message);
}
finally
{
if (controls != null) Marshal.ReleaseComObject(controls); controls = null;
if …Run Code Online (Sandbox Code Playgroud) 使用setTimeout时拉入事件对象的最佳方法是什么?我正在使用jQuery来处理所有浏览器中事件模型的规范化,但我不确定如何将'e'对象放入checkPos函数中.
我目前的代码:
function MouseDownEvent(e) {
*snip*
timeoutID = setTimeout(checkPos(e), 500);
}
function checkPos(e) {
//function uses e on a timeout of 500ms
timeoutID = setTimeout( checkPos(e) }, 500);
}
Run Code Online (Sandbox Code Playgroud)
目前该代码工作一次,因为该函数在mousedown事件中被调用,但在用户移动鼠标时从不更新e对象.FF javascript错误控制台还声明它是'一个无用的setTimeout调用(在参数周围缺少引号?)',但是遵循该建议会导致它完全失败.
如何从setTimeout调用中提取'e'事件参数?
编辑:在每500ms重新运行checkPos函数的代码中添加
我确定我忽略了一些非常基本的东西,但在查询和谷歌搜索大约一个小时后我无法绕过它.
我有一个日期表,如果有帮助的话.它填充了过去几年的日期值,并通过存储过程在每晚更新,该过程由服务器上的作业运行.
我需要做的是将周一至周日的周数拉出来,这样我就可以将它们正确地加入到跟踪表中,以获得每周一次的命中图.我不想写出52个逐渐变大的选择语句,并且出于显而易见的原因将它们联合起来,我不喜欢游标的概念.
我已经用几个月和几天完成了这个,但由于某种原因,周的性质使我感到困惑,或者它本质上是不同的.
关于如何在没有游标或巨大的选择/联合的情况下自动化过程的任何想法?如果绝对必要,我会去光标并将其转换成一张桌子,但我希望不是.
仅供参考我想要的格式是:
[Week number] | [StartDate] | [EndDate]
Run Code Online (Sandbox Code Playgroud)
每周一次
我似乎无法使用GETDATE()语法在Transact-Sql Script类型的Job Step中工作.我把命令放在:
execute insertMostRecentUpdate
@Data='Data',
@Date=GETDATE()-1
Run Code Online (Sandbox Code Playgroud)
但是在解析或尝试运行它时,我得到"错误的语法附近")'"错误.有什么想法吗?
我一直试图避免在这种特殊情况下使用光标只是因为我不喜欢权衡,而我正在使用的过程恰好使得触发器看起来像是正确的行动方案.
存储过程根据复杂的子句混合插入记录,使用插入触发器向目标用户发送电子邮件,告诉他们访问站点.这很简单,工作正常.
但是,另一个过程是每晚运行并重新分发所有未查看的记录.我这样做的方式是根据分配时的日期字段上的选择进行另一次插入.以机智:
INSERT INTO Table (ID, User, AssignDate, LastActionDate)
SELECT
ID
,User
,GETDATE() [AssignDate]
,GETDATE() [LastModifiedDate]
FROM Table2
/*snip*/
Run Code Online (Sandbox Code Playgroud)
触发器适用于单个插入,但上面的select语句仅适用于最后插入的行.有办法绕过这种行为吗?它毁了整个事情!
编辑(触发代码):
ALTER TRIGGER dbo.Notify
ON dbo.Table
AFTER INSERT
AS
BEGIN
DECLARE @EmailSender varchar(50)='Sender Profile'
DECLARE @Identity int
DECLARE @User varchar(20)
DECLARE @Subject varchar(50)
SET @Identity=@@Identity
SELECT @User=User, @Subject='(' + CONVERT(varchar,@Identity) + ')!'
FROM Table
WHERE
idNum=@Identity
exec msdb.dbo.sp_send_dbmail
@profile_name=@EmailSender,
@recipients=@User
@subject=@Subject,
@body='//etc'
END
Run Code Online (Sandbox Code Playgroud) 我正在构建一个 nodejs api 并将dotenv包设置为开发依赖项,以将变量加载到process.env开发人员的本地机器上。
需要注意的是,当我登录我用sudo -i的操作root。
我的意图是在部署期间,环境变量将在我的 Ubuntu 主机中设置/etc/environment,直接加载到进程中,然后应用程序将只针对该配置运行。
为此,我在开头有一行server.js:
if(process.env.NODE_ENV === 'development') {
logger.info("Loading dotenv for development environment")
require('dotenv').config();
}
Run Code Online (Sandbox Code Playgroud)
并且将指示开发人员将环境变量添加到他们的系统中NODE_ENV。
现在,在我的 Ubuntu EC2 实例中,我已经设置了/etc/environment我想要的环境变量(注意这里的 NODE_ENV 是 'dev' 只是为了避免运行 dotenv):
PORT=MYPORT
NODE_ENV=dev
APP_SECRET_KEY='MYSECRET'
APP_DATABASE_LOGIN=MYLOGIN
APP_DATABASE_PASSWORD='MYPASS'
APP_DATABASE_HOST=MYHOST
APP_DATABASE_NAME=MYDB
APP_DATABASE_PORT=MYDBPORT
Run Code Online (Sandbox Code Playgroud)
当我重新启动并运行时,printenv它们都按文件填充。
我已经设置pm2为直接从server.js没有任何额外配置的情况下运行我的应用程序,因为据我所知,它process.env是从环境变量自动填充的。
但是,当我从 process.env 记录值时,我只会为所有内容获取 null:
logger.info({
connectionConfig: {
host: process.env.APP_DATABASE_HOST
, login: process.env.APP_DATABASE_LOGIN
, port: process.env.APP_DATABASE_PORT …Run Code Online (Sandbox Code Playgroud) 好吧,我以为我的整个setTimeout事情很完美,但我似乎非常错误.
我正在使用excanvas和javascript绘制我的家庭状态的地图,但是绘图程序会扼杀浏览器.现在我被迫迎合IE6,因为我是一个大型组织,这可能是缓慢的很大一部分.
所以我认为我要做的是构建一个名为distributedDrawPolys的程序(我可能在那里使用了错误的单词,所以不要专注于分布式单词),这基本上会从全局数组中弹出多边形以便绘制50他们一次.
这是将多边形推送到全局数组并运行setTimeout的方法:
for (var x = 0; x < polygon.length; x++) {
coordsObject.push(polygon[x]);
fifty++;
if (fifty > 49) {
timeOutID = setTimeout(distributedDrawPolys, 5000);
fifty = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我在该方法结束时发出警报,它几乎在一秒钟内运行.
分布式方法如下:
function distributedDrawPolys()
{
if (coordsObject.length > 0) {
for (x = 0; x < 50; x++) { //Only do 50 polygons
var polygon = coordsObject.pop();
var coordinate = polygon.selectNodes("Coordinates/point");
var zip = polygon.selectNodes("ZipCode");
var rating = polygon.selectNodes("Score");
if (zip[0].text.indexOf("HH") == -1) {
var lastOriginCoord = [];
for (var …Run Code Online (Sandbox Code Playgroud) 所以我试图匹配一个正则表达式,我在这方面相当新.我使用了验证器,当我粘贴代码时它可以工作,但是当它放在.NET2.0 C#页面的代码隐藏中时却没有.
违规代码应该能够在单个分号上分割,但不能在双分号上分割.但是,当我使用字符串时
"条目; ENTRY2; entry3; entry4;"
我得到一个包含空值,上一个条目的最后一个字母和分号本身的无意义数组.在线javascript验证器正确分割它.请帮忙!
我的正则表达式:
((;;|[^;])+)
Run Code Online (Sandbox Code Playgroud) 你们如何处理边缘CSS?通过边缘,我的意思是需要斜体或粗体的单个词或短语.用刚才宣布'大胆'的课程似乎很愚蠢
Bold { font-weight: bold; }
Run Code Online (Sandbox Code Playgroud)
或斜体,或者!
Italic { font-style: italics; }
Run Code Online (Sandbox Code Playgroud)
但我发现自己犹豫是否将这样的课程放入我的css重置中.
<p>
<span class="Italic">This</span> man?
<span class="Bold">What</span> are you thinking?
</p>
Run Code Online (Sandbox Code Playgroud)
显然,如果你要结合一堆属性来使某些东西看起来不同,那就有意义......
.HoverOnMe
{
color: #880;
text-decoration: underline;
font-style: italic;
}
Run Code Online (Sandbox Code Playgroud)
但我将上述css风格归类为"非边缘".
我们被教导说元素喜欢<b>和<i>不好因为它们混合了结构和风格,因此我们不应该使用它们.那么处理'边缘css'的正确方法是什么?
我的JSON对象构造如下:
var Source =
{
Object: [ //Array
{Title: 'Test', Type: 'Pet', Category: 'Cat', Description: 'Fluffy', Count: 2 }
]
};
Run Code Online (Sandbox Code Playgroud)
我能够弄清楚如何正确添加到'对象'数组,但我似乎无法找出基于属性列表(标题,类型,类别等)查询对象的jQuery语法.
我将一些测试代码放入click事件中,并通常检查Source.Object的长度(测试数据导致2个对象)以确认是否有数据可以使用(它通过ajax调用填充).
function clickTest(category, type) {
$(Source).find('Object[Category=\"' + category + '\"]').each(function() {
alert($(this).attr('Category')); //doesn't work
});
}
Run Code Online (Sandbox Code Playgroud)
查询这样的JSON对象的正确方法是什么?