본문 바로가기

전체 글326

[C++] CString 에서 형변환 함수들 총정리 1. char 형변환 atoi() : char(문자나 문자열) -> int (부호있는 2바이트 정수) atol() : char -> long (부호있는 4바이트 정수) atof() : char - > double(4바이트 실수) itoa() : int -> char 등등... (ex) itoa(바꿀숫자, char형으로 바꿔서 넣을변수, 10진수); itoa(int, char[], 10); 2. int CString , double CString // CString -> int convert CString strNum = _T("5"); int nNum = _ttoi(strNum); // int -> CString convert int nNum = 5; CString strNum; strNum.Format.. 2020. 12. 1.
[C#] 내문서 경로 가져오기 path에 내문서 경로 가져오기. string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 출처: https://itmin.tistory.com/159 [jj.mandu blog] 2020. 11. 30.
[C#] 폴더 유무체크 / 폴더 만들기 (생성하기) 아래는 C#으로 폴더를 생성하는 방법입니다. string folderPath = "D:/createFolder"; DirectoryInfo di = new DirectoryInfo(folderPath); // 만약 폴더가 존재하지 않으면 if(di.Exists == false) { di.Create(); } 위의 간단한 소스로 폴더를 생성하실 수 있습니다. 변수 folderPath에 생성할 폴더의 경로를 string으로 넣어주신 후에 DirectoryInfo를 활용하여 폴더의 유무를 체크한 후 폴더를 생성하는 소스입니다. 감사합니다. 2020. 11. 30.
[C#] Marshal.Copy()란 무엇인가? Marshal.Copy()에 대해 조사해봤습니다. https://msdn.microsoft.com/ko-kr/library/ms146631(v=vs.110).aspx에 설명이 있습니다. Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array. 관리되지 않는?(unmanaged) 메모리를 가리키는 포인터의 데이터를 관리가 되는?(managaed) 8비트 unsigned integer 배열로 복사하는 함수라고 합니다. unmanaged 메모리, managed 메모리가 무엇인지 찾아봤습니다. https://stackoverflow.com/questions/1345377/unmanaged-memory-and-ma.. 2020. 11. 27.
[c#] 경과 시간을 표시할 때 String saveTempString = string.empty; DateTime tempDateTime = DateTime.Now; // 시작하는 위치 ... 처리 로직 TimeSpan diff = DateTime.Now - tempDateTime; saveTempString = string.Format("{0:hh\\:mm\\:ss}", diff); 또는 saveTempString = string.Format("{0:00}:{1:00}:{2:00}", diff.Hours, diff.Minutes, diff.Seconds); Console.WriteLine(saveTempString); 출처: https://kwange.tistory.com/86 [KSK의 IT 블로그] 2020. 11. 24.
[c#] String.Format && string 자릿수 맞추기[출처] |작성자 String Format for Int [C#] Integer numbers can be formatted in .NET in many ways. You can use static method String.Format or instance method int.ToString. Following examples shows how to align numbers (with spaces or zeroes), how to format negative numbers or how to do custom formatting like phone numbers. Add zeroes before number To add zeroes before a number, use colon separator „:“and write a.. 2020. 11. 24.
(c#) WinForm 창 크기 조절하기 [C#/WinForm] 윈도우 폼 크기 조절하기 윈도우 창 크기 조절하기 속성 - AutoSize false 크기 조절 불가 true 크기 조절 가능 - AutoSizeMode GrowOnly 수동으로 조절가능, 설정된 크기보다 작게 조절은 불가능 GrowAndShrink 폼 비율 유지, 수동으로 조절 불가능 - FormBorderStyle None 폼 외곽 없음, 크기 변경 불가 FixedSingle 폼 외곽 단순 선, 크기 변경 불가 Fixed3D 폼 외곽 3D선, 크기 변경 불가 FixedDialog 폼 외곽 두꺼운 선, 크기 변경 불가 Sizable 크기 변경 가능 (폼 외곽은 fixedsingle과 같음) FixedToolWindow 도구창, 크기 변경 불가능 SizableToolWindow 도.. 2020. 11. 20.
(c#) 폼의 크기가 변할때, 컨트롤의 사이즈및 위치 폼의 사이즈가 변할때 컨트롤의 사이즈나 위치를 변하게 하고자할때.. 속성화면에서 Anchor를 수정했는데.. 생각처럼 잘 따라주지 않는다. 그래서 폼생성시 소스로 지정해주면 잘된다. public frmMain() { InitializeComponent(); //폼의 크기 this.Width = 1040; this.Height = 620; //폼의 사이즈변경시 컨트롤크기 및 위치 변경 this.groupBox1.Anchor = (AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right); this.pbLeftGraph.Anchor = (AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right); this.btnRi.. 2020. 11. 20.
[C#] WinForm 스레드(Thread)에서 컨트롤(Control) 호출 크로스 스레드 에러 스레드에서 직접 컨트롤을 접근하게 되면 크로스 스레드 에러가 발생합니다. 스레드에서 컨트롤을 접근하는 것은 컨트롤을 일관되지 않은 상태로 만들 수 있고, 심각한 오류나 프로그램 중단을 초래할 수 있습니다. 따라서 스레드에서 직접 컨트롤을 접근하는 것은 안전하지 않은 호출 방법입니다. 다음은 크로스 스레드 에러를 발생시키는 예제 코드입니다. private void Button1_Click(object sender, EventArgs e) { thread = new Thread(SetName); thread.Start(); } private void SetName() { txtName.Text = "SSABI"; // 크로스 스레드 에러 발생! } 크로스 스레드 에러를 해결하게 위해서는 .. 2020. 11. 20.
[C#] #region / #endregion 접기/펼치기 개요(region) 모두접기 = CTRL + M + O 개요(region) 모두펼치기 = CTRL + M + P 개요(region) 커서부분만 펼치치 = CTTRL + M + M 비주얼 스튜디오 2010에는 #region/#endregion구역이 위의 단축키에 모두 접혔지만 비주얼 스튜디오 2017은 접히지 않고 그냥 코드 블록만 접힌다. 이럴땐 역시 스택오버플로우 https://stackoverflow.com/questions/42843090/visual-studio-2017-collapsing-regions 한국어버전 : 도구 -> 옵션 -> 텍스트편집기 -> C# -> 고급 -> 개요 -> 정의로 축소할 때 #regions 축소 를 체크하면 이제 #region/#endregion도 같이 접힌다 2020. 11. 6.