2014-03-25 46 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中分割。

正如我在评论中已经提到的那样,毫无疑问,您将很快面临根据不同规则进行拆分的要求。