검색결과 리스트
전체에 해당되는 글 1012건
- 2011.03.20 [MFC] CListCtrl 현재 행 선택하기
- 2011.03.17 [JSP] Procedure Call
- 2011.03.03 COM Automation 에서 옵션인자 설정 방법
- 2011.03.01 CreateDirectory 와 SHCreateDirectory 다른점
- 2011.03.01 [Visual Studio 2008] Unicode 기반 프로그램에서 한글이 깨지는 현상
- 2011.02.25 #pragma message
- 2011.02.24 [Eclipse] Encoding 설정하기
- 2011.02.23 도와주세요! 팀장이 됐어요
- 2011.02.18 Head First Object-Oriented Analysis & Design
- 2011.02.18 [Toad] Toad 테이블, 패키지 정의로 이동하는 단축키 F4
- 2011.02.18 객체지향 원리
- 2011.02.16 Predefines Macros
- 2011.02.15 [링크] 일정 시간이 흐른후 메세지 박스 종료하기
- 2011.02.15 [링크] 매크로를 이용한 Visual Studio .h .cpp 전환
- 2011.02.15 [Oracle] Oracle typeof ??
- 2011.02.15 SQLite Expert
- 2011.02.13 Dina 코딩용 글꼴
- 2011.02.12 [Eclipse] 클래스 자동 임포트 단축키
- 2011.02.10 [Eclipse] 단축키 수정하기
- 2011.02.08 HMODULE과 HINSTANCE의 차이점
- 2011.02.08 [MFC] Ansi -> Unicode 형변환
- 2011.01.31 [Oracle] Windows 7 Oracle 10g Install
- 2011.01.30 ActiveX 없는 인터넷 속도 측정 사이트
- 2011.01.26 [Mac] 화면 캡쳐 하기
- 2011.01.24 PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API
- 2011.01.24 [MFC] 현재 프로그램의 Instance Handle을 구하는 API
- 2011.01.23 [Mac] Shift + Space 한영전환
- 2011.01.22 KBS FM Streaming
- 2011.01.21 WINDOWS API 폴더 선택
- 2011.01.20 VC++에서 ADO를 사용하는 방법
글
프로그램 업데이트 목록을 만들다 보면은 ListCtrl에 업데이트 목록을 넣어두고
업데이트를 할때마다 리스트 현재 행을 변경시킬때가 있다 그럴때 유용하다.
// 먼저 현재 선택상태를 해제합니다 m_listResult.SetItemState( -1, 0, LVIS_SELECTED|LVIS_FOCUSED ); // 원하는 아이템을 선택합니다 m_listResult.SetItemState(m_nCurrentItem, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED); // 선택된 아이템을 표시합니다 m_listResult.EnsureVisible(m_nCurrentItem, false); // 리스트 컨트롤에 포커스를 맞춥니다 m_listResult.SetFocus();
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[VC++] visual studio 2008 Excel Automation "\excel.tlh(1219) : error C2371: 'FontPtr' : redefinition; different basic types" (0) | 2011.08.05 |
---|---|
[MFC] MFC에서 Token 분리 (0) | 2011.07.21 |
COM Automation 에서 옵션인자 설정 방법 (0) | 2011.03.03 |
#pragma message (0) | 2011.02.25 |
Predefines Macros (0) | 2011.02.16 |
트랙백
댓글
글
저희쪽 환경은 Jsp + Tomcat + Oracle 입니다.
// 드라이버 로드 try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e1) { e1.printStackTrace(pw); } // 연결 클래스 변수 선언 Connection conn = null; CallableStatement cstat = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:oracle:thin:@아이피:포트:Tnsname", "아이디", "비밀번호"); // 프로시져 콜 CallableStatement cstat = conn.prepareCall("{CALL 패키지명.프로시져명(?)}"); // output cursor로 데이터를 받아온다. cstat.registerOutParameter(1, OracleTypes.CURSOR); cstat.execute(); rs = (ResultSet)cstat.getObject(1); if ( rs != null ) { ResultSetMetaData rsmeta = rs.getMetaData(); int nColumn = rsmeta.getColumnCount(); out.println(""); out.println(""); for (int i = 0; i <= nColumn; i++) { if ( i == 0 ) out.println(" 번호 "); else { String strColumnName = rsmeta.getColumnName(i); out.println(strColumnName); } }//for (int i = 0; i <= nColumn; i++) out.println(""); int nRow = 1; while (rs.next()) { out.println(""); StringBuffer sb = new StringBuffer(); for (int i = 0; i <= nColumn; i++) { if ( i == 0 ) sb.append( Integer.toString(nRow) ); else sb.append( rs.getString(i) ); } out.println(sb.toString()); out.println(""); nRow++; }//while (rs.next()) out.println(""); }//if ( rs != null ) } catch (SQLException e) { e.printStackTrace(pw); } finally { try {rs.close(); } catch (SQLException e) {} try {cstat.close();} catch (SQLException e) {} try {conn.close(); } catch (SQLException e) {} }
'Java > Jsp' 카테고리의 다른 글
[Jsp] Java Custom Tag (0) | 2012.02.09 |
---|---|
[Jsp] JSTL <c:forEach></c:forEach> 반복처리 (0) | 2011.11.07 |
[JSP] 물리적 경로를 웹상의 상대 경로로 변환 (0) | 2011.08.23 |
[JSP] <jsp:include>와 <%@ page include %>의 차이 (0) | 2011.04.25 |
[JSP] UrlEncoding 하기 (0) | 2011.04.25 |
트랙백
댓글
글
ADO를 이용해서 Recordset 개체를
Open하는데 두번째 인자(ActiveConnection)는 옵션인자입니다.
'Visual Basic recordset.Open Source, ActiveConnection, CursorType, LockType, Options
이걸 그냥 NULL 이렇게 주면은 실행시 예외를 떨굽니다.
이럴떼 NULL 대신
// Visual C++ _variant_t vOPTION; vOPTION.vt = VT_ERROR; vOPTION.scode = DISP_E_PARAMNOTFOUND;
해주시면 됩니다.
p.s. 2011-08-06 추가
MFC에서 컴관련 클래스로 COleVariant가 있습니다.
COleVariant vOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[MFC] MFC에서 Token 분리 (0) | 2011.07.21 |
---|---|
[MFC] CListCtrl 현재 행 선택하기 (0) | 2011.03.20 |
#pragma message (0) | 2011.02.25 |
Predefines Macros (0) | 2011.02.16 |
[링크] 일정 시간이 흐른후 메세지 박스 종료하기 (0) | 2011.02.15 |
트랙백
댓글
글
CreateDirectory는 API 입니다. 만약 만들려는 폴더의 상위 폴더가 존재하지 않는다면
폴더가 생성되지 않습니다.
SHCreateDirectory는 쉘 함수로써 상위 폴더가 존재하지 않더라도 만들어줍니다. 더 편해요 ^^
다면 Microsoft Windows XP Service Pack 2 (SP2) and Windows Server 2003. 이상에서 사용할수 있습니다.
그리고 SHCreateDirectory 함수는 Unicode 함수입니다. 다라서 MultiByte에서 사용하실려면
문자열을 변환해주셔야 합니다.
'OS > Windows' 카테고리의 다른 글
[Windows] 프로그램 글자가 깨질때 (0) | 2012.10.17 |
---|---|
[Windows] Message (0) | 2012.07.30 |
HMODULE과 HINSTANCE의 차이점 (0) | 2011.02.08 |
Windows API만 사용해서 BN_CLICKED 메세지 발생시키기 (0) | 2009.08.12 |
CoInitialize(), CoUninitialize() 호출시 주의사항 (0) | 2009.02.03 |
트랙백
댓글
글
Visual Studio 2008에서 데이터베이스에 Input, Output 하는 프로그램을 만들었습니다.
프로그램에서 Oracle에 Insert하면은 정상적으로 한글이 보이는데
파일을 읽어서 Oracle에 Insert하면은 깨지는 현상이 나타났습니다.
결국 해결은
Visual Studio 2008의 로케일을 변경해서 해결했습니다.
// 로케일을 설정 _tsetlocale(LC_ALL, _T("korean")); // 또는 #pragma로도 가능하다. #pragma setlocale("korean")
또한 #pragma
'IDE/Tool > Visual Studio' 카테고리의 다른 글
[Visual Studio 2005] Visual Studio 2005 에서 ildasm.exe 위치 (0) | 2012.03.10 |
---|---|
[Visual Studio] 마법사 만들기 (0) | 2012.03.08 |
[링크] 매크로를 이용한 Visual Studio .h .cpp 전환 (0) | 2011.02.15 |
FAT32, NTFS 포맷 방식이 컴파일에 영향을 준다. (1) | 2008.10.12 |
Platform SDK 설치 (1) | 2008.09.18 |
트랙백
댓글
글
이걸로 TODO를 만들면 VC++에서 점프가 가능합니다.
위와 같이 Output 창에서 해당 라인을 더블클릭하면 실제 소스로 이동합니다.
// with line number #define STRING2(x) #x #define STRING(x) STRING2(x) #define TODO(x) message(__FILE__"("STRING(__LINE__)") : ▶"x"◀")
사용할때는
// Used #pragma TODO("테스트")
이렇게 사용하시면 됩니다.
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[MFC] CListCtrl 현재 행 선택하기 (0) | 2011.03.20 |
---|---|
COM Automation 에서 옵션인자 설정 방법 (0) | 2011.03.03 |
Predefines Macros (0) | 2011.02.16 |
[링크] 일정 시간이 흐른후 메세지 박스 종료하기 (0) | 2011.02.15 |
[MFC] Ansi -> Unicode 형변환 (0) | 2011.02.08 |
트랙백
댓글
글
안드로이드 프로젝트를 생성할때 UTF-8로 생성을 많이 합니다.
그런데 시스템 디폴트는 Windows XP의 경우 MS949입니다.
따라서 UTF-8로 만들어진 프로젝트나 소스를 임포트 하면은 소스의 한글이 깨져서 보입니다.
Endcoding을 수정하는 방법은 크게 2가지 입니다.
1. Project->Properties->Resource->Text file encoding
2. Window->Preferences->General->Editors->Text Editors->Dictionaries->Encoding
1, 2번 둘다 encoding 하는 방법은 같지만 1번은 특정 프로젝트만 적용하는 옵션이고 2번은 이클립스 설정 전체를
변경하는 옵션입니다.
* 2012-06-21 추가 설정입니다.
'IDE/Tool > Eclipse' 카테고리의 다른 글
[Eclipse] 탭을 공백으로 변환하기 Insert Spaces for tabs (0) | 2011.08.31 |
---|---|
[Eclipse] eclipse 파일검색 방법 (1) | 2011.08.18 |
[Eclipse] 클래스 자동 임포트 단축키 (0) | 2011.02.12 |
[Eclipse] 단축키 수정하기 (0) | 2011.02.10 |
[Eclipse] 주석의 문법검사 비활성화 (0) | 2010.12.10 |
트랙백
댓글
글
2. 출판사 : 위키북스
3. 저 자 : 신승환
4. 가 격 : 13,000원
6. 평 가 : ★★★★☆
요즘 한창 고민하게 되는 부분. 아직 나에게는 멀게만 느껴지는 책 제목이지만 꼭 팀장이 아니더라도
개발자 간의 문제 혹은 개발자와 팀장과의 관계, 무엇보다 사람관의 관계에 대해서 배울수 있다.
책은 초보 팀장인 나영철이라는 인물을 중심으로 1부는 소설 2부는 QnA 형식으로 풀어쓰고 있다.
이 책의 큰 주요 골자 2가지는 리팩토링과 애자일이다 웬 관리기술에 개발방법론이냐 하겠지만
방법론이라는건 컨셉,목적 인데 두가지 방법(리팩토링, 애자일)이 팀장이 프로젝트를 성공적으로
이끌어 가는데 큰 밑바탕이 될 수 있다고 알려준다.
책 분량은 290페이지 가량인데 소설 형식에 분량도 적어서 책을 조금 느리게 보는 사람도 3시간 정도면
다볼 분량이다.
분량은 적은데 내용은 가볍지 않은 책!!!
출퇴근시 볼만하다.
'Books' 카테고리의 다른 글
도전! 아이폰4 프로그래밍 (0) | 2011.04.08 |
---|---|
Professional 소프트웨어 개발 (0) | 2011.03.28 |
Head First Object-Oriented Analysis & Design (0) | 2011.02.18 |
Head First iPhone Development: 사용자 경험 중심의 아이폰 앱 개발 입문서 (0) | 2011.01.11 |
COM/DCOM 프라이머 플러스 (0) | 2010.08.16 |
트랙백
댓글
글
2. 출판사 : 한빛미디어
3. 저 자 : 브렛 맥래프린, 게리 폴리스, 데이빗 웨스트 저 / 신광연, 박종걸 역
4. 가 격 : 28,000원
5. 난이도 : 초중급 (★★★☆☆)
7. 평 가 : ★★★★☆
'Books' 카테고리의 다른 글
Professional 소프트웨어 개발 (0) | 2011.03.28 |
---|---|
도와주세요! 팀장이 됐어요 (0) | 2011.02.23 |
Head First iPhone Development: 사용자 경험 중심의 아이폰 앱 개발 입문서 (0) | 2011.01.11 |
COM/DCOM 프라이머 플러스 (0) | 2010.08.16 |
C# and the .NET Platform (0) | 2010.01.12 |
트랙백
댓글
글
Visual Studio 2008에는 F12 단축키가 있습니다. 클래스의 정의나 선언으로 점프 합니다.
이와 비슷한 기능이 토드에는 F4입니다.
'IDE/Tool > Toad for Oracle' 카테고리의 다른 글
[Toad] Toad Oracle Explain Plan (0) | 2012.01.30 |
---|---|
[Toad] 글꼴 변경 (0) | 2012.01.18 |
[Toad] Toggle RHS Visibiity Problem (0) | 2011.04.21 |
[Toad] Package Compile 단축키 (0) | 2011.04.20 |
[Toad] Stored Procedure 실행 시키기 (0) | 2011.04.07 |
트랙백
댓글
글
객체지향 원리
1. 변화는 것을 캡슐화(분리)하라.
2. 구현에 의존하기보다는 인터페이스에 의존하도록 코딩하라.
3. 각 클래스는 변경 요인이 오직 하나이어야 한다. (하나의 클래스는 하나의 기능을 갖도록 설계)
4. 클래스는 행동과 기능에 관한 것이다.
다 맞는 이야기 입니다.
다만 이론은 이론일뿐 이걸 실제 적용할려면 멍해진다는
결론은 경험이 없이는 책만 보아서는 알수 없는게 개발 인것 같습니다.
'일반' 카테고리의 다른 글
Context Switching (문맥전환) (0) | 2011.09.14 |
---|---|
[객체지향] 비슷한것 같으면서도 다른 Attribute와 Property의 차이점 (0) | 2011.05.19 |
RFP ( Request for Proposal ) (0) | 2011.04.07 |
Dina 코딩용 글꼴 (0) | 2011.02.13 |
예외 처리에 관해서 (0) | 2008.09.16 |
트랙백
댓글
글
그중 __FILE__, __LINE__, __FUNCTION__은 디버깅시 유용합니다.
__FILE__ : 현재 소스의 파일 경로 문자열을 리턴
__LINE__ : 소스 파일의 라인번호 숫자를 리턴
__FUNCTION__ : 현재 위치의 함수 이름 문자열을 리턴
참고 ( http://msdn.microsoft.com/en-us/library/b0084kay(VS.71).aspx )
'C/C++ > VC++ / MFC' 카테고리의 다른 글
COM Automation 에서 옵션인자 설정 방법 (0) | 2011.03.03 |
---|---|
#pragma message (0) | 2011.02.25 |
[링크] 일정 시간이 흐른후 메세지 박스 종료하기 (0) | 2011.02.15 |
[MFC] Ansi -> Unicode 형변환 (0) | 2011.02.08 |
PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API (0) | 2011.01.24 |
트랙백
댓글
글
데브피아 살펴보다가 유용한 팁이 있어서 링크 없어질것 대비하여 블로그에 옮겨 놓습니다.
나중에 써먹어야지!!
글 내용
---------------------------------------------------------------------------------------------------
팁이 될지 모르겠네요. 모르는분들을 위한 팁이에요...양해 바랍니다. ^^
어떤분이 질문을 올리셨기에...
질문의 내용은 A프로그램에서 B프로그램 실행후 B프로그램이 끝날때까지 A프로그램은 계속 대기
B프로그램에서 메시지박스가 떠 있기때문에 무한정 기다려야 하는 문제가 있을 경우 사용하면 될것 같습니다.
또는 그냥 시간되면 메시지 박스를 종료하고 싶을때 사용하면 될것 같습니다.
사용 방법은 SetTime를 이용합니다.
---------------------------------------------------------------------------------------------------
SetTimer(101, 1000, NULL); if(AfxMessageBox("박스다..") == IDOK) { // AfxMessageBox("OK"); }
//OnTimer() 안에서 사용하시면 됩니다.
HWND wndDlg = ::GetLastActivePopup(m_hWnd); if(wndDlg && wndDlg != m_hWnd) { char buffer[256] = {0}; ::GetClassName(wndDlg, buffer, 256); if(CString("#32770") == buffer) //메시지 박스는 분명히 다이얼로그이며 클래스명이 #32770 { ::EndDialog(wndDlg, IDOK); } }
'C/C++ > VC++ / MFC' 카테고리의 다른 글
#pragma message (0) | 2011.02.25 |
---|---|
Predefines Macros (0) | 2011.02.16 |
[MFC] Ansi -> Unicode 형변환 (0) | 2011.02.08 |
PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API (0) | 2011.01.24 |
[MFC] 현재 프로그램의 Instance Handle을 구하는 API (0) | 2011.01.24 |
트랙백
댓글
글
Visual Assist X를 사용하면 제일 편한 기능중 하나가 .h와 .cpp간의 전환 단축키 입니다.
이걸 매크로로 구현한 글이 있어서 링크 합니다.
Visual Studio 2005, 2008에서 동작 확인했습니다.
Function OpenDocument(ByVal path As String) As Window If (My.Computer.FileSystem.FileExists(path)) Then OpenDocument = DTE.ItemOperations.OpenFile(path) Else Dim filename As String filename = path.Substring(path.LastIndexOf("\") + 1) Dim item As ProjectItem item = DTE.Solution.FindProjectItem(filename) If (item IsNot Nothing) Then If (item.Document Is Nothing) Then OpenDocument = item.Open() Else OpenDocument = item.Document.ActiveWindow() End If End If End If If (OpenDocument IsNot Nothing) Then OpenDocument.Activate() End If End Function Sub ToggleBetweenSourceAndHeader() Dim document As Document document = DTE.ActiveDocument Dim path As String path = document.FullName Dim ext_position As Integer ext_position = path.LastIndexOf(".") If (ext_position <> -1) Then Dim ext As String ext = path.Substring(ext_position) Dim path_without_ext As String path_without_ext = path.Remove(ext_position, ext.Length()) If (ext.ToLower().Contains(".cpp")) Then ' .cpp -> .hpp or .h If (OpenDocument(path_without_ext & ".hpp") Is Nothing) Then OpenDocument(path_without_ext & ".h") End If ElseIf (ext.ToLower().Contains(".cxx")) Then ' .cxx -> .hxx OpenDocument(path_without_ext & ".hxx") ElseIf (ext.ToLower().Contains(".cc")) Then ' .cc -> .hh OpenDocument(path_without_ext & ".hh") ElseIf (ext.ToLower().Contains(".c")) Then OpenDocument(path_without_ext & ".h") ElseIf (ext.ToLower().Contains(".h")) Then ' .h -> .c or .cpp If (OpenDocument(path_without_ext & ".c") Is Nothing) Then OpenDocument(path_without_ext & ".cpp") End If ElseIf (ext.ToLower().Contains(".hpp")) Then ' .hpp -> .cpp OpenDocument(path_without_ext & ".cpp") ElseIf (ext.ToLower().Contains(".hxx")) Then ' .hxx -> .cxx OpenDocument(path_without_ext & ".cxx") ElseIf (ext.ToLower().Contains(".hh")) Then ' .hh -> .cc OpenDocument(path_without_ext & ".cc") End If End If End Sub
'IDE/Tool > Visual Studio' 카테고리의 다른 글
[Visual Studio] 마법사 만들기 (0) | 2012.03.08 |
---|---|
[Visual Studio 2008] Unicode 기반 프로그램에서 한글이 깨지는 현상 (0) | 2011.03.01 |
FAT32, NTFS 포맷 방식이 컴파일에 영향을 준다. (1) | 2008.10.12 |
Platform SDK 설치 (1) | 2008.09.18 |
[Visual Studio 2005] Windows 2003에서 Visual Studio 2005 SP1 설치 오류 문제 (0) | 2008.02.20 |
트랙백
댓글
글
제가 모바일에서 주로 사용하는 database는 SQLite입니다.
용량이 작으면서도 RDB의 기능을 잘 갖추고 있습니다.
그렇지만 RDBMS로는 모자르죠 ^^;
SQLite에는 typeof라는 함수가 존재합니다.
Function
typeof(X)
Descript
The typeof(X) function returns a string that indicates the datatype of the expression X: "null", "integer", "real", "text", or "blob".
참고 ( http://www.sqlite.org/lang_corefunc.html )
이번에 Oracle을 사용하면서 이와 비슷한 함수를 찾았는데
못찾았습니다. 그러던중 오라클에는 COLS 라는 시스템 테이블이 있어서
그 안에 컬럼에 대한 정보를 저장합니다. 이 테이블을 이용하면 사용자 function을 만들면
typeof 비슷하게 만들수 있을것 같습니다.
SELECT DATA_TYPE FROM COLS WHERE TABLE_NAME = '테이블명' AND COLUMN_NAME = '컬럼명'
'DB / NoSQL > Oracle / Toad' 카테고리의 다른 글
[Oracle] 테이블, 컬럼 조회 (0) | 2011.10.10 |
---|---|
[Oracle] oracle em emctl 기동안될때 조치 (0) | 2011.04.26 |
[Oracle] Oracle 10g Unintall (0) | 2011.04.26 |
[Oracle] 테이블 목록 조사하기 (0) | 2011.04.07 |
[Oracle] Windows 7 Oracle 10g Install (0) | 2011.01.31 |
트랙백
댓글
글
iPhone, Android, Windows Mobile 등 스마트폰에서 어플을 만들때
데이터 저장 용도로 SQLite를 자주 사용합니다.
개발을 진행중 테스트 용도로 SQLite db를 편집하고 싶을때 CUI툴만 사용해서 하면
답답합니다.
이럴때 무료로 사용할수 있는 좋은 툴이 있네요
http://www.sqliteexpert.com
링크로 들어가셔서 Personal 제품만 무료 입니다.
대부분의 기능이 잘 되고 화면 UI도 깔끔하네요.
'DB / NoSQL > SQLite' 카테고리의 다른 글
[SQLite] ADO.NET 2.0 Provider for SQLite (0) | 2012.05.03 |
---|---|
SQLite 3.7.2 Windows Mobile용 dll (0) | 2010.09.25 |
트랙백
댓글
글
'일반' 카테고리의 다른 글
Context Switching (문맥전환) (0) | 2011.09.14 |
---|---|
[객체지향] 비슷한것 같으면서도 다른 Attribute와 Property의 차이점 (0) | 2011.05.19 |
RFP ( Request for Proposal ) (0) | 2011.04.07 |
객체지향 원리 (0) | 2011.02.18 |
예외 처리에 관해서 (0) | 2008.09.16 |
트랙백
댓글
글
글래스 자동 임포트 기능이라기 보다 정리기능이라고 할 수 있습니다.
사용하는 클래스는 자동으로 임포트 하고
사용하지 않는 클래스가 임포트 되어 있으면 정리해 줍니다.
단축키는 Ctrl+Shift+O (영어) 입니다.
'IDE/Tool > Eclipse' 카테고리의 다른 글
[Eclipse] eclipse 파일검색 방법 (1) | 2011.08.18 |
---|---|
[Eclipse] Encoding 설정하기 (0) | 2011.02.24 |
[Eclipse] 단축키 수정하기 (0) | 2011.02.10 |
[Eclipse] 주석의 문법검사 비활성화 (0) | 2010.12.10 |
[Eclipse] 이클립스의 유용한 단축키 서라운드 기능 ALT+SHIFT+Z (0) | 2010.12.09 |
트랙백
댓글
글
Window -> Preferences -> General -> Keys
'IDE/Tool > Eclipse' 카테고리의 다른 글
[Eclipse] Encoding 설정하기 (0) | 2011.02.24 |
---|---|
[Eclipse] 클래스 자동 임포트 단축키 (0) | 2011.02.12 |
[Eclipse] 주석의 문법검사 비활성화 (0) | 2010.12.10 |
[Eclipse] 이클립스의 유용한 단축키 서라운드 기능 ALT+SHIFT+Z (0) | 2010.12.09 |
[Eclipse] 세미콜론 자동으로 문장끝으로 이동시키기 (0) | 2010.12.07 |
트랙백
댓글
글
'OS > Windows' 카테고리의 다른 글
[Windows] Message (0) | 2012.07.30 |
---|---|
CreateDirectory 와 SHCreateDirectory 다른점 (0) | 2011.03.01 |
Windows API만 사용해서 BN_CLICKED 메세지 발생시키기 (0) | 2009.08.12 |
CoInitialize(), CoUninitialize() 호출시 주의사항 (0) | 2009.02.03 |
Release에서 디버깅 하기 ... (0) | 2008.11.21 |
트랙백
댓글
글
물론 MultiByteToWideChar API를 사용하면 Ansi->Unicode로 전환할수 있습니다.
MultiByteToWideChar를 보시면 알겠지만 인자가 많습니다. ㅡㅡ;
int MultiByteToWideChar( UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar );
이럴때 MFC에서만 사용할수 있는 꼼수
char szBuffer[] = "Ansi 스트링 입니다."; CString strUnicode = (CString)szBuffer;
이렇게만 하면 끝났습니다.
다만 그냥 컨버팅 되는게 아니라
프로그램 베이스가 Unicode 기반으로 작성된 프로그램에서
Ansi 문자열을 Unicode 기반으로 컨버팅 하실때 편하게 사용하실수 있습니다.
소스를 쫓아 들어가보면 알겠지만
형변환 내부적으로 MultiByteToWideChar 함수를 호출하고 있습니다.
// 데이터 길이 가져오는 함수 static int __cdecl GetBaseTypeLength( _In_z_ LPCSTR pszSrc ) throw() { // Returns required buffer size in wchar_ts return ::MultiByteToWideChar( _AtlGetConversionACP(), 0, pszSrc, -1, NULL, 0 )-1; }
// 데이터 변환 하는 함수 static void __cdecl ConvertToBaseType( _Out_cap_(nDestLength) LPWSTR pszDest , _In_ int nDestLength, _In_z_ LPCSTR pszSrc, _In_ int nSrcLength = -1) throw() { // nLen is in wchar_ts ::MultiByteToWideChar( _AtlGetConversionACP() , 0, pszSrc, nSrcLength, pszDest, nDestLength ); }
그런데 막상 해보면 글자가 한글이 깨집니다.
이유는 http://msdn.microsoft.com/ko-kr/library/w1sc4t4k(VS.80).aspx
문자열 변환 보시면 알겠지만 기본 코드 페이지가 변경되었습니다.
문자열 변환
Visual C++ 6.0의 ATL 3.0 및 그 이전 버전에서는 atlconv.h의 매크로를 사용하는 문자열 변환이 항상 시스템의 ANSI 코드 페이지(CP_ACP)를 사용하여 수행되었습니다. Visual C++ .NET의 ATL 7.0부터는 _CONVERSION_DONT_USE_THREAD_LOCALE이 정의되지 않은 경우 문자열 변환이 현재 스레드의 기본 ANSI 코드 페이지를 사용하여 수행됩니다. _CONVERSION_DONT_USE_THREAD_LOCALE이 정의된 경우에는 이전과 같이 시스템의 ANSI 코드 페이지가 사용됩니다.
CW2AEX 등의 문자열 변환 클래스를 사용하면 변환에 사용할 코드 페이지를 해당 생성자에 전달할 수 있습니다. 코드 페이지를 지정하지 않으면 해당 클래스에서는 매크로와 동일한 코드 페이지를 사용합니다.
자세한 내용은 ATL and MFC String Conversion Macros를 참조하십시오.
결국 컨버전 할때 내부적으로
inline UINT WINAPI _AtlGetConversionACP() throw() { #ifdef _CONVERSION_DONT_USE_THREAD_LOCALE return CP_ACP; #else return CP_THREAD_ACP; #endif }
이 함수를 호출하는데 _CONVERSION_DONT_USE_THREAD_LOCALE 매크로가 없기 때문에 CP_THREAD_ACP 코드
페이지가 작성됩니다.
그래서 매크로를 프로젝트에 추가(Property Pages->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions)해주고
Rebuild All 해서 사용하시면 됩니다.
'C/C++ > VC++ / MFC' 카테고리의 다른 글
Predefines Macros (0) | 2011.02.16 |
---|---|
[링크] 일정 시간이 흐른후 메세지 박스 종료하기 (0) | 2011.02.15 |
PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API (0) | 2011.01.24 |
[MFC] 현재 프로그램의 Instance Handle을 구하는 API (0) | 2011.01.24 |
WINDOWS API 폴더 선택 (0) | 2011.01.21 |
트랙백
댓글
글
Windows 7 x64에 10204_vista_w2k8_x64_production_client 을 다운받아서 설치했는데
설치까지는 이상없이 됐는데 설치만 하면 무선 네트웍과 충돌이 일어나더니 무선네트웍이 죽는
현상이 발생했습니다.. 그래서 결국 다른 방법으로
1. 10203_vista_w2k8_x86_production_db 설치 (x86)
2. 10203_vista_w2k8_x86_production_client 설치 (x86)
3. Toad 9.7.2 (x86)
이렇게 설치하니 다 잘되네요.
오라클 홈페이지에서 Windows7을 지원한다는 10g x64를 받고 실치히는데
ps. 인터넷 네이버 지식In에서 찾은 추가사항
\install\oraparam.ini
[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1
\stage\prereq\db\refhost.xml
<CERTIFIED_SYSTEMS><OPERATING_SYSTEM><VERSION VALUE="5.0"/><SERVICE_PACK VALUE="1"/></OPERATING_SYSTEM><OPERATING_SYSTEM><VERSION VALUE="5.1"/><SERVICE_PACK VALUE="1"/></OPERATING_SYSTEM><OPERATING_SYSTEM><VERSION VALUE="5.2"/></OPERATING_SYSTEM><!--Microsoft Windows Vista--><OPERATING_SYSTEM><VERSION VALUE="6.0"/></OPERATING_SYSTEM><!--Microsoft Windows 7--><OPERATING_SYSTEM><VERSION VALUE="6.1"/></OPERATING_SYSTEM></CERTIFIED_SYSTEMS>
\stage\prereq\db_prereqs\db\refhost.xml
<CERTIFIED_SYSTEMS><OPERATING_SYSTEM><VERSION VALUE="5.0"/><SERVICE_PACK VALUE="1"/></OPERATING_SYSTEM><OPERATING_SYSTEM><VERSION VALUE="5.1"/><SERVICE_PACK VALUE="1"/></OPERATING_SYSTEM><OPERATING_SYSTEM><VERSION VALUE="5.2"/></OPERATING_SYSTEM><!--Microsoft Windows Vista--><OPERATING_SYSTEM><VERSION VALUE="6.0"/></OPERATING_SYSTEM><!--Microsoft Windows 7--><OPERATING_SYSTEM><VERSION VALUE="6.1"/></OPERATING_SYSTEM></CERTIFIED_SYSTEMS>
'DB / NoSQL > Oracle / Toad' 카테고리의 다른 글
[Oracle] 테이블, 컬럼 조회 (0) | 2011.10.10 |
---|---|
[Oracle] oracle em emctl 기동안될때 조치 (0) | 2011.04.26 |
[Oracle] Oracle 10g Unintall (0) | 2011.04.26 |
[Oracle] 테이블 목록 조사하기 (0) | 2011.04.07 |
[Oracle] Oracle typeof ?? (0) | 2011.02.15 |
트랙백
댓글
글
'뚱2's 이야기' 카테고리의 다른 글
Macbook Pro (2nd HDD caddy Apple OptiBay SuperDrive Replacement SATA With SSD RAID0) (0) | 2011.04.22 |
---|---|
PayPal Password 변경 하기 (0) | 2011.04.10 |
KBS FM Streaming (0) | 2011.01.22 |
구글 크롬 북마크 동기화 (2) | 2011.01.05 |
홈런 배틀 (0) | 2010.02.18 |
트랙백
댓글
글
'OS > Mac' 카테고리의 다른 글
[Mac] delete (0) | 2011.04.02 |
---|---|
[Mac] 용 원격데스크탑 (Remote Desktop Connection) (0) | 2011.03.31 |
[Mac] Shift + Space 한영전환 (0) | 2011.01.23 |
[Mac] 하드웨어 정보 확인하기 (0) | 2011.01.16 |
[Mac] 키보드 단축키 (0) | 2011.01.12 |
트랙백
댓글
글
PathIsDirectory Function
Verifies that a path is a valid directory.
Syntax
BOOL PathIsDirectory(LPCTSTR pszPath);
Parameters
- pszPath
- [in] A pointer to a null-terminated string of maximum length MAX_PATH that contains the path to verify.
Return Value
Returns TRUE if the path is a valid directory, or FALSE otherwise.
Function Information
Minimum DLL Version | shlwapi.dll version 4.71 or later |
---|---|
Custom Implementation | No |
Header | shlwapi.h |
Import library | shlwapi.lib |
Minimum operating systems | Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0 |
Unicode | Implemented as ANSI and Unicode versions. |
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[링크] 일정 시간이 흐른후 메세지 박스 종료하기 (0) | 2011.02.15 |
---|---|
[MFC] Ansi -> Unicode 형변환 (0) | 2011.02.08 |
[MFC] 현재 프로그램의 Instance Handle을 구하는 API (0) | 2011.01.24 |
WINDOWS API 폴더 선택 (0) | 2011.01.21 |
VC++에서 ADO를 사용하는 방법 (0) | 2011.01.20 |
트랙백
댓글
글
MFC를 사용 할 때 전역적으로 사용할수 있는 API 앞머리에 Afx가 붙습니다.
그중 현재 프로그램의 Instance Handle을 구할수 있는 API입니다.
AfxGetInstanceHandle();
// 원형 LONG GetWindowLong( HWND hWnd, int nIndex );
아래와 같이 호출해 주시면 됩니다. hWnd는 호출하는 쪽의 윈도우 핸들 입니다.
GetWindowLong(hWnd, GWL_HINSTANCE);
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[MFC] Ansi -> Unicode 형변환 (0) | 2011.02.08 |
---|---|
PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API (0) | 2011.01.24 |
WINDOWS API 폴더 선택 (0) | 2011.01.21 |
VC++에서 ADO를 사용하는 방법 (0) | 2011.01.20 |
Visual Studio 2008 Release 모드에서 디버깅 하기 (0) | 2010.10.03 |
트랙백
댓글
글
'OS > Mac' 카테고리의 다른 글
[Mac] delete (0) | 2011.04.02 |
---|---|
[Mac] 용 원격데스크탑 (Remote Desktop Connection) (0) | 2011.03.31 |
[Mac] 화면 캡쳐 하기 (0) | 2011.01.26 |
[Mac] 하드웨어 정보 확인하기 (0) | 2011.01.16 |
[Mac] 키보드 단축키 (0) | 2011.01.12 |
트랙백
댓글
글
< ?php // KBS ID, 채널 $id = $_GET["id"]; $channel = $_GET["channel"]; // 문자열을 가져올 주소 $whois_server = "http://kong.kbs.co.kr/live_player/channelMini.php?id=".$id."&channel=".$channel; // 문자열을 가져온다 $whois_server = parse_url($whois_server); $fp = fsockopen($whois_server["host"], 80, $errno, $errstr); fputs($fp,"GET ".$whois_server["path"].($whois_server["query"] ? '?'.$whois_server["query"] : '')." HTTP/1.0\r\n"); fputs($fp,"Host: " . $whois_server["host"] . "\r\n"); fputs($fp,"User-Agent: PHP Script\r\n"); fputs($fp,"Connection: close\r\n\r\n"); $string = ""; while(!feof($fp)) { $string .= fgets($fp,1024); } fclose($fp); // 필요한 부분만 자른다 $string = strstr($string, 'mms://'); // 스트리밍 주소로 바로 이동(스트리밍 프로그램에서 바로 쓸 수 있게) header("Location:$string"); ? >
'뚱2's 이야기' 카테고리의 다른 글
PayPal Password 변경 하기 (0) | 2011.04.10 |
---|---|
ActiveX 없는 인터넷 속도 측정 사이트 (0) | 2011.01.30 |
구글 크롬 북마크 동기화 (2) | 2011.01.05 |
홈런 배틀 (0) | 2010.02.18 |
Windows7 새로운 기능 (디스플레이 프로젝션) (0) | 2009.09.01 |
트랙백
댓글
글
BOOL ChoiceFolder(HWND hWndOwner, TCHAR* pszFolderPath) { ASSERT( IsWindow(hWndOwner) == TRUE && pszFolderPath != NULL); LPITEMLIST pidl; BROWSEINFO bi; bi.hwndOwner = hWndOwner; bi.pidRoot = NULL; bi.pszDisplayName = NULL; bi.lpszTitle = _T("폴더를 선택해 주세요."); bi.ulFlags = BIF_NEWDIALOGSTYLE|BIF_EDITBOX|BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; pidl = SHBrowseForFolder(&bi); if ( pidl == NLULL) return FALSE; return SHGetPathFromIDList(pidl, pszFolderPath); }
'C/C++ > VC++ / MFC' 카테고리의 다른 글
PathIsDirectory 유효한 폴더명인지 확인 할 수 있는 API (0) | 2011.01.24 |
---|---|
[MFC] 현재 프로그램의 Instance Handle을 구하는 API (0) | 2011.01.24 |
VC++에서 ADO를 사용하는 방법 (0) | 2011.01.20 |
Visual Studio 2008 Release 모드에서 디버깅 하기 (0) | 2010.10.03 |
[WTL] Visual Studio 2008 WTL AppWizMobile 오류 해결 (0) | 2010.09.16 |
트랙백
댓글
글
1. OLE DB SDK라이브러리를 이용하는 방법
2. #import를 이용하여 Type Library를 이용하는 방법
전 개인적으로 2번째 방법을 선호합니다.
그리고 Type Library를 import 하면 스마트 포인터를 사용할수 있기때문에 편리합니다.
#import를 할려면 msadoxx.tlb 파일이나 msadoxx.dll 파일이 필요합니다.
ado는 버전별로 있기때문에 본인에게 맞는 버전을 사용하면 됩니다.
import할 파일은 C:\Program Files\Common Files\System\ado\ 에 있습니다.
MFC를 이용해서 프로그래밍을 한다면 StdAfx.h에 선언해 주는게 편합니다.
StdAfx.h에 선언하지 않으면 사용하는 곳마다 계속 선언을 해줘야 합니다.
//StdAfx.h //... #import "C:\\Program Files\\Common Files\\System\\ado\\msado26.tlb" \ no_namespace rename("EOF", "adoEOF") //...
type library를 임포트 할려면 .tlb라는 파일이 필요한데 ado는 .dll에도 type library가 저장되어 있습니다.
따라서 .tlb, .dll 둘중에 아무거나 임포트 하시면 됩니다.
namespace를 사용하지 않게 옵션을 주어서 코딩시 편하게 할 수 있습니다.
간혹 이름 충돌이 발생할수 있는데 그럴때는 rename_namespace("새로운이름") 옵션으로 이름을 변경해
주시면 됩니다.
rename("EOF", "adoEOF")는 혹 다른곳에서 EOF를 사용함으로 해서 충돌나는 것을 방지해줍니다.
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[MFC] 현재 프로그램의 Instance Handle을 구하는 API (0) | 2011.01.24 |
---|---|
WINDOWS API 폴더 선택 (0) | 2011.01.21 |
Visual Studio 2008 Release 모드에서 디버깅 하기 (0) | 2010.10.03 |
[WTL] Visual Studio 2008 WTL AppWizMobile 오류 해결 (0) | 2010.09.16 |
MFC 디버깅시 MS MFC 소스코드를 쫓아서 디버깅할때는 Static Library... (0) | 2010.09.03 |
RECENT COMMENT