我正在考虑创建一个像终端窗口一样的WPF或Silverlight应用程序.除了,因为它在WPF/Silverlight中,它将能够通过效果,图像等"增强"终端体验.
我正试图找出模拟终端的最佳方法.我知道如何处理VT100仿真,就解析等而言.但是如何显示呢?我考虑过使用RichTextBox并将VT100转义代码转换为RTF.
我看到的问题是性能.终端可能一次只能获得几个字符,并且为了能够将它们加载到文本框中,我将不断创建TextRanges并使用Load()来加载RTF.此外,为了完成每个加载"会话",它必须完全描述RTF.例如,如果当前颜色为红色,则每个加载到TextBox中都需要RTF代码才能使文本变为红色,或者我认为RTB不会将其加载为红色.
这似乎非常多余 - 由仿真构建的RTF文档将非常混乱.此外,插入符号的移动似乎不是理想情况下RTB处理的.我需要一些自定义的东西,但是这让我很害怕!
希望听到明亮的想法或指向现有解决方案.也许有一种方法可以在其上嵌入一个实际的终端和覆盖物.我发现的唯一的东西是旧的WinForms控件.
更新:在下面的答案中查看由于perf的建议解决方案是如何失败的.:(
Windows WPF或Silverlight中的VT100终端仿真
我的应用程序中有一个Picture模型,它使用Paperclip将图像附加到它上面.
该模型:
class Picture < ActiveRecord::Base
has_attached_file :image, :default_url => "/system/:attachment/missing.png", :styles => { :small => "100x100#", :medium => "460x460>", :large => "1024x1024>" }
validates_attachment_presence :image
validates_attachment_content_type :image, :content_type => [/image\/(x-)?png/i, /image\/(p)?jpeg/i]
validates_attachment_size :image, :less_than => 5.megabytes
validates_presence_of :name
validates_format_of :name, :with => /^[a-z0-9_\-!@#%&()' ]+$/i
end
Run Code Online (Sandbox Code Playgroud)
当我运行我的测试时,他们会挂在测试的这部分日志中:
Processing PagesController#index (for 0.0.0.0 at 2010-07-10 11:29:54) [GET]
Parameters: {"action"=>"index", "controller"=>"pages"}
Picture Load (0.2ms) SELECT * FROM "pictures" LIMIT 1
Rendering template within layouts/application
Rendering pages/index
Completed in 2ms (View: 0, DB: 0) …Run Code Online (Sandbox Code Playgroud) 我知道这已被多次询问,我已经尝试了所有的建议,并阅读了所有关于不同的选择器,等等,但没有什么对我有用
给出以下HTML:
<div class="class1">
<p>
<a>link</a>
</p>
<div class="class2 class3">
<p>
<font>
<a>link2</a>
</font>
</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想选择第一个div的<a>标签,但是没有第二个div
我试过了:
$('.class1').not('.class2, .class3')
$('.class1').not('.class2')
$('.class1').not('.class3')
$(".class1:not(.class2)")
$(".class1:not(.class3)")
$(".class1:not(.class2, .class3)")
$("div.class1:not(.class2)")
$("div.class1:not(div.class2)")
$("div.class1:not(div.*)")
Run Code Online (Sandbox Code Playgroud)
等等
我不知道是不是因为第二个div有两个类名,或者因为第二个div的<a>标签不是第二个div的直接子节点(例如有字体标签等等)但我无法排除第二个div.
我在我的ubuntu框中为RTSP流视频文件设置了wowza流服务器.当我在客户端使用Totem视频播放器时,视频会完美呈现.相同的网址或视频无法在Android设备上运行,并且尝试访问该rtsp网址的应用程序因Mediaplayer错误(1,-1)而中断.
我有一个关于iPhone的非常不寻常的闹钟的想法.但截至目前,我对如何实现这一点有一些想法.首先:暂时忘记后台服务,如何实现触发警报的实际计时器等?一个单独的线程?或者SDK是否包含我错过的任何好的警报功能?因为我需要尽可能节省电池电量.但是现在我没有后台程序.
请告诉我这个,因为它是这个应用程序的一个关键概念,如果它的工作与否.
回顾过去几周的工作(与许多其他工作相同),我发现自己花费了大部分时间将各种形式的POST数据用于通过我的MVC模型执行数据库CRUD操作.
当反思这一点时,它会变得有点担心.花在我花在应用程序设计中最基本部分上的时间并不合适.
什么是减少这种时间并有效地创建和处理表格的适当方法?
谢谢
分配值而不使用通常的表示法,例如"this.<Double> getAnything(int flag)"
private <T> T getAnything(int flag) {
Object o = null;
if (flag==0)
o=new String("NewString");
else if (flag==1)
o=new Double(0D);
return (T)o;
}
private void someMethod() {
String s = getAnything(0);
Double d = getAnything(1);
}
Run Code Online (Sandbox Code Playgroud)
在过去,只有方法上的返回对象和接收类型上的简单强制转换就足够了,因此在接收器对象上缺少通用符号,它更加相似和快速写入,还有其他任何提示吗?
我在Windows 7上使用msysgit,但它似乎没有make.有没有一种简单的方法让make在msysgit上运行?
php ×3
.net ×1
alarm ×1
android ×1
autoboxing ×1
background ×1
cakephp ×1
coding-style ×1
crud ×1
ftp ×1
ftp-server ×1
generics ×1
ios4 ×1
iphone ×1
java ×1
jquery ×1
makefile ×1
msysgit ×1
mysql ×1
paperclip ×1
rspec ×1
rtsp ×1
silverlight ×1
terminal ×1
unit-testing ×1
vt100 ×1
wowza ×1
wpf ×1
yii ×1