Computer
Microsoft Public License (MS-PL)
Microsoft Public License (MS-PL)This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.1. Definitions The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any addi..
Computer/C#
[C#] serialPort, Delay
serialPort 리턴값 테스트 중 값을 보내고 아래 텍스트박스에 표시하는 중 바로 나타나지 않는 문제점이 있어서 딜레이가 필요했다. 대략 10ms 조금 부족하고 20ms 정도 딜레이를 주면 잘 되는것 같아 보였다. serialPort.Write 로 보내주고 딜레이! private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while(AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEven..
Computer/ETC
정보처리 - 데이터베이스
릴레이션개체타입(Entity Type): 속성들로만 기술된 개체의 정의개체 어커런스(Occurence): 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것. 튜플과 같은 의미임튜플(Tuple): - 릴레이션을 구성하는 각각의 행 - 속성의 모임으로 구성된다. - 파일 구조에서 레코드와 같은 의미 - 카디널리티 = 튜플의 수 = 가수 = 대응 수속성(Attribute, 애튜리뷰트) - 데이터베이스를 구성하는 가장 작은 논리적 단위 - 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다. - 개체의 특성을 기술한다. - 디그리 = 속성의 수 = 차수도메인(Domain) - 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합 - 실제 애트리뷰트 값이 나타날 때..
Computer/C, CPP, MFC
ReadFile()
간단정리 RedFile(파일핸들, 저장버퍼 포인터, 읽어오는 바이트수,출력용인수, 비동기아니면 NULL) ReadFile() 파일에서 데이터를 읽어옴. 동기, 비동기 모두 사용가능함. 원형 BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); - HANDLE hFile: 읽고자 하는 파일의 핸들. 이 파일은 GENERIC_READ 액세스 권한으로 열어야 합니다. - LPVOID lpBuffer: 읽어 올 데이터를 저장할 버퍼의 포인터 입니다. - DWORD nNumberOfBytesToRead: 실제 읽어오는 바이트 수를 지..
Computer/C, CPP, MFC
SetFilePointer()
간단정보SetFilePointer(대상 파일의 핸들, 옮길 위치, NULL, 시작위치)파일을 처음 열었을때, 포인터의 위치는 파일의 처음, IO 처리에 따라 파일포인터가 자동으로 이동. SetFilePointer()파일 포인터를 원하는 위치로 옮길때 사용.32비트와 64비트를 동시에 지원하기 위해 2번째 인수와 3번째 인수를 통해 각 4바이트씩 64비트, 오프셋을 전달할수 있다.SetFilePointerEx 를 사용하는것이 좋다. 원형DWORD SetFilePointer( HANDLE hFile, LONG IDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod); - HANDLE hFile: 파일포인터를 옮기고자 하는 대상 파일의 핸들. - LO..
Computer/C, CPP, MFC
프로그램 종료
프로그래밍을 하던중 어떻게 하면 안전하게 프로그램을 종료할까 생각해보았다.바로 구글링 메모릭 발생 때문에..문제들이 대부분 발생하는것으로 보여지더라.. 아하! 그렇구나, 라고 다시 한번 느낀 후... 쓰던대로 그냥 'ExitProcess' 이거 사용하였다. 끝! 메인 다이얼로그::OnInitDialog()에서 프로그램을 종료하고 싶다.OnClose나 기타 메소드가 먹지 않거나 먹어도 메모리 충돌 오류메시지가 나온다.exit(0);를 넣어줘도 되나 비정상적인 terminated라 메모리 누수가 발생한다. 방법은 다음과 같다. ::SendMessage(this->m_hWnd, WM_CLOSE, NULL, NULL);혹은 ::SendMessage(GetSafeHwnd(), WM_CLOSE, NULL, NULL..
Computer/C, CPP, MFC
하위폴더까지 전체 복사하기
BOOL ---------------::XCopy(char *Src, char *Dest, int my94) { HANDLE hSrch; WIN32_FIND_DATA wfd; BOOL bResult = TRUE; char fname[MAX_PATH]; char WildCard[MAX_PATH];// 원본 char HoneyCard[MAX_PATH];// 사본 char SrcFile[MAX_PATH]; char DestFile[MAX_PATH]; strcpy_s(WildCard, Src); strcat_s(WildCard, "\*.*"); strcpy_s(HoneyCard, Dest); // 폴더위치 if (my94 == 0) // 재귀 { } else if (my94 == 1) // EZ-Raschel ..
Computer/C, CPP, MFC
윈도우 버전 알아보기
int GetWindowsType(void) { /* return value : -1 : 버전얻기 실패 1 : Windows 95, 2 : Windows 98, 3 : Windows ME, 4 : Windows NT, 5 : Windows 2000, 6 : Windows XP, 7 : Windows 2003, 8 : Windows Vista, 2008 9 : Windows 7, 2008 R2 10: Windows 10, */ int nVersion = -1; OSVERSIONINFOEX osvi = { 0, }; BOOL version_ex_flag = 0; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); if (!(version_ex_flag = GetVer..
Computer/ETC
리틀엔디안(little endian)&빅엔디안(big endian)
리틀엔디안(little endian)과 빅엔디안(big endian) 알면서도 자주 헷갈리는,, 사실 개념을 정확하게 잡아두고 기억해 두지 않아서 그렇지만,, 자! 오늘 정리하면서 기억해 보자. 리틀엔디안은 least significant bit 빅엔디안은 most significant bit 1. 리틀엔디안 낮은주소에서 하위바이트부터 기록, 0x1234를 저장할때, 34, 12 의 순으로 저장됨. 2. 빅엔디안 낮은주소에서 상위바이트부터 기록, 0x1234를 저장할때, 12, 34 의 순으로 저장됨. 읽기는 빅엔디안이 쉽지만, 저장은 리틀엔디안이 좋다고... 하지만 도긴개긴 -_-a 여러번 왕복해서 보다보면 헷갈려~