PROGRAMMING97 문자열에서 확장자 없애기 - C# 배경 System.IO 로 받아서 처리하는 방법도 있겠지만, 그저 string 으로 받아온 파일과 확장자를 분리하는 것은 막상 할 때는 귀찮은 프로그래밍이기도 하다. 그래서 이참에 만들어 놓은 것, 또 써먹을 때가 있을까 싶어 남겨둔다. 소스 컨셉은 파일의 제일 마지막 .(점)을 기준으로 확.. 2012. 2. 13. 문자열이 숫자 값을 나태는지 확인 배경 특정 문자열이 숫자인지를 판단하는 것 때문에 예전에 고심한 적이 있는데, MSDN에 아주 쉬운 방법이 소개되는 것을 확인했다. http://msdn.microsoft.com/ko-kr/library/bb384043(v=vs.90).aspx 소스 원리는 아래와 같다. int i = 0; string s = "108"; bool result = int.TryParse(s, out i); //i now = 108 예전 다른 .. 2012. 2. 13. DB에서 컬럼 이름 찾기 - MS SQL 배경 어떤 데이터를 DB에서 직접 고치게 되면, 늘 걱정하는 것 중 하나가 완벽하게 모든 영향받는 테이블들까지 잘 고쳤는가 하고 스스로에게 물어보는 것일게다. 그럴 때면, 해당 컬럼 이름이 포함된 모든 테이블을 뒤지는 게 상책이다. 소스 select b.name, a.name from sys.all_columns a, sys... 2012. 2. 10. 부모 컨트롤 제어하기 C# 배경 커스텀 컨트롤에서 부모 폼의 특정 컨트롤을 제어하려고 했다. 이리저리 뒤져도 내입맛에 딱 맞는 것이 잘 찾아지지 않아, 아래처럼 내가 짜 봤다. 제어 잘 된다. ㅎㅎ 소스 Control[] grpS_ = Parent.Controls.Find("grpSecurityType", true); // 컨트롤은 배열형태로 반환 받음. GroupBox grpS = (Group.. 2012. 2. 10. System.AccessViolationException 오류 C# 으로 프로그래밍을 하다가 위와 같은 오류를 발견했다. System.AccessViolationException: 보호된 메모리를 읽거나 쓰려고 했습니다. 대부분 이러한 경우는 다른 메모리가 손상되었음을 나타냅니다. 이 오류는 ActiveX와 같은 타사 제품을 로드하려고 할 때 발생한다고 한다. 이유를 알 수 .. 2012. 2. 7. Flash 에서 Replace 처리 배경 문자열 변경이 갑자기 필요해졌다. 헉.. Flash ActionScript 2.0에 그 기능이 없을 줄이야.. 소스 간단한 함수 function replaceText( field:TextField, toSearch:String, toReplace:String) { return field.split(toSearch).join(toReplace); }; trace(replaceText(display_txt.text, "a", "b")); 잡담 실은... 태그를 변경해 주려고 했는.. 2012. 2. 3. ScrollPane 내 자원 다루기 - Flash 8 DynmicScroll_YST.zip 배경 Flash 로 만든 에디터에 Scroll을 을 붙여서 작업 공간을 넓게 쓰고자 한다는 요청을 받았다. 문제는 해당 작업공간을 ScrollPane 에 넣게 되면, 넣는 즉시 그 작업공간이 ScrollPane의 내부 인스턴스가 되는 것인데, 어떻게 컨트롤이 가능하냐는 것이다. 인터넷에 떠도.. 2012. 1. 27. ServerXMLHTTP 로 데이터 전송 배경 B2B 로 데이터 교환 시 ServerXMLHTTP는 SSL 통신으로 자주 등장한다. 즉, 상대 업체가 https:// 로 호출해 주길 원하면, ServerXMLHTTP 사용이 불가피 하다는 것이다. 몇 줄 안되는 이 핵심 코드가 인터넷에서는 많은 데, 내 소스에서는 정확히 동작하지 않아, 많은 에러를 냈다. 나 또한 XMLHTTP 방식으로는 그간 별 무리 없이 수행해 왔었지만, 최근 몇 일 동안은 이 보안통신 방법에 막혀 고심해 왔었다. 계속해서 501 Status 만 되돌려 받았으니 말이다. 문제의 해결 과정은 의외로 간단했다. StatusText 라는 메소드를 사용하여 에러의 정확한 메세지를 파악하는 것이었다. 에러 메세지는 다음과 같았다. "Method post is not defined i.. 2009. 12. 18. CalenderExtender 의 z-index 문제 배경 Fixed Header GridView를 이용하다 보면, 검색 창의 CalenderExtender의 레이어 Index가 맞지 않아 왼쪽과 같이 보이게 된다. 쉽게 생각해서 CalenderExtender와 관련된 css나 js 소스를 찾아 고쳐보려고 하지만, 파일을 찾기도 쉽지 않다. 이럴 때엔 자신의 CSS 화일에 다음의 한 줄 코드를 넣는 것만으로 문제는 어렵지 않게 해결된다. 이제 오른쪽과 같이 보이는 것을 확인 할 수 있을 것이다. 참조 : http://www.codeplex.com/AjaxControlToolkit/WorkItem/View.aspx?WorkItemId=7559 소스 .ajax__calendar_container { z-index : 1000 ; } 잡담 산너머 산이라는 말을 .. 2009. 8. 18. 스크롤 초기화 막기 배경 아래의 그림은 iframe을 사용한 것이 아닌, Fixed Header Gridview 기술을 적용한 모습이다. 좌측 리스트 중 하나의 행을 클릭 시, 오른 쪽에 데이터가 변하도록 하는 것이다. 위의 화면을 만들기 위해서는 보통 몇 가지 기술을 함께 써야하는데, 다음과 같다. ① GridView의 행을 클릭했을 때 PostBack을 보내줄 수 있는 Select 이벤트를 Row에 들어갈 수 있도록 RowDataBound 이벤트와 SelectedIndexChanged이벤트를 추가하는 것 ② PostBack 으로 넘길 때, 에러나지 않도록 페이지의 EnableEventValidation를 "false"로 지정하는 것 ③ Fixed Header GridView 스크립트를 넣어주는 것 (CSS, SKin쪽 .. 2009. 8. 18. Javascript로 이벤트 호출하기 배경 ASP.net 에서는 Master라는 파일을 통해 반복되는 페이지의 레이아웃을 미리 지정할 수 있다. Master 페이지에 종속되는 페이지들은 태그가 이미 부모 페이지에서 정의 되었기 때문에 onload나 onresize같은 이벤트들을 넣을 수가 없다. 예전에 이것 때문에 Master 페이지를 갈랐던 기억을 하면, 살짝 부끄러워진다. 소스살펴보기 아래와 같이 자바스크립트에 액션을 넣어주면, 끝이다. BODY가 받을 수 있는 모드 이벤트가 적용 가능하니, 한결 가볍게 코딩할 수 있을 것이다. window.onresize = function mfnAction() { window.location.reload() } 잡담 이런식의 Function 정의는 일찌기 봤었지만, 꼭 써먹으려 할 때 마다 기억이 안.. 2009. 8. 17. DataTable 데이터 누적 시키기 배경 DB Transaction을 CS 페이지에 걸고, 결과값을 세 번 받아 온다고 가정하자. DataSet으로 받은 결과값은 늘 최신으로만 유지 되기 때문에, 사용자에게 결과값을 보여줄 때, 마지막 결과만 보여주게 된다. 세번의 결과 값을 누적으로 보여주는 방법은 없는 것일까? 이는 DataTable.Merge() 메쏘드를 사용하여 해결할 수 있다. 다음 페이지는 이부분에 대한 응용 및 적용에 도움이 될 것이다. http://msdn2.microsoft.com/en-us/library/fk68ew7b.aspx 소스 살펴보기 DataTable dt = null; '+++ 반복 구간 +++ '// 쿼리 결과를 DataSet에 담기 objDS = mDBConn.TRQuery(strQuery); if (dt .. 2009. 7. 31. 이전 1 ··· 5 6 7 8 9 다음 반응형