본문 바로가기

Programming64

go lang 함수 package main import "fmt" func add(x int, y int) int { return x + y } func main() { fmt.Println(add(42, 13)) } 함수는 c++과 비슷하게 동작한다 하지만 반환형식을 대괄호 앞에 쓰는 것은 특이하게 느껴진다. 이부분을 잘 확인하고 진행해야 할 것 같다. 문법과 관련된 내용은 Go's declaration syntax 을 참고하면 된다고 한다! 2019. 12. 17.
Export 에 대해 위 내용에서는 외부참조를 위해서는 첫 문자를 대문자로 작성해야 한다는 내용이다. 아래코드는 외부에서 참조할 수 없는 math.pi이다. p가 대문자가 아니기 때문에 import한 구문에 math가 포함이 되지 않는다. package main import ( "fmt" ) func main2() { fmt.Println(math.pi) } 아래 코드는 math.Pi이다 정상적으로 외부에서 접근을 할 수 있기 상태이기 때문에 math를 추가할 수 있다. package main import ( "fmt" "math" ) func main2() { fmt.Println(math.Pi) } 확인!! 외부접근을 위해서는 첫글자는 대문자로! 이상 2019. 12. 12.
패키지(package) 위 설명과 같이 하나의 패키지명을 작성해준다. 테스트를 하기 위해 다음과 같이 작성하였다(A Tour of go 사이트 참조) package main import ( "fmt" "math" ) func main() { fmt.Println("Happy", math.Pi, "Day") } 결과 패키지 이름은 filepath.go라고 작성하였다. 여기서 보면 import에서 math를 추가하여 math.Pi의 값을 출력하였다. 출력할때 기존의 c언어처럼 %d라고 쓰지 않아도 출력되는 것을 볼 수 있다. go 언어가 배우기 쉽다고 그러던데 이런 면에서 크게 실수 할 일이 없을거 같다고 생각이 든다. import한 fmt나 math에 어떤것이 포함되어 있는지 확인해 봐야 할 것 같다. 참고할 수 있는 사이트는 .. 2019. 12. 11.
GoLang For문 일단 기본적인 반복문... 반복문만 알아도 별을 그릴수 있다는.. 고랭에서 신기한게 반복문은 for만 있다는 사실 //for 문: 반복문 package main func main() { for i := 0; i < 3; i++ { println("안녕하세요.") } } 괄호가 없는게 특징이고 초기화 할때 : 을 써주는것도 있음...실수할 거 같은 예상이 드는 문법이다. 난이도 : 하 2019. 12. 9.
Atom Editor 2 폴더 및 파일관리 방법 폴더를 관리하는건 프로젝트 관리로 보면됨 file의 add project folder 를 아래와 같이 선택하면 아래와 같이 하위 폴더들이 모두 포함됨 여기에서 여러개의 폴더를 더 추가하게되면 같이 관리 할 수 있음 비쥬얼스튜디오에서도 여러개의 프로젝트를 포함해서 사용 할 수 있음 view->toggle tree view를 누르면 프로젝트 창이 사라짐(ctrl+k)단축키 에디터에서는 단축키를 외워두면 편하게 사용할 수 있음 여러개의 분할 윈도우가 가능함(거의 대부분 편집기에서 가능) 찾기 Find in buffer 열러있는 파일 즉 메모리에 올라와있는 내용에서 검색, 이 부분도 다른 에디터랑 비슷함 F3을 누르면 다음으로 넘기기 shift+f3은 뒤로찾기 단축키 사용 생활화! Fin.. 2019. 12. 9.
Atom Editor 1 Atom Editor 정리 Github에서 만든 에디터 웹 기반으로 제작된 에디터(Html,css javascript) 대부분의 OS에서 동작 플러그인이 다양함 아톰의 코어는 작으나 패키지들이 많이 구성되어 에디터를 완성한다 다운로드 링크 : https://atom.io A hackable text editor for the 21st Century At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it. a.. 2019. 12. 9.
MFC를 이용한 카카오톡에 글쓰기 CWnd* hd01 = FindWindow(NULL, _T("test")); ::ShowWindow(hd01->GetSafeHwnd(), SW_SHOWNORMAL); CWnd* hd02, * hd03, * hd04, * hd05; hd02 = FindWindowEx(hd01->GetSafeHwnd(), NULL, _T("RichEdit20W"), NULL); hd03 = FindWindowEx((HWND)hd01, NULL, _T("EVA_VH_ListControl"), NULL); Sleep(150); if (hd01 != NULL) { CString str = sMessage; str.Format("%s", sMessage); LPWSTR lpszW = new WCHAR[255]; LPTSTR lpS.. 2019. 7. 29.
[퍼옴] MFC 언어추가방법 mfc 프로젝트에서 다양한 언어를 지원해야할 경우에 사용하는 방법입니다. dll로 분리하여 관리하면 한 프로젝트에서 리소스를 관리하는것 보다 조금 더 정리된 상태에서 관리가 가능합니다.그리고 개발자가 직접 코드를 수정하지 않고 외부 인력이 번역하여 수정할 수 있기 때문에 개발자가 조금 더 편할수 있습니다.ㅎㅎ 이 예제는 vs2012에서 작성하였습니다. 1. dll 프로젝트를 생성합니다.저는 아래와 같이 MFC DLL을 선택하였습니다. 쭉쭉 진행~ 2. 원본 프로젝트의 resource.h, *.rc, res폴더를 새로 만든 프로젝트에 복사합니다. 3. 파일을 복사한 후 새로만든 프로젝트의 *.rc파일을 삭제하고 덮어 씌운 원래 프로젝트의 *.rc파일을 새로만들어진 프로젝트의 *.rc파일로 변경합니다.이렇게.. 2014. 11. 26.
[펌]SetDlgCtrlID 당연히 생략해도 뷰는 전환이 잘될꼽니당... 해당 문장은 뷰의 전환과는 직접적으로 연관되는 부분이 아니니까엽.... 하지만여... 가만히 생각해 보자구여... 예를들어 2개의 뷰가 있는 푸로구람이 이따구 하자구엽... 막무가내루 첫번째뷰와 두번째 뷰를 뛰워버렸습니당. 자! 이제 첫번째 뷰에 머찐 구림을 구려볼까엽? 구림을 첫번째 뷰에 그리려면 어떻게 해야 하겠습니까? 물론 첫번째 뷰의 포인터를 먼저 얻어야 하는게 순서겠져? 구래야 해당 뷰에 작업을 할 수 있을테니까엽... 구래서 첫번째 뷰의 포인터를 얻었습니다... GetDlgItem....어쩌구 저쩌구로욥... 자 모찌게 그림을 그렸네엽... 구러면 이제 두번때 뷰에 새로운 구림을 구려볼까엽? 우선 뷰를 스위치 하구 그 담엔 뭘 해야 할까엽? 두번째 .. 2013. 10. 24.
구조체 소팅 목표구조체를 내림차순으로 sorting 방법구조체를 만들고 이를 vector형태로 만들고 string과 int 값을 부여한다. int값을 기준으로 내림차순으로 sotring하고 출력한다. 예제 코드#include #include #include #include using namespace std;typedef struct sorting { string id; int count; } t_sorting; bool compare(t_sorting i,t_sorting j) { return (i.count > j.count); }int main () { vector str; sorting k; k.id = "hello"; k.count = 3; str.push_back(k); k.id = "world"; k.c.. 2013. 8. 7.
CString 문자열 자르기 CString SC30Token, SC50Token;int pos = 0;int count= 0; while((SC30Token = dlg.m_SC2.m_SC30_Total.Tokenize("\n",pos)) != ""){dlg.m_SC2.TempSc30[count++] = SC30Token;}sc30에 내용이 저장된다. Tokenize에 자르려는 내용 넣는다.또는if(m_SC30LCindex != 0){int count = 0;CString strA, strB, strC, strD,strE; while(count < m_SC30LCindex){AfxExtractSubString(strA, TempSc30[count], 0, '@'); // strA == "192"AfxExtractSubString(st.. 2013. 7. 19.
split replace c++ 출처 : http://blog.daum.net/lifemap/5474796 void trimleft(std::string& str, const char* ch) { str.erase(0, str.find_first_not_of(ch)); } void trimright(std::string& str, const char* ch) { str.erase(str.find_last_not_of(ch) + 1); } std::vector split(std::string& str, std::string separators ) { size_t n = str.length(); size_t start, stop; std::vector result; start = str.find_first_not_of(separators).. 2013. 7. 2.
c++글자 변경 string void ReplaceString( std::string & strCallId, const char * pszBefore, const char * pszAfter ){size_t iPos = strCallId.find( pszBefore );size_t iBeforeLen = strlen( pszBefore );while( iPos < std::string::npos ){strCallId.replace( iPos, iBeforeLen, pszAfter );iPos = strCallId.find( pszBefore, iPos );} 함수 추가 ReplaceString(t_value1," ","\n"); ( 문자열, 찾는 글자, 바꿀 글자);끝! 2013. 6. 28.
QT 파일 다이얼로그 오픈 QFileDialog dialog(this); QStringList fileNames;QString temp; if (dialog.exec()) fileNames = dialog.selectedFiles(); //char *tempSrc = fileNames[0];//QString qname = QString::fromLocal8Bit(tempSrc);QFile file(fileNames[0]);if (!file.open(QIODevice::ReadOnly | QIODevice::Text))return ; QTextStream read(&file); QString str =read.readAll();//in.setVersion(QDataStream::Qt_4_4);//in >> str; TB_materi.. 2013. 6. 21.
C++ — Convert int to string C++ — Convert int to stringBy Rares VernicaIn order to convert an int (or any other numeric type, e.g., float,double, etc.) to string, you can use:#include int i = 5; std::string s; std::stringstream out; out 2013. 5. 24.
형변환 Convert std::string to QString 아....내가 QT를 하게 될줄은 몰랐다... ㅋㅋㅋ뭐 하면되징 Convert std::string to QStringQString str = QString::fromUtf8(objectName.c_str()); 이렇게 하면됩니다!!!!char로 바꾸고 뭐 이딴거 할 필요없다구요삽질좀 그만시키세요 2013. 5. 16.
FreeCad compile 방법 Window Free Cad Compile on Windows OS : Window7 Tool : visual Studio 2008 필요한 파일 1. http://sourceforge.net/projects/free-cad/files/ 에서 FreeCad LibPack 과 FreeCad Source 가 필요하다. 2. http://www.cmake.org/cmake/resources/software.html 에서 Binary distributions 의 윈도우용 인스톨 파일을 준비한다. Step1. 총 3개의 파일이 준비되면 설치할 준비가 되었다. 1번에서 받은 FreeCad LibPack 과 FreeCad Source를 압축을 c:에 바로 풀어 놓는다. (경로를 쉽게 해주기 위해서) 환경변수를 바꾸어 주어야 하는데.. 2013. 5. 6.
[펌] doxgen 주석 방법 Doxygen 주석 사용법에 간단히 정리해봅니다. 자세한 사용법은 Doxygen Maual http://www.stack.nl/~dimitri/doxygen/manual.html 을 참고하시기 바랍니다. Doxygen의 주석 명시 방법은 일반적 주석 명시 방법과 비슷합니다.아래설명 하는 주석 명시방법은 C언어 기준으로 설명합니다. 일반 주석 명시는 아시다시피/* ... 주석 내용 ...*/와 같이 합니다. Doxygen 에서는/** ... 주석 내용 ...*/와 같이 명시합니다. C++ 문법에서는// ... 주석 내용 ...을 사용 하며, Doxygen 에서는/// ... 주석 내용 ...와 같이 사용합니다. 저의 경우 /** ... */ 이것보다는 /// ... 이 주석 방법을 주로 사용합니다. 소스 .. 2013. 4. 22.
NTGraph에 대해서 현재 프로젝트를 진행하며 간단한 그래프 출력이 있어서 NTGraph를 사용한다.사이트: http://www.codeproject.com/Articles/3214/2D-Graph-ActiveX-Control에 가면 라이브러리와 간단한 데모를 얻을 수 있다.NTGraph는 기능이 간단하고 화면에 보여주기도 편리하다. 나의 경우에는 이렇게 한 화면에 2개를 보여주게 하였다. 더 많이 보여줄 수 도 있다.자세하게 적고싶으나 위에 사이트에 가면 자세하게 적혀 있음으로 궁굼한점이 있으시면 글을 남겨주시기 바랍니다^^MFC사용자들 반갑습니다. 서로 정보나누어요! 2013. 4. 11.
SDI/MDI 관련 포인터 및 뷰생성 I. SDI의 각 클래스 포인터 얻기애플리케이션 클래스 포인터 CTestApp *pApp = (CTestApp *)AfxGetApp();메인 프레임 클래스 포인터 CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();도큐먼트 클래스 포인터 CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd(); CTestDoc *pDoc = (CTestDoc *)pFrame->GetActiveDocument();뷰 클래스 포인터 CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd(); CTestView *pView = (CTestView *)pFrame->GetActiveView(); II. SDI 템플릿 등록B.. 2013. 4. 8.