2014-06-26 31 views
0

我有一個文本在我的TextBox1中= AlUsrx 287 tst001的Telnet簡約C#發送提示爲兩行,而不僅僅是一個

AlUsrx =是,我想執行一個腳本。

287 tst001 =腳本需要工作的兩個參數。

我的287textbox2 採取從textbox3

採取tst001所以我創造了我的提示字符串如下:

("AlUsrx " + textbox2.Text + textbox3.Text); 

和它不工作

當我發送字符串AlUsrx 287 tst001 ...它作爲兩行發送 不只是一條指令線

這是我的服務器會發生什麼:

:/>AlUsrx 

(輸入線,錯誤說:需要的另外兩個參數」

:/>287 tst001 

(輸入線,錯誤說:obviusly,不KSH發現「

但是當我創建在TextBox2中(287)的靜態值的字符串:

("AltaUsrx " + "287" + textbox3.Text); 

發生這種情況:

:/>AlUsrx 287 tst001 

IT WORKS!

我想問題是我以287爲變量從textbox2,它導致它打破我的字符串在2行。

+0

一本好的編程書可能是你最好的選擇。 –

+0

花點時間閱讀幫助中心的[編輯幫助](http://stackoverflow.com/editing-help)。堆棧溢出的格式與其他站點不同。您的帖子看起來越好,用戶就越容易幫助您。 – gunr2171

+0

答案屬於答案部分,不在問題中。我已經移動了你的答案。 – gunr2171

回答

0

也許試試字符串格式。

var command = string.Format("AllUsrx {0} {1}", textbox2.Text, textbox3.Text) 

然後傳入命令,然後可以在調試中檢查命令並確保其格式符合您的期望。

+0

嗨,非常感謝您的幫助。 –

+0

酷它是否適合你?如果是這樣,請將其標記爲答案,以便其他人知道。謝謝:) – Tony

+0

嗨。對不起,它不起作用。 –

0

聲明。這是從問題中提取的。

=====================更新=======已解決的問題============== =============

我解決我自己的問題:

我在文本框從一個telnet連接承載287,那麼結果在我的RichTextBox的是:

:/>tail -1 /etc/passwd|cut -d: -f3 287

所以我從287之前和之後(只得到287)切割字符:

string x = output.Substring(32, 4); 

然後我就被髮送X到我的文本框

textBox2.Text = strID2; //textBox2.Text = 287 

此時TEXBOX正給287但....我沒有看到有輸精管一個「ENTER(SPACE)」 2之前的字符。我猜想類似於alt + 0160

該字符使我的代碼將我的字符串分隔爲兩個!

所以,我做什麼刪除字符與子刪除它...

string x = output.Substring(32, 4); 

textBox2.Text = strID2; 

textBox2.Text = textBox2.Text.Substring(1); //This is what I do at least to solve it. 

通過這種方式,隱藏空間或輸入字符是刪除,現在只保留了287! :) 謝謝「TONY」無論如何爲您的幫助! 和「SoMoS」你在開玩笑嗎? 。|。 如果您不想說出智能評論,那麼您可以離開這裏。

相關問題