2009-12-11 65 views
3

我正在尋找處理具有ANSI轉義碼的傳入telnet文本。對於賞金我正在尋找一個完整的實現,我可以將文本追加到緩衝區的末尾。該控件應該是可滾動的,但仍然能夠處理附加文本,光標定位等等。當用戶滾動出視圖時。尋找支持ANSI轉義碼的UserControl

例如,

"\e[0;32mHello \e[0;37mWorld" 

將顯示一個綠色的「你好」和白色的「世界」

。這將需要處理光標定位,設置默認每行80個字符(80列)會很好,但也需要處理其他列大小。很高興能夠改變字體。

查看Wikipedia ANSI Escape Codes瞭解更多信息。

回答

2

看看Dart's Vt.NET control(假設VTxxx仿真足夠接近ansi仿真)。

+0

VTxxx,特別是VT52轉義序列是ANSI標準轉義序列中生長的,如ANSI X3.64。 飛鏢的控制值得一看。 – Slaftos 2009-12-27 15:04:48

1

假設您的意思是「ANSI轉義碼」,您可以先將字符串中的每個轉義碼轉換爲顏色(因爲它聽起來像那些是您感興趣的唯一代碼)。只需使用一個像here(頁面底部)那樣的表​​格,然後進行一些自定義字符串解析。

ANSI轉義碼很老派,所以我不希望它們有預期的效果。它們意味着控制輸出到文本終端,而不是像.NET用戶控件那樣的花哨的東西。

+0

我已經編寫了解析器,但不幸的是我確實需要處理一些其他的信息,例如光標定位,清除屏幕等。 – esac 2009-12-11 17:15:15

+0

聽起來像你堅持解析這些代碼。我沒有太多提供,因爲真正由你來解釋每個控制字符如何影響你的RichTextBox。你基本上是想寫一個功能像終端一樣的控件嗎?有一個更好的方法來做到這一點... – 2009-12-11 18:06:05

+0

一個控制功能像一個終端,是在一定程度上。我已經確定了我可以如何繪製角色來屏幕,顏色在我自己的控制中。但後來我失去了很多像richtextbox一樣的功能。我必須將其轉換爲我自己的顏色/字符結構和內存映射到屏幕上。最好我只是將ansi轉義代碼留在stirng中,並且控制會在解析和渲染時沿着它前進 – esac 2009-12-11 20:21:32

2

結帳以下鏈接: AckTerm @ sourceforge.com

我試圖轉換ANSI代碼使用終端控制的串行接口來項目從www.sourceforge.com C#編寫的 - 如果ackterm爲你谷歌終端控制項目

希望它不會是好是你在找什麼...