我已经开始研究Angular2并且有一个基本的3个嵌套组件工作.但是我无法弄清楚如何将keypress处理程序添加到文档中.
如果没有,我将如何监听文件上的按键并对其作出反应?为了清楚起见,我需要回复文档本身的问题,而不是输入.
在Angular 1中,我将创建一个指令并使用$ document; 这样的事情:
$document.on("keydown", function(event) {
// if keycode...
event.stopPropagation();
event.preventDefault();
scope.$apply(function() {
// update scope...
});
Run Code Online (Sandbox Code Playgroud)
但我还没有找到一个Angular2解决方案.
我有一个本地化的应用程序,可以在整个欧洲使用.
我有一个菜单选项从磁盘加载文件.
此操作在我的开发机器上运行正常但在我用于测试其他操作系统的虚拟机上不起作用_例如法语,西班牙语等.
StreamReader尝试打开文件时生成FileNotFoundException.
它说"'找不到文件C:\ Program Files\MyCompany\MyTool\bin\Files\debug.txt'"
事实是,文件确实存在,位于正确的位置并且文件名正确.
目标(法语)操作系统上的目录名称与开发机器相同.
有任何想法吗?
string ourPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
try
{
System.IO.StreamReader sr = System.IO.File.OpenText(ourPath + @"\bin\Files\debug.txt");
string input = null;
while ((input = sr.ReadLine()) != null)
{
m_text.Append(input);
}
sr.Close();
}
catch (System.IO.FileNotFoundException)
{
MessageBox.Show("LoadDebugOptions: File Not Found: " + ex.Message);
}
Run Code Online (Sandbox Code Playgroud) 我有一个Windows应用程序,它使用一个程序集,在默认的应用程序设置中存储一些配置设置.
设置可以在运行时更改并保持不变:
Properties.Settings.Default.SelectedCOMPort = options.SelectedCOMPort;
Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)
设置已正确保存,我通过查看保存在用户应用程序目录中的user.config文件来确认
C:\Documents and Settings\e399536\Local Settings\Application Data\MyCompany\MyTool
Run Code Online (Sandbox Code Playgroud)
但是,当工具关闭然后再次启动时,所有设置都会加载其默认值.
应用程序运行后检查user.config文件确认设置仍然保存.
因此加载设置:
options.SelectedCOMPort = Properties.Settings.Default.SelectedCOMPort;
Run Code Online (Sandbox Code Playgroud)
为什么使用默认设置而不是保存设置?
我错过了什么吗?
@ Tenaciouslmpy在程序集的构造函数期间加载设置,该构造函数本身在主程序集的表单load事件中加载.
@ Austin这是我在Visual Studio中调试的独立应用程序.
我有一个运行n Azure的站点,它使用EF Database First模型.
如果我在web.config中嵌入连接字符串并且部署all是美好的.
<add name="MyEntities" connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string='Data Source=my.database.windows.net;Initial Catalog=myTest_DB;User ID=***;Password=***; MultipleActiveResultSets=False'" providerName="System.Data.EntityClient"/>
Run Code Online (Sandbox Code Playgroud)
但是,我不希望web.config中的连接字符串,因为它包含凭据.
所以我将它移动到Azure Properties中的连接字符串区域.
我遇到的第一个问题是获取元数据无效关键字错误
我通过将类型从SQL数据库更改为自定义来解决这个问题.
但是,我现在收到此错误:
应用程序配置文件中的连接字符串"MyEntities"不包含必需的providerName属性."
我已经在网上搜索并尝试了很多连接字符串,但还没找到正确的连接字符串.
注意:我想我可以将它设置为应用程序设置并将字符串的初始化移动到代码,但即使只是为了好奇,我想知道如何通过门户网站进行操作.
entity-framework connection-string azure azure-management azure-sql-database
我有一个winform工具,使用串行端口与硬件连接.
串行端口用于向硬件发送命令,该命令将确认命令并有时返回数据.
要完成任务,需要以定义的顺序将多个命令发送到硬件.
我已使用switch语句成功实现了该工具来控制命令的发送.然而,虽然这有效,但我不禁想到有更好的,更多的OO方式这样做 - 是吗?
目前的实施如下:
每种情况都是需要发送到硬件的命令.Send方法传递一个调用方法和下一步的ID - 如果命令发送成功,将返回该ID.
等等
MessageID nextStep = MessageID.IMS;
while (nextStep != MessageID.Stop)
{
switch (nextStep)
{
case MessageID.ISS:
nextStep = Send( new ISS_StartSession(), MessageID.IE386);
RaiseProgressEvent(10); //percentage complete
break;
case MessageID.IE386:
nextStep = Send( new IE386_SetDirection(Direction.BOTH), MessageID.IE378);
RaiseProgressEvent(20);
break;
//etc
case MessageID.Error:
HandleError(); //abort task if necessary
break;
}
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗..?
我应该看一下众所周知的设计模式吗?
是否可以选择DISTINCT ON一些单独的、独立的列集的行?
假设我想要所有符合以下条件的行:
(name, birth)(name, height)因此,在下表中,标有红色叉号的行不会是不同的(带有失败子句的指示):
name birth height
--------------------------
William 1976 1.82
James 1981 1.68
Mike 1976 1.68
Tom 1967 1.79
William 1976 1.74 ? (name, birth)
William 1981 1.82 ? (name, height)
Tom 1978 1.92
Mike 1963 1.68 ? (name, height)
Tom 1971 1.86
James 1981 1.77 ? (name, birth)
Tom 1971 1.89 ? (name, birth)
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,如果DISTINCT ON子句刚刚为DISTINCT ON (name, birth, height),则所有行都将被视为不同的。
试过了,没有用:
SELECT DISTINCT ON (name, birth) …我的datagridview有一个复选框列,该列仅对其显示的数据中的某些记录有效.对于复选框无效的记录,我希望不显示任何内容 - 例如空白文本框.
因此,我需要在运行时动态地将单元格类型从复选框单元格更改为文本框单元格.我不能简单地更改列数据类型,因为列需要混合使用textbox和checkbox单元格类型.
到目前为止,我有以下代码.
this.deviceList1.DeviceGrid[colIndex, rowIndex] = new KryptonDataGridViewTextBoxCell()
this.deviceList1.DeviceGrid[colIndex, rowIndex].ReadOnly = true;
Run Code Online (Sandbox Code Playgroud)
如果这会生成DataGridView数据错误:
System.FormatException:单元格的格式化值类型错误.
我使用 Unity 进行依赖项注入,并拥有一个 Config 类的实例,该类 Config 实现了在 Unity 容器中注册的 IConfig。
IConfiguration config = new Configuration();
unityContainer.RegisterInstance<IConfiguration>(config);
Run Code Online (Sandbox Code Playgroud)
当应用程序运行并且用户加载保存的配置时,我想使用加载的配置对象更新存储在 Unity 中的实例。例如下面的伪代码
IConfiguration loadedConfig = FileLoadService.Load(filepath);
unityContainer.Instance = loadedConfig;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我已经开始使用Chrome的时间轴工具调查应用程序的客户端性能。但是,尽管我找到了许多有关如何使用它们的文章,但有关如何解释结果的信息却很少,而且常常很模糊。
目前,我正在研究滚动性能并尝试达到60FPS。
此屏幕快照显示了我最近的时间轴记录的结果。可以看出,大多数帧超过60 FPS,有些超过30 FPS。
如果我放大一个特定的帧-持续时间为67.076ms的一帧,我会看到一些东西:
我对此有一些疑问:
目标:将文件上传到 Firebase 存储中的文件夹
例如
default_bucket/folder1/file1
default_bucket/folder1/file2
default_bucket/folder2/file3
Run Code Online (Sandbox Code Playgroud)
使用 Firebase客户端,我可以像这样将文件上传到 Firebase 存储中的文件夹:
const storageRef = firebase.storage().ref();
const fileRef = storageRef.child(`${folder}/${filename}`);
const metadata = {
contentType: file.type,
customMetadata: { }
};
return fileRef.put(file, metadata);
Run Code Online (Sandbox Code Playgroud)
如果该文件夹不存在,则会创建它。
但是,我还没有设法使用 Admin SDK 在服务器端做同样的事情。
下面的代码将文件上传到默认存储桶中。
但是,我想将文件上传到默认存储桶中的命名文件夹中。
客户端向 GCF 发出 POST 请求,发送文件和文件夹名称。
Busboy 用于额外的文件夹名称和文件,并将它们传递给上传功能;它上传文件,然后为其返回一个下载链接。
索引.js
const task = require('./tasks/upload-file-to-storage');
app.post('/upload', (req, res, next) => {
try {
let uploadedFilename;
let folder;
if (req.method === 'OPTIONS') {
optionsHelper.doOptions(res);
} else if (req.method === 'POST') {
res.set('Access-Control-Allow-Origin', '*'); …Run Code Online (Sandbox Code Playgroud) c# ×4
winforms ×2
angular ×1
azure ×1
datagridview ×1
distinct-on ×1
duplicates ×1
firebase ×1
localization ×1
oop ×1
paint ×1
performance ×1
persistence ×1
postgresql ×1
profiling ×1
serial-port ×1
settings ×1
sql ×1
streamreader ×1
windows ×1