본문 바로가기
반응형

개발469

[개발/delphi] 64bit 시스템 디렉토리 가져오기 [개발/delphi] 64bit 시스템 디렉토리 가져오기 // 64bit 시스템 디렉토리 가져오기 function GetSystemDir: string; var Buff: array[0..MAX_PATH] of Char; Len: Integer; begin Len := GetSystemWow64Directory(Buff, MAX_PATH); if Len > 0 then begin Result := Buff; if Buff[Len - 1] '\' then Result := Result + '\'; end else Result := ''; end; 2012. 1. 13.
[개발/웹] Post, Get 데이터 보내기 유의사항 [개발/웹] Post, Get 데이터 보내기 유의사항 POST, GET으로 데이터를 처리시에는 URL 인코딩을 해서 데이터를 넘겨야 하고 HTTP_RAW_POST_DATA로 데이터를 처리할 때는 URL 인코딩을 하면 안됨 2012. 1. 13.
[개발/C++] 작업표시줄 정보 및 작업영역 구하기 SHAppBarMessage 작업표시줄 정보 및 작업영역 구하기 SHAppBarMessage 함수 http://msdn.microsoft.com/en-us/library/bb762108(VS-85).aspx How to find the edge of a task bar http://support.microsoft.com/kb/179908/en-us MinitorFromRect 함수 http://msdn.microsoft..com/en-us/library/dd145063(VS.85).aspx GetMonitorInfo 함수 http://msdn.microsoft..com/en-us/library/dd144901(VS.85).aspx 1. 먼저 작업표시줄의 위치와 영역을 알아야. SHAppBarMessage.. 2012. 1. 13.
[개발/delphi] 키를 눌러 반복문 종료하기 [개발/delphi] 키를 눌러 반복문 종료하기 OnClick 이벤트에 글로벌 변수를 사용해서 처리할 수 있고 loop 안에서 키 상태값을 읽어서 처리할 수도 있다. var j : integer; begin for j:=0 to 9999999 do begin Label1.Caption := IntToStr(j) ; {.... loop main body here ...} Application.ProcessMessages; {ESC key stops the loop} if GetKeyState(VK_Escape) AND 128 = 128 then break; end; end; 2012. 1. 11.
[개발/delphi] 컨트롤 사이를 움직이는 방향키 [개발/delphi] 컨트롤 사이를 움직이는 방향키 Edit 컨트롤에서 UP, DOWN키는 사용되지 않는다. 필드 사이를 이동할 때도. KeyPreview 프로퍼티를 이용하여 OnKeyDown 이벤트에서 코드로 조작할 수 있다. ~~~~~~~~~~~~~~~~~~~~~~~~~ procedure TForm1.FormKeyDown( Sender : TObject; var Key: Word; Shift : TShiftState ) ; var Direction : Integer; begin Direction := -1; case Key of VK_DOWN, VK_RETURN : Direction := 0; {Next} VK_UP : Direction := 1; {Previous} end; if Direction .. 2012. 1. 11.
[개발/delphi] 전체화면 만들기 [개발/delphi] 전체화면 만들기 Main form의 BorderStyle를 bsNone으로 설정한다. SPI_GETWORKAREA 값을 얻기 위해 SystemParametersInfo 메세지를 윈도우즈 실제 크기로 설정하기 위하여 SetBounds를 사용한다. procedure TSomeForm.FormShow(Sender: TObject) ; var r : TRect; begin Borderstyle := bsNone; SystemParametersInfo (SPI_GETWORKAREA, 0, @r,0) ; SetBounds (r.Left, r.Top, r.Right-r.Left, r.Bottom-r.Top) ; end; 2012. 1. 11.
[개발/MFC] 스트링 형변환 [개발/MFC] 스트링 형변환 문자관련 함수 MBCS(multi-byte character set) : ASCII 코드 문자열을 쓰는 함수 WCS(wide character string) : 유니코드 문자열을 쓰는 함수 함수 제일 뒤에 ASCII를 나타내는 A와 Wide Character를 나타내는 W를 붙여서 구분함. 예) GetCurrentDirectoryA ... 예외) cout, wcout LPCTSTR(Long Pointer Constant TCHAR String) 여기서 TCHAR 라는 것은 typedef 유니코드가 설정되어 있으면 2바이트로(wchar_t) 아니면 기존 char 방식인 1바이트로(char) 한다는 것을 의미. LPSTR : 8비트 윈도우 캐릭터 스트링(string) 포인터 문.. 2012. 1. 7.
[개발/delphi] 파일크기/디스크할당크기 구하는 여러가지 방법 [개발/delphi] 파일크기/디스크할당크기 구하는 여러가지 방법 procedure TForm1.FileListBox1Click(Sender: TObject); var _DirFileName:String; FileInfo:integer; SizeLow, SizeHigh:Dword; FSectorsPerCluster, FBytesPerSector, FNumberOfFreeClusters, FTotalNumberOfClusters:DWord; FH : THandle; FI : TByHandleFileInformation; begin _DirFileName := FileListBox1.FileName; FileInfo := FileOpen(ExTractfilename(_DirFileName), fmOpenRe.. 2012. 1. 7.
[개발/MFC] error LNK2005: --- .obj에 이미 정의되어 있습니다. 오류 CRT(C 런타임) 라이브러리와 MFC(Microsoft Foundation Class) 라이브러리가 잘못된 순서로 링크되면 다음과 비슷한 LNK2005 오류가 발생할 수 있습니다. nafxcwd.lib(afxmem.obj) : 오류 LNK2005: "void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z)이(가) LIBCMTD.lib(new.obj)에 이미 정의되어 있습니다. nafxcwd.lib(afxmem.obj) : 오류 LNK2005: "void __cdecl operator delete(void *)"(??3@YAXPAX@Z)이(가) LIBCMTD.lib(dbgnew.obj)에 이미 정의되어 있습니다. nafxcwd.lib(afxmem.obj) : .. 2012. 1. 5.
반응형