小编Bra*_*rad的帖子

在我的.NET Windows窗体上实现Chrome的拖放操作

谷歌浏览器有一个方便的功能,我可以点击下载链接并将其拖到Windows资源管理器窗口,然后删除.删除后,Chrome会下载该文件,然后它会显示在我删除的位置.

我希望能够从谷歌浏览器中删除我的应用程序,但似乎并非如此简单.我有一个名为gridFiles的DataGridView,以及以下代码:

Private Sub gridFiles_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles gridFiles.DragDrop
    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
        Dim DroppedFiles() As String = e.Data.GetData(DataFormats.FileDrop)
        If Not DroppedFiles Is Nothing Then
            For Each file As String In DroppedFiles
                MsgBox(file)
            Next
        End If
    End If
End Sub

Private Sub gridFiles_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles gridFiles.DragEnter
    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
        e.Effect = DragDropEffects.All
    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

当我从Windows资源管理器中将文件拖放到它上面时,一切正常,我为每个被删除的文件都有一个消息框.但是,当我从Chrome中删除时,没有任何反应.原因是它DroppedFiles等于Nothing.似乎e.Data.GetData没有返回任何东西.我已经检查与格式e.Data.GetFormats()并将其返回FileDrop,FileName,FileNameW …

.net vb.net drag-and-drop ole google-chrome

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

Node.js ReadLine没有等待套接字连接的完整一行?

我试图使用Node.js的ReadLine套接字,如下所示:

var net = require('net');
var rl = require('readline');

this.streamServer = net.createServer(function (socket) {
    var i = rl.createInterface(socket, socket);
    i.on('line', function (line) {
        socket.write(line);
    });
});
this.streamServer.maxConnections = 1;
this.streamServer.listen(7001);
Run Code Online (Sandbox Code Playgroud)

当我远程登录到端口7001并开始输入文本时,它会在我按下回车之前立即回复给我.

为什么ReadLine不等待全线?

我也尝试了.question(),我得到了相同的结果......在收到任何数据时触发回调,而不等待行尾字符.


编辑:这甚至更奇怪.当我使用Windows telnet客户端进行测试时,我得到了上面提到的行为.但是,如果我使用PuTTY作为客户端进行测试,ReadLine即使在Windows上也能正常工作.我做了一些数据包捕获.也许有人可以对此有所了解?未缩进的行是来自客户端的数据.缩进行是服务器回复.

使用Windows Telnet

00000000  61                                               a
    00000000  61                                               a
00000001  62                                               b
    00000001  62                                               b
00000002  63                                               c
    00000002  63                                               c
00000003  64                                               d
    00000003  64                                               d
00000004  65                                               e
    00000004  65                                               e
00000005  66                                               f
    00000005  66                                               f …
Run Code Online (Sandbox Code Playgroud)

javascript newline node.js

17
推荐指数
2
解决办法
7394
查看次数

检测视频分辨率的变化

使用一些编解码器和容器,视频可以在流中改变分辨率.这在RTC风格的视频流中尤其常见,其中分辨率可以根据可用带宽进行放大/缩小.在其他情况下,可以旋转记录设备并且视频可以从纵向翻转到横向,反之亦然.

在网页上播放这些视频(简单<video>标记)时,如何通过JavaScript检测此更改的大小?

我能想到的最好的是每帧验证视频的大小,但这种方法有相当多的开销.如果有一种方法可以在视频更改大小或触发事件时触发回调,那就最好了.

严重调整大小的示例视频:https://bugzilla.mozilla.org/attachment.cgi? id = 8722238

javascript video html5 html5-video

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

以编程方式生成/激活的文件输入并不总是触发`input`事件

我的Web应用程序上有一个按钮,它在click事件处理程序中包含以下代码:

const fileInputEl = document.createElement('input');
fileInputEl.type = 'file';
fileInputEl.accept = 'image/*';

fileInputEl.addEventListener('input', (e) => {
  if (!e.target.files.length) {
    return;
  }

  // Handle files here...
});  

fileInputEl.dispatchEvent(new MouseEvent('click'));
Run Code Online (Sandbox Code Playgroud)

有时(大约8分之一),在选择文件后,选择文件后input事件不会触发.我猜这是围绕元素生命周期的浏览器错误.

有什么方法可以将元素附加到页面并稍后删除它?现在在现代浏览器中处理这个问题的正确方法是什么?

我在Windows上使用Google Chrome进行测试.

JSFiddle:http: //jsfiddle.net/pja1d5om/2/

html javascript browser google-chrome blink

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

MySQL GROUP BY DateTime +/- 3秒

假设我有一个包含3列的表:

  • id(PK,int)
  • 时间戳(日期时间)
  • 标题(文字)

我有以下记录:

1, 2010-01-01 15:00:00, Some Title
2, 2010-01-01 15:00:02, Some Title
3, 2010-01-02 15:00:00, Some Title
Run Code Online (Sandbox Code Playgroud)

我需要做一个彼此在3秒内的GROUP BY记录.对于此表,第1行和第2行将组合在一起.

这里有一个类似的问题: Mysql DateTime组15分钟

我也发现了这个:http: //www.artfulsoftware.com/infotree/queries.php#106

我不知道如何将这些方法转换为可以工作几秒钟的方法.在SO问题上方法的问题在于,在我看来它只适用于落在从已知点开始的时间仓内的记录.例如,如果我FLOOR()以秒为单位工作,间隔为5秒,则15:00:04的时间将与15:00:01分组,但不会与15:00:06分组.

这有意义吗?如果需要进一步说明,请与我们联系.

编辑:对于一组数字,{1,2,3,4,5,6,7,50,51,60},似乎最好将它们分组{1,2,3,4,5, 6,7},{50,51},{60},以便每个分组行取决于行是否在前一个3秒内.我知道这会改变一些事情,对不起,我很抱歉.

我试图模糊匹配来自不同服务器的日志.服务器#1可以记录项目"项目#1",服务器#2将在服务器#1的几秒内记录相同的项目"项目#1".我需要在两个日志行上做一些聚合函数.不幸的是,由于服务器软件的性质,我只有标题可以继续.

mysql sql group-by datetime-generation

15
推荐指数
2
解决办法
8310
查看次数

使用Browserify编译动态所需的模块

我使用Browserify将大型Node.js应用程序编译成单个文件(使用选项--bare--ignore-missing[以避免lib-cov在Express中出现问题]).我有一些代码可以根据目录中的可用内容动态加载模块:

var fs = require('fs'),
    path = require('path');

fs.readdirSync(__dirname).forEach(function (file) {
    if (file !== 'index.js' && fs.statSync(path.join(__dirname, file)).isFile()) {
        module.exports[file.substring(0, file.length-3)] = require(path.join(__dirname, file));
    }
});
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中遇到奇怪的错误,其中从我编译的文件加载的目录中加载了aribtrary文本文件.我认为这是因为路径不再正确设置,并且因为Browserify将无法使用require()正确的文件像这样动态加载.

如果没有制作静态index.js文件,是否有一种首选方法可以动态地要求与Browserify开箱即用兼容的模块目录?

javascript node.js browserify

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

使用ReadableStream作为请求主体获取

我试图用一个ReadableStream.在这个例子中,ReadableStream应该无限期地重复"Some data ...".

fetch('/', {
  method: 'POST', 
  body: new ReadableStream({
    pull: function(controller) {
      console.log('pull called!');
      controller.enqueue('Some data...');
    }
  })
});
Run Code Online (Sandbox Code Playgroud)

这不起作用.而pull被执行一次,没有数据被请求体中的发送.

POST / HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: 0
Origin: https://example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
Accept: */*
Referer: https://example.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)

如何使用fetch可用的ReadableStream(或任何我可以编写动态数据的流)?

或者,如果这还不可能,请您说明一下吗?谢谢.

注意:这是一个更具体的衍生问题: 通过HTTP将数据从浏览器传输到服务器的方法

stream fetch fetch-api whatwg-streams-api

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

在Ableton Live中调试Python

如何在Ableton Live中查看我的python MIDI Remote Scripts的脚本错误?我已经在网上看到了一个隐藏的Python控制台,但没有关于如何打开它的文档,如果它甚至可以帮助我!

目前我输入代码,重新加载脚本,看看会发生什么.如果没有任何反应,那就是错误的.很乏味......

编辑:我还应该指出的是,有没有在任何有用的Log.txt文件要么,但该文件正在被更新.

python debugging script-debugging ableton-live

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

FFmpeg帧之间的淡入淡出效果

我想创建我的图像幻灯片,淡入和淡出它们之间的过渡,我正在使用FFmpeg淡入淡出过滤器.

如果我使用命令:

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4
Run Code Online (Sandbox Code Playgroud)

要创建具有淡入淡出效果的输出视频,然后它将输出视频的前5帧设置为黑色,而图像显示为淡入淡出效果,但我希望淡入淡出:输入:帧间更改之间的效果.

我怎样才能做到这一点?

请告诉Centos服务器的解决方案,因为我只在此服务器上使用FFmpeg

ffmpeg

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

PHP继承,父函数使用子变量

在查看一些PHP代码时,我发现了一件奇怪的事情.以下是它的简单示例说明:

文件A.php:

<?php
class A{
    public function methodA(){
        echo $this->B;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

文件B.php:

<?php
    class B extends A{
        public $B = "It's working!";
    }
?>
Run Code Online (Sandbox Code Playgroud)

文件test.php:

<?php
    require_once("A.php");
    require_once("B.php");
    $b = new B();
    $b->methodA();
?>
Run Code Online (Sandbox Code Playgroud)

运行test.php打印出"它正在工作!",但问题是它为什么有效?:)这是一个功能还是一个bug?类A中的方法方法A也可以调用B类中不应该在OOP中工作的方法.

php oop inheritance

14
推荐指数
2
解决办法
2883
查看次数