我想制作一个计算器并将其添加到Windows 7开始菜单中,该菜单可以在搜索文本框中计算函数.例如,我在搜索文本框中写"2*2 =",它显示"2*2 = 4".
我不知道怎么能这样做:(
Microsoft有没有这方面的API?
我正在尝试编写一个返回两个字符串中较长字符的函数.到目前为止,这就是我所拥有的:
maxString :: String -> String -> String
maxString a b
| (length a) > (length b) = a
| otherwise = b
Run Code Online (Sandbox Code Playgroud)
这有效,但我想知道是否有更优雅的方式来写这个.注意:这两个参数不能在列表中.它们必须是单独的参数以允许currying.
思考?
我使用的代码这样做在WPF应用程序屏幕截图。简而言之:
var drawingvisual = new DrawingVisual();
using( DrawingContext context = drawingvisual.RenderOpen() )
{
context.DrawRectangle( new VisualBrush( fooElement ), null, new Rect( fooElementSize ) );
context.Close();
}
var r = new RenderTargetBitmap( ... );
r.Render( drawingvisual );
SaveBitmapToFile( r, .... );
Run Code Online (Sandbox Code Playgroud)
该原理工作得很好,例如在单击鼠标时调用时,但我在以编程方式调用它时遇到了问题。流程是:
Application.Current.Dispatcher.InvokeApplication.Current.Dispatcher.Invoke这在我的开发机器上工作正常,但在某些用户的机器上,这会导致保存的图像不包含所有更新。因此,例如,当 TextBlock 具有文本“running”并且上面的第一步将其设置为空字符串时,屏幕截图仍显示 TextBlock 的“running”。或者,如果第一步包括用一堆元素填充 Canvas,屏幕截图只是不包括它们。当要渲染的元素隐藏在其他窗口等后面时,情况也会变得更糟。
考虑到这一点,似乎关键问题是 WPF 使用单独的渲染线程,并且只有当该线程完成其工作时,UI 才会真正绘制并准备好捕获。四处搜索会产生一些点击,甚至一些“解决方案”围绕......
Application.Current.Dispatcher.BeginInvoke( DispatcherPriority.ApplicationIdle,
new Action( () => { } ) ).Wait();
Run Code Online (Sandbox Code Playgroud)
...但据我所知,这只是等到 UI 线程空闲,这并不能保证渲染线程已完成更新我想要捕获的 UI 部分?无论如何,在捕获代码之前在后台线程中插入这一行没有任何区别。有时似乎有效的方法只是将后台线程阻塞 100 …
我知道我可能会遗漏一些东西,但我无法理解.我刚刚创建了一个包含2个表单(Form1,Form2)的测试应用程序.我在OnClick事件处理程序中使用以下代码向Form1添加了一个按钮:
Application.CreateForm(TForm2,Form2);
Form2.Show;
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时,会显示第二个表单,但是如果我单击Form1,即使它将属性TopMost设置为true,也无法将它带到前面.
我错过了什么?我该如何解决?我需要显示一些必须始终位于顶部的子表单和主表单.
我试图将文本包装在固定的布局中,但当文本包含斜杠时它不起作用.
这可以修复而不从Javascript(纯CSS)插入空格?
的jsfiddle:
Not working:
<div style="display:table; width:170px; background-color:cyan;">
<div style="display:table-row">
<div style="display:table-cell;word-wrap: break-word;">abfdbfdbfdb/dfbfdbdfbfbf/bdffbdbfdfbddfbdfbdfb</div>
<div style="display:table-cell; width:34px; background-color:red;">xxxxx</div>
</div>
</div>
</br>
Working:
<div style="display:table; width:170px; background-color:cyan;">
<div style="display:table-row">
<div style="display:table-cell;word-wrap: break-word;">abfdbfdbfdb dfbfdbdfbfbf bdffbdbfdfbddfbdfbdfb</div>
<div style="display:table-cell; width:34px; background-color:red;">xxxxx</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个跨平台的应用程序(适用于Windows,Mac等)以及32位和64位计算机.我有很多XML文件需要针对他们的XSD进行验证.
在Delphi XE3中有没有办法做到这一点?
我尝试过DTD验证,但我总是遇到"DTD禁止"错误.我也尝试过很多网站上提到的解决方案来解决这个错误,但我没有成功.
提前致谢.
以下是我用过的代码......
function TForm2.ValidateXML(const xmlFile : TFileName) : boolean;
var
xmlDoc: TXMLDocument;
begin
result := false;
xmlDoc := TXMLDocument.Create(nil) ;
try
xmlDoc.ParseOptions := [poResolveExternals, poValidateOnParse];
try
xmlDoc.LoadFromFile(xmlFile) ;
xmlDoc.Active := true; //this will validate
result := true;
except
on EX : EDOMParseError do
begin
ShowMessage('Invalid XML: ' + Ex.Message) ;
end;
end;
finally
xmlDoc := nil;
end;
end;
Run Code Online (Sandbox Code Playgroud) 理论问题......
当触发下面给出的一组查询时...
Create table Temp1(C1 varchar(2))
Create table Temp2(C1 varchar(2))
insert into Temp1 Values('A'),(NULL),('B')
insert into Temp2 Values('B'),(NULL),('C'),(NULL)
select *from Temp1 A,Temp2 B
where A.C1 <> B.C1
Run Code Online (Sandbox Code Playgroud)
...给...

我A.C1 <> B.C1在Where条款中使用过.

要获得预期结果作为输出,我需要ISNULL(A.C1,'') <> ISNULL(B.C1,'')在该Where子句中使用.
我的问题是为什么我需要ISNULL每次都按预期使用输出,因为NULL它不等于任何字符串数据.
我是PHP和Laravel新手,遇到以下问题。
我知道 Laravel 提供了一个现成的登录系统,使用以下语句创建:
php artisan make:auth
Run Code Online (Sandbox Code Playgroud)
问题是这个系统直接与数据库交互。
我的情况有所不同,因为我的 Laravel 应用程序仅实现了前端。所有业务逻辑均由公开 REST Web 服务的 Java 后端应用程序处理。
基本上 Laravel 前端应用程序是这样的:
1)显示登录表单(用户名和密码)的视图。
2) 一个控制器类,其中包含一个方法,该方法接收先前表单的提交,然后调用后端应用程序的 REST Web 服务(发送一个具有包含插入的用户名和密码的授权标头的请求)。
后端应用程序将返回(到前面的 Laravel 控制器方法)一个包含用户信息作为响应的JSON对象,如下所示(如果用户被授权)...
{
"userName": "Painkiller",
"email": "painkiller@gmail.com",
"enabled": true
}
Run Code Online (Sandbox Code Playgroud)
...或者,在用户未经授权的情况下,类似这样的事情...
{
"timestamp": 1485183649134,
"status": 401,
"error": "Unauthorized",
"message": "Credenziali non valide",
"path": "/Extranet/login"
}
Run Code Online (Sandbox Code Playgroud)
我最初的想法是编写一个执行这些操作的自定义控制器:
我不太热衷于前端开发,但我认为它应该可以工作,但是......我正在远离 Laravel 架构和 Laravel 逻辑。 …
我有一张桌子叫 transactions有大约 2000 万条记录。该表每秒增长。
我计算用户当前余额:
SELECT sum(`amount`) FROM `transactions` WHERE `user_id` = 1000;
Run Code Online (Sandbox Code Playgroud)
我在我的 Web 应用程序的顶部栏中显示用户当前余额,用户可以看到他/她有多少余额!
显然,每次用户浏览我的网页应用时,都必须执行上述查询来计算当前用户余额!
我想创建一个汇总表来获取当前用户余额而不查询 transactions表上大约 2000 万条记录!
请注意,在我们的工作流程中,一个用户可能同时有多个事务(一个用户甚至可能在一秒钟内有多个事务)是如此普遍。
我认为我们在这里有两种方法:
第一种方法
创建具有一对一关系的汇总表,如下所示:
ID | user_id | current_balance
1 | 1000 | 8590
2 | 1001 | 235
3 | 1002 | 3780
... | ... | ...
Run Code Online (Sandbox Code Playgroud)
并且每次将新记录插入到transactions表中时,我们都会触发一个存储过程来更新current_balance汇总表中的用户。
我不知道这种方法是否会破坏 MySQL 的一致性!
第二种方法
创建具有一对多关系的汇总表,如下所示:
ID | user_id | amount
1 | 1000 | 8590 <--- it's the initial user balance
2 | …Run Code Online (Sandbox Code Playgroud) 将这两个SQL语句合并为一个的最佳方法是什么?我尝试使用union,但似乎无处可去.
select id as id from likes where type=1;
select sum(votes) as votes from likes where parent=id;
Run Code Online (Sandbox Code Playgroud)
这是likes表格:
id type parent country votes
1 1 0 US 0
2 2 1 US 6 // This +
19 3 1 US 3 // This
3 3 2 US 3
7 3 2 US 3
4 10 3 US 1
5 10 3 US 1
6 10 3 US 1
10 10 7 US 1
9 10 7 US 1 …Run Code Online (Sandbox Code Playgroud) sql ×3
c# ×2
delphi ×2
mysql ×2
php ×2
c++ ×1
calculator ×1
css ×1
database ×1
delphi-xe3 ×1
firemonkey ×1
haskell ×1
html ×1
isnull ×1
laravel ×1
laravel-5 ×1
null ×1
screenshot ×1
sql-server ×1
winapi ×1
windows ×1
word-wrap ×1
wpf ×1
xml ×1