본문 바로가기
반응형

[ Program ]205

DataTable 에서 원하는 Row만 골라내기 DataTable sampleDT = new DataTable(); sampleDT .DefaultView.RowFilter = " column1 'A' "; DataTable result = sampleDT .DefaultView.ToTable(); return result; 2014. 11. 5.
방법: Windows Forms DataGridView 컨트롤에서 선택한 셀, 행 및 열 가져오기 출처 - http://msdn.microsoft.com/ko-kr/library/x8x9zk5a(v=vs.110).aspx 방법: Windows Forms DataGridView 컨트롤에서 선택한 셀, 행 및 열 가져오기 .NET Framework 4.5 다른 버전 Visual Studio 2010 .NET Framework 3.0 .NET Framework 3.5 .NET Framework 2.0 이 항목은 아직 평가되지 않았습니다.- 이 항목 평가 SelectedCells , SelectedRows 및 SelectedColumns 중 해당하는 속성을 사용하여 DataGridView 컨트롤에서 선택한 셀, 행 또는 열을 가져올 수 있습니다. 다음 절차에서는 선택한 셀을 가져온 다음 이 셀의 행 및 열 .. 2014. 8. 22.
c++ DLL을 C#에서 사용해보자 ( 클래스 마샬링 ) http://blog.danggun.net/799 클래스 마샬링을 할일이 없엇 신경을 안쓰다가 요번에 스카이프 api나 제가 직접 마샬링 해볼까 해서 클래스 마샬링을 정리해 보았습니다. 근데 왜이렇게 자료가 없지? 겨우 찾은것이 비주얼C++ 팀블로그인데....네...영어입니다 ㅡ.-; (참고 : Visual C++ Team Blog - Inheriting From a Native C++ Class in C#) 일단 변환방법이 마음에 들지가 않아서 위글에 있는 내용을 그대로 사용하여 만들고 자료를 더 찾는다면 파트2로 돌아오 겠습니다 ㅎㅎㅎㅎ 그전에 이 글은 크게 2부분으로 나누어 설명할 예정입니다. 어찌됬건 프로그래머라면 일단 샘플부터 만들고 생각해야 하지 않겠습니까? 1. C++ DLL 만들기C#에서 .. 2014. 7. 28.
[C#] c++ DLL을 C#에서 사용해보자 ( 함수 마샬링 ) http://blog.danggun.net/16 머......피치못할 사정으로 c++로 작성된 dll을 써야된다면.....명복을 크크크크크크크 하지만 어차피 c++ dll은 여러모로 쓸모가 많다보니 재판매(어이)를 어느정도 고려 할겸, 역어셈에도 닷넷보다는 안전해 보여서 dll은 c++로 만들어 씁니다. 근데 이렇게 딴 언어에서 만든 dll을 쓰기위해서 마샬링이 필요합니다. ㅡ,.ㅡ;;; 일종의 컨버전이라고 생각하면 됩니다. (쉽게 생각하라고 컨버전이라고 한거지 전혀 다른넘 입니다. ㅡ.-; 컨버전은 프로그램자체를 다른 언어에 맞게 변경시키는것을 의미하고. 마샬링은 다른언어에서도 읽을수 있게 해주는 작업입니다. dll자체는 변하지 않는다!) 마샬링하는 방법은 여러가지가 있고 dll불럳다 쓰는 방식도 여러.. 2014. 7. 28.
환경 변수 설정하기 출처 - http://snoopybox.co.kr/1299 방명록에 질문주신 분이 계셔서 관련 글 올려봅니다. 환경 변수라는 말 한번 쯤은 들어보셨을 텐데요, DOS 세대라면 SET PATH= 이 명령어 기억나실 것입니다. AUTOEXEC.BAT 파일에 MDIR 경로를 적어주곤 했죠. 그럼 어떤 위치에서든 MDIR을 실행시킬 수 있었으니까요. 추억의 MDIR 3.10 윈도우에서도 기본적으로 사용되는 시스템 변수가 있습니다. 이 값은 레지스트리 상에 저장되어 있는데 일반 유저들은 사용할 일이 잘 없겠지만 개발자 분들이나 CMD 창 자주 쓰는 분들께는 유용할 수 있습니다. 저도 배치파일 작성할 때 자주 사용하는 편입니다. 아래는 제가 현재 사용중인 윈도우 7 기준인데 몇가지 자주 쓰이는 예를 들어보겠습니다... 2014. 7. 28.
Android , asp.net, mssql 연동 [2] 출처 - http://ondestroy.tistory.com/entry/Android-aspnet-mssql-연동-2 asp.net 과 안드로이드 앱 연동을 포스팅 해보려고 합니다.. (xml, soap통신 이용) 1. asp.net 웹사이트에 웹서비스 -> 웹메소드 구현 2. android에서 Soap통신 클래스 작성 3. searchData 결과값 xml 파싱 ---------------------------------------------------------------------------------------------------- 1. soap 통신 클래스 1) 입력 edittext , 버튼 ,출력 textview 를 레이아웃에 추가해줍니다.. 2) ksoap2-android-assembly-.. 2014. 6. 19.
Android , asp.net, mssql 연동 [1] 출처 - http://ondestroy.tistory.com/entry/Android-aspnet-mssql-%EC%97%B0%EB%8F%99 asp.net 과 안드로이드 앱 연동을 포스팅 해보려고 합니다.. (xml, soap통신 이용) 1. asp.net 웹사이트에 웹서비스 -> 웹메소드 구현 2. android에서 Soap통신 클래스 작성 3. searchData 결과값 xml 파싱 ----------------------------------------------------------------------------------------------------- 1. 웹서비스 구축 : 1) 비쥬얼 스튜디오를 사용하였습니다 2) 웹사이트와 db는 구축되어 있고 테이블이름은 Table_Name 칼럼은 .. 2014. 6. 19.
CString 의 구조 궁금해서 찾아보니 이런 문서가 있군요 2014. 6. 11.
c언어 콘솔프로그램 종료대기시키기 콘솔로 연습하다가 실행파일로 결과를 확인하려고 하니 마구닫혀버린다. 그래서 찾은게 아래 #include 추가후 메인함수가장 마지막줄에 아래 둘중아무거나 하나를 넣어주면 키를 누르면 종료되게 된다. system("pause"); //system("pause > nul"); 2014. 6. 4.
vs(비주얼스튜디오) 에서 콘솔프로그램 실행시 창떠있게하기 일반 F5 를 누르면 실행이 종료되면 콘솔창이 닫힌다. ctrl + F5 를 누르면 실행이 완료 되도 결과값을 볼때까지 콘솔창을 띄워 놓을수 있다. 2014. 5. 12.
비주얼스튜디오(vs) 에서 c 프로젝트 만드는법 파일 > 새로만들기 > 프로젝트 c++ 안에있는 win32 에서 콘솔 응용프로그램을 선택해줍니다. 그럼 요런설정하는 창이뜹니다. 여기서 콘솔 응용프로그램에 빈프로젝트 선택하고 마침을 눌러줍니다. 그러면 이렇게 프로젝트가 딱! 생깁니다. 이제 소스파일에서 오른쪽 눌러 추가 새항목을 눌러주면 요런창이 뜨는데 여기서 c++ 파일 선택하고 중요한게 이름 정해줄때 .c 를 붙여야 합니다. 안붙이면 기본 cpp 파일로 생성 됩니다. 이렇게 해서 파일 만들어지면 void main() { } 을 적어주고 디버깅해보시면 됩니다. vs 버전과 환경에 따라 빌드가 안되는 경우도 있는데 메니페스트 바꿔주고 그런걸로 해결이 가능합니다. 에러상태를 그대로 복사해서 네이버에 붙여넣으면 답들이 나옵니다! 2014. 2. 28.
1-6. 나에게 윈도우메세지전송2 (문자열) 저번에 간단한 값을 윈도우 메세지 전송을 해봤으니 이번에는 나에게 문자열을 보내 봅시다! 프로그램간 데이터 전송할려다가 삼천포로 계속 빠지고 있지만 이렇게 해야됩니다! 공부하는거니깐요~ 일단 저번에 만들어 놨던 걸 열어 봅시다. 요렇게 기존에는 간단한 숫자만 전송 했습니다. 문자열을 전송해봅시다! 두둥! //SendMessage(WM_TEST_MESSAGE, 100, 200); CEdit *editbox =(CEdit *)GetDlgItem(IDC_EDIT1); CString str; editbox ->GetWindowText(str); char tempar[1024] = {0,}; strcpy_s(tempar,str); HWND hWnd = ::FindWindow(NULL, CString("TestTr.. 2013. 12. 18.
1-5.쌩뚱맞게 프로그래머 계산기 사용법 이전포스팅에서 나온 WM_USER = 0x0400 ! 요고 일일이 계산하려면 귀찮아서 그냥 윈도우 계산기로 계산하는법을 올리겠습니다. 윈도우 기본 계산기입니다. 어디있는지는 아시죠? 위쪽 보기를 누르면 몇가지 용도가 있는데 이중 프로그래머용을 선택해 줍시다. 일단 왼쪽에 있는 진수를 Hex 를 선택해 줍시다.(처음에 Dec로 되있습니다.) 여기선 0x0400 이런식으로 입력할수는 없습니다. 0x 떼내면 0400 인데 앞에 0 은 있으나 없으나 상관이 없습니다. 그냥 자리수 맞출려고 붙여놓은거기때문에 무시하고 0x400 으로 생각하시면 됩니다. 그럼 앞에 0x 를 떼내면 400 이 됩니다. Hex 로 400 입력해 줍시다. 그리고 그상태로 그대로 왼쪽의 진수를 Dec 로만 바꿔주면 위와같이 값도 1024로.. 2013. 12. 9.
1-4.나에게 윈도우메세지전송 일단 다른프로그램에게 메세지를 전송하기전에 나스스로에게 메세지를 전송하는것부터 해봅시다. 일단 기존에 있던 메인화면에 버튼을 하나 추가해 봅시다. 왼쪽의 도구상자에서 버튼 드래그 해서 화면 위로 올리기만 하면 됩니다! 그럼 위와 같이 일단 버튼이 추가되었습니다. 이제 예쁘게 이름도 바꿔줘 봅시다. 오른쪽밑에 속성창에 캡션을 찾아봅시다. 그리고 캡션내용을 나에게 전송 이라고 바꿔줘 봅시다. 그럼 버튼위에 캡션도 그렇게 바뀝니다. 그리고 버튼이 추가 되었으니 이벤트도 연결 시켜 봅시다. 버튼에서 마우스 오른쪽으로 이벤트처리기 추가 창을 들어갑니다. 요런팝업창 이제 살짝 익숙해져 갑니다. 이왕 열린거 그냥 버튼을 누르지말고 무슨내용이 있는지도 한번 봅시다. 메세지 형식은 BN_CLICKED 인걸 봐서 버튼 클.. 2013. 12. 9.
1-3.다른프로그램간 데이터전송 준비 전송을 하기전에 두가지 정도 알아보고 가야할것 같습니다. 핸들,윈도우메세지. 제가 원래 c#을 약간했는데 c++ 로 뭔가 만들어볼려고 하니 가장 이해할수 없는 내용이 위 두가지 였습니다. 일단 핸들 같은 경우는 쉽게 생각해서 객체의 인스턴스라고 생각하시면 되겠습니다. 완전 간단하게 말하면 현재 떠 있는 창을 컨트롤 하고 싶을때 접근대상이 되는 이름 정도로 생각하시면 되겠습니다. 일단 시작에 보면 vs 폴더 내에 Tools 폴더내에 spy++ 이라는 프로그램을 실행 해 봅시다. 실행하면 아래와 같은 창이 뜹니다. 그러면 창1 이라고 되있는건 무슨내용인지 모르니 일단 x 눌러서 닫아버리고 위에서 빨간 네모가 되있는찾기를 눌러봅시다. 그럼 중앙에 창찾기라는 팝업이 뜹니다. 창찾기 가운데 있는 빨간네모안의 타겟.. 2013. 12. 2.
1-2.editbox 의 내용 띄우기 이제 데이터를 전송해 볼려고 하니 데이터를 전송하려고 해도 전송할 데이터가 없습니다! 이건큰일이군요. 그래서 에디트박스(타프로그램의 텍스트박스) 를 만들어서 거기입력된 내용을 일단 메세지 박스로 띄우는것부터 해보기로 했습니다. 리소스 파일에서 제일처음있던 폼을 열어봅시다. 그리고나서 우측의 도구상자를 클릭해주면 여러 기본 컨트롤 들이 기본으로 주루룩 나옵니다. 폼에 보면 "여기에 대화상자 컨트롤을 배치합니다" 라고 되있으니 그말대로 해봅시다. 그중에 Edit Control 이라는 컨트롤을 드래그 드랍으로 폼위에 올려줍시다. 그리고 위와같이 크기도 좀 키워줍시다. 이제 컨트롤에 입력한 데이터를 볼수있게 메세지 박스를 띄워줘야 하는데 어떻게 해야할지 모르겠습니다! 그래서 구글링을 하니 AfxMessageBo.. 2013. 11. 28.
1-1.윈도우폼 띄우기 일단 VS2010 으로 프로젝트 부터 만들어 봅시다. 프로그램을 실행하고 새로만들기 > 프로젝트를 눌러줍시다. 그러면 위와같은 창이 뜨는데 요기서 Visual C++ 탭의 MFC 에서 MFC 응용 프로그램을 선택하고 아래 이름에 프로젝트 명을 적어줍시다. 저는 TestTrans 로 정했습니다. 그리고 확인을 눌러주면 아래와 같이 팝업창이 뜹니다. 그럼 아래와 같이 설정해주고 다음을 누릅시다. 위와 같이 설정을 해주고 마침을 누르면 아래와 같이 이제 시작화면을 볼수 있습니다. 위설정중 유니코드 라이브러리사용 옵션같은 경우는 따로 내용을 공부를 해야합니다. 저도 어설프게 알아서 설명을 할수가 없네요. 일단은 사용하지않겠습니다! 유니코드와 멀티바이트에 대해서 알수있는경로들 입니다. http://animal.m.. 2013. 11. 27.
1.기본데이터 전송 C++/MFC A 라는 프로그램에서 B 프로그램으로 데이터 전송/확인할수 있게 표시 C++/MFC/ASP.NET B 프로그램에서는 데이터가 오면 웹상 게시판에 데이터를 추가, 안드로이드 웹뷰를 통해 게시판에 추가된 데이터를 볼수있게 완료! 상세: 1.시작시 2개의 프로그램이 각자의 윈도우 폼을 띄운다. 2.A라는 프로그램에서 B라는 프로그램으로 윈도우메세지로 데이터를 보낸다. 3.B에서 호스팅하고있는곳의 DB 로 데이터를 전송한다. 4.게시판에서 볼수있게 만든다. 5.안드로이드 웹뷰에서 그내용을 볼수있게 표현한다. 2013. 11. 27.
자체숙제 시작 혼자 공부할겸 스스로에게 숙제를 내주고 스스로 하는 과정을 올려볼까 합니다. 이것저것 조합해서 프로젝트를 할예정이라서 하나 끝나는데 막혀서 시간도 오래걸리고 몇일씩 진척이 없을수도 있습니다. 다아는것도 아니고 공부하면서 하는거라서 어설프게 주워들은걸로 설명이 이상할수도 있고 그냥 막진행할때도 있을겁니다. 그래도 일단 몸으로 부딪히면서 배우면서 만들어 봅시다! 잘아시는 분들의 태클답글도 환영합니다. 그리고 보다가 어려운분의 질문 답글도 환영합니다. 틈나는 분들은 같이 해보세요~ 2013. 11. 27.
정적 MFC DLL 만들기, 만든 DLL 사용해보기 출처 - http://blog.daum.net/_blog/BlogTypeView.do?blogid=0H1fk&articleno=4#ajax_history_home DLL 만들기 라고 검색해 보았는가? 당연히 검색 해봤으니 이 글도 읽게 되겠지?? ㅋㅋㅋㅋㅋㅋ 오만가지 방법이 다나온다 명시적으로 내보내기, def로 내보내기, ......암튼 널려있다 해보니 전부 잘되던가? 아니 안되는게 태반이다 블로그에 올라온 글들이 사실 많은걸 감추고 있기 땜시 다 까발리면 밥줄 끊길까봐? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 진담이다. 난 하수라 밥줄 끊길일 없으니 자세히 써주시것다. 일단 비쥬얼 스튜디오 2010 기준이고 다른버전은 테스트 안해봤다. 그러니 하수인 것이다. 친절하게 스샷 노가다로 설명 하시것다. .. 2013. 3. 14.
C#에서의 Flag attribute를 사용하는 Enum 출처 - http://shibas.tistory.com/5 각 비트 마다 enum이 하나씩 들어가게끔 설정하여 bit array를 사용하듯이 enum을 사용할 수 있다. 예를 들어, 아래와 같이 enum을 설정한 경우 enum TestEnum { Red - 0001(1) Green - 0010(2) Blue - 0100(4) } 0101은 아래와 Red & Blue로 해석할 수 있으므로 아래처럼 처리할 수 있다. 0001 // Red & 0100 // Blue ------- 0101 // Red & Blue 즉 'val이 Red이거나 val이 Blue라면?' 즉, 'if(val == Red || val == Blue)'를 표현하고 싶을 때 아래와 같이 사용 가능하다. if( (val & Red == Te.. 2013. 1. 24.
안드로이드 개발환경 설정 - 2012년 12월 최신 버젼 기준 안드로이드 개발환경 설정 - 2012년 12월 최신 버젼 기준 2가지 과정을 거치면 안드로이드 개발 환경을 설정할 수 있습니다. 1. JDK 설치 2. ADT 포함된 안드로이드 개발툴 다운로드, 압축 해제 및 실행 [ 1단계 ] 1-1. 웹 브라우저를 실행시켜서 http://www.oracle.com/technetwork/java/javase/downloads/index.html 로 갑니다. 아래로 조금만 스크롤한 후 JDK [DOWNLOAD] 링크 클릭 1-2. 본인의 운영체제에 맞는 JDK 다운로드합니다. 아래 참고. windows x86 은 32비트 운영체제(예:XP, Win7 32비트) windows x64 는 64비트 운영체제(예:Win7 64비트) 1-3. 다운받은 jdk-7u10-window.. 2013. 1. 17.
dotnetfx_cleanup_tool (닷넷 제거 도구;.Net Framework 제거) 출처 - http://blog.naver.com/PostView.nhn?blogId=nannalky&logNo=140110749353 .Net Framework 의 설치, 업그레이드시, 또는 시스템 문제로 오류가 발생할 경우 기존 .Net Framework 을 제거하고 설치하는 방법입니다. 1) 제거툴을 이용하여 .NET Framework를 제거 (1) 제거툴을 다운로드 (2) 다운받은 압축파일 해제 (3) 압축 해제한 파일을 실행 (4) 선택박스에서 "NET Framework – All Versions"을 선택 (5) "Cleanup Now" 버튼을 클릭 (6) 안전모드로 재부팅 2) .NET Framework 관련 파일제거 (1) 관리자 계정으로 로그인 (2) C:\WINDOWS\Microsoft.N.. 2013. 1. 17.
비쥬얼스튜디오(vs) 현재 활성화된 소스의 파일을 추적하는 방법 도구 - 옵션 - 프로젝트및 솔루션 - 일반 - 솔루션탐색기에서 활성화된 항목 추적(c) 에 체크하면됨 2013. 1. 11.
Component.DesignMode Property 출처 - http://jakard.tistory.com/29 serControl을 상속받아서 어떤 컨트롤을 만들때, 때로는 Control이 Load되는 시점에서 DB로 부터 Control에 속한 ComboBox나 Grid를 초기화하는 코드들을 집어 넣어야 할 때가 있습니다. 그래서 OnLoad 함수를 오버로드하거나 이벤트 대리자 함수에서 위의 과정들을 구현하게 됩니다. 이제 UserControl이 만들어졌으니 마르고 닳도록 써먹어야지 하면서 Form위에도 올리고, 다른 UserControl에도 올립니다. 실행을 해보니 정상적으로 동작을 합니다. 하지만 해당 UserControl을 올린 Form의 Layout을 수정할 일이 생겨서 다시 Form의 디자이너 창을 띄웁니다. 그런데 이게 왠일? 이런 에러메세지.. 2012. 12. 10.
C++로 만든 DLL 을 C#에서 사용하기 출처 - http://dal2iya.tistory.com/136 이곳저곳에서 본 내용을 짜집기 해서 만든 내용입니다. 밑에 참고했던 내용들을 달아놨으니, 혹시 필요하시면 찾아가 보시기 바랍니다. 1. C++로 코드 작성하기 1) 코드 바로 작성하기 예제 #include extern "C" { __declspec(dllexport) void DisplayHelloFromDLL() { // 여기에 내용내용내용 printf ("Hello from DLL !\n"); } } 2) 선언과 정의를 따로 분리하실경우, 선언은 다음과 같이 extern "C" __declspec(dllimport) void Start_DebugView(); 2. C++ 프로젝트 Property Setting 먼저 , C++로 만든 프로.. 2012. 12. 5.
도움되는글들 메모리 --------------------------------------------------------------------------------- 가상 메모리의 기본 개념 닷넷 가비지 컬렉션 다시 보기 - Part I닷넷 가비지 컬렉션 다시 보기–Part II 닷넷 가비지 컬렉션 다시 보기 - Part III닷넷 가비지 컬렉션 다시 보기 - Part IV닷넷 가비지 컬렉션 다시 보기 - Part V닷넷 가비지 컬렉션 다시 보기 - Part VIFinalizer 사용 시 주의 사항들Dispose 패턴 (기초)Dispose 패턴 (고급) 문자열 ---------------------------------------------------------------------------------문자열 이야기.. 2012. 11. 30.
vsto2003(office2003) vsto2007(office2007) 버전에 상관없이 실행되는(Combine) add-in 프로젝트 만들기 vs2008버전에서 제작된 내용입니다.(.net framework3.5 사용) 여러문서를 찾아 봤지만 실제 해답을 찾을수가 없어서 고민끝에 2003과 2007버전을 두개 동시에 설치되게 만들면 어차피 본인버전에 맞는 add-in 만 실행되므로 그렇게 해보자고 해서 만든 내용입니다. 처음 설정부터 설치파일구성까지 전부 담고자 노력했습니다. 저같은 초보분들에게 도움이 됐으면 좋겠습니다^^ 이름이나 경로등에 영향을 받는 부분이 많으니 이름도 그대로 하시는게 좋습니다~ 시작전 vs의 상단의 메뉴중에 옵션창에 들어가서 프로젝트 업그레이드의 설치된 offfic 버전으로 항상 업그레이드에 체크를 빼준다. 새프로젝트로 일단 엑셀2003 추가기능을 만들어준다. 위와같이 프로젝트가 생성완료 되었다. 위와같이 네임스페이스를.. 2012. 11. 21.
안드로이드 세팅하기 (Eclipse + SDK ) 출처 - http://bubibuba.tistory.com/52 1. 이클립스다운로드 이클립스사이트에접속하여버전에맞는이클립스를다운받는다. (http://www.eclipse.org) 2. 이클립스에안드로이드ADT 설치하기. 다운받은이클립스를압축해제하고실행시킨다. 실행후Help -> Install New Software...를눌러아래와같은창을띄운후 주소창에( https://dl-ssl.google.com/android/eclipse/ )를입력후아래의항목들을 설치한다. 다음문구가뜨면설치가완료된것이다. 재부팅을한다. 3. 안드로이드SDK 설치하기. 설치후재실행을하게되면상단매뉴에아이콘을 눌러준다. 위와같은창이뜨면원하는버전의SDK를선택한후Install package를눌러준다. 위와같은창이뜨면모두동의를눌러주고Ins.. 2012. 10. 16.
암호화 이야기 #5 (대칭과 비대칭) [대칭적 암호화] - 설명 단일키를 사용해 메세지를 암호화하고 해독한다. 암호화된 데이터는 암호화하고 해독하는 두 부분 사이에 동일한 키가 공유되어 있다. 이 알고리즘은 블록안의 데이터를 동일한 블록 크기로 암호화하고 암호화된 데이터의 각블록은 이전의 암호화된 블록과 함께 체인 형태로 묶인다. 암호화된 데이터는 각 블록이 수비게 구별되도록 초기화 벡터라 불리는 키 값이 개인키와 함께 사용된다. - 종류 . DESCryptoServiceProvider (DES 암호화 알고리즘) . RC2CryptoServiceProvider (RC2 암호화 알고리즘) . RijndaelManaged (Rijndael 알고리즘) . TripleDESCryptoServiceProvider (Tiple DES 알고리즘) -> .. 2012. 9. 24.
반응형