2014-03-25 3 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

간략한 요구 사항을 쉽게 달성 할 수 있음을 보여주기 위해이 질문에 답해 드리겠습니다.

만이 트릭해야 할 세 사이의 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-char 입력은 항상 1-2로 분할되고 4-char 입력은 항상 2-2로 분할된다는 간단한 규칙에 따라.

내 의견에 이미 언급했듯이 곧 다른 규칙에 따라 나누기위한 요구 사항에 직면하게됩니다.

관련 문제