2014-03-25 74 views
-2

我在一個環境中工作,在這個環境中我們進行了大量的遠程故障排除。我正在開發C# 控制檯 Windows應用程序可以加速登錄到不同程序的過程。文本框翻譯成地址

這是一個多選項卡式應用程序,在第一個窗口中有一個用戶輸入站點號的文本框。

我想要的幫助是我該如何編寫一個代碼來讀取3位或4位數的站點編號並將其轉換爲IP地址?

在應用程序的一部分中,我需要它將它翻譯成一個URL內的IP地址。例如,假設用戶想要連接到站點1234的服務器,他們在主頁面的文本框中輸入1234,然後單擊服務器選項卡上的連接。我需要將站點編號植入類似於//10.12.34.1:80/的URL中。

+3

你到目前爲止嘗試了什麼,遇到了什麼問題? – nvoigt

+0

我不確定從哪裏開始。我對C#還是一個新的東西,我一直在感受我的方式。即使有一種方法可以簡單地在文本框中輸入ID並使用Sendkeys將其作爲分隔號碼發送,那也是完美的。因此,如果他們輸入了3位數的網站ID(123),它會發送「1.23」,如果他們輸入了4位數的網站ID,則會將其分隔爲「12.34」。我總是可以在那裏硬編碼第一個和第四個八位字節。 – user3459000

+0

好的......那麼你有什麼問題?這不是一個「想要」某個網站。描述你的問題到達那裏,你會得到幫助。 – nvoigt

回答

0

我會回答這個問題只是爲了向您展示您的簡化要求可以輕鬆實現。

如果你只需要決定3和4之間的字符輸入值和硬編碼的目標IP地址的開始和結束這應該做的伎倆:

string userinput; // 3 or 4 char user input from TextBox 
string secondoctet = string.Empty; 
string thirdoctet = string.Empty; 

if (userinput.Length == 3) 
{ 
    secondoctet = userinput.Substring(0, 1); 
    thirdoctet = userinput.Substring(1, 2); 
} 

if (userinput.Length == 4) 
{ 
    secondoctet = userinput.Substring(0, 2); 
    thirdoctet = userinput.Substring(2, 2); 
} 

// using hardcoded IP format template inserting 2nd and 3rd octet into placeholders 
string targetip = string.Format("10.{0}.{1}.1", secondoctet, thirdoctet); 

請記住,這個解決方案被限制簡單的規則是3字符輸入將始終在1-2中分割,而4字符輸入將始終在2-2中分割。

正如我在評論中已經提到的那樣,毫無疑問,您將很快面臨根據不同規則進行拆分的要求。