2008/03/27

Bcc32Pch C++Builder IDE Plugin Version 2.78

2.77 의 정식 릴리즈 후 얼마되지 않아 새 버전을 발표 했네요.

기존에 버그가 좀 있었던걸로 보입니다.

이번 버전에 변경된 사항은 아래와 같습니다.

    * Added: Workaround for a brcc32.exe bug
    * Fixed: ilink32 was called without the package lib files

이 Plugin 덕분에 Turbo C++ 의 사용이 더욱 빨라졌습니다.

Bcc32Pch Homepage

Bcc32Pch Download
Original Post :
http://neodreamer-dev.tistory.com/87

2008/03/22

가벼운 MP3 플레이어 AIMP2!!

웹서핑 중 새로운 MP3 플레이어를 찾았다.

첫 느낌은 예전 Wimamp 2.xx 대의 클래식 버전 느낌 정도?

일다 가볍고 일반적은 음악 파일을 지원한다.

윈엠프와 간단하게 비교해 보니 메모리 점유량은 비슷하지만 CPU 사용량에서는 AIMP2가 나아보였다.

음악파일이 많이 없고 해서 많은 테스트를 해보지는 못했지만 괜찮아 보이는 프로그램인것 같다.

인터페이스도 좋고 한국어도 지원한다.

AIMP2 메인 UI

AIMP2 Main UI


AIMP2 Option Dialog

AIMP2 Option Dialog



AIMP2 홈페이지 : http://www.aimp.ru/
Original Post :
http://neodreamer-dev.tistory.com/86

2008/03/13

암호 걸린 Access(.MDB) 파일의 암호 확인하기

종종 암호가 걸린 Access 파일을 봐야하는 경우가 있어 구해 놓은 프로그램이다.

Access 2003 까지는 되는걸 확인했는데 최신 Access 2007 의 암호도 확일할 수 있는지 모르겠다.

프로그램을 실행시키고 "Get Password" 버튼을 눌러 Access 파일을 선택하면 암호가 걸려 있는경우 프로그램 창에 암호가 출력된다.

사용자 삽입 이미지




Original Post : http://neodreamer-dev.tistory.com/85

2008/03/12

Firefox 3 베타 4 버전 공개!!

사용자 삽입 이미지

3월 10일자로 beta 4 버전이 공개 되었다.



성능 개선과 새로운 다운로드 매니져와 Zooming 시스템을 갖춰 사용자 편의성이 증대되었다 하는데 한번 사용해 봐야겠다.





Release site


Download site


Original Post : http://neodreamer-dev.tistory.com/84

2008/03/11

Turbo C++ 동적 MDB (Access Database) 생성하기

// For Create MDB
#include <odbcinst.h>
#pragma link "Odbccp32.lib"



strMainDBPath = "CREATE_DB=\"" + strMainDBPath + "\" General\0";

bool bCreated;
bCreated = SQLConfigDataSource(
NULL,
ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)",
strMainDBPath.c_str() );

if (bCreated == true)
{
ShowMessage("Created!!");
}
else
{
ShowMessage("Fail to create database");
}

Original Post : http://neodreamer-dev.tistory.com/83

2008/03/10

Turbo C++ Explorer 에서 GDIPlus 사용하기

Turbo C++  Explorer 에서 GDIPlus 사용하기

TC++ 에서 GDIPlus 를 사용하려면 우선 GDIPlus.dll 에서 C++ Builder 용으로 library 파일을 만들어야 한다.

그 방법은 도스 명령창에서 다음 명령을 수행하면 C++ Builder 용 library 파일이 생성된다.

implib -c -f gdiplus.lib gdiplus.dll

다음으로 프로젝트에 library 파일을 링크시켜준다.(소스 위치 어느 곳이든 상관 없이 다음을 입력 한다.)

#pragma comment(lib, "gidplus.lib")



그리고 GDIPlus사용에 필요한 헤더 파일을 include 시킨다.

#include <windows.h>
#include <algorithm>
#include <gdiplus.h>



마지막 준비로 #define STRICT 를 선언해 준다. vcl.h 이전에 포함시켜주면 되는데 더 편하게 프로젝트 옵션에 Conditional defines 에 입력하면 된다.

이제 준비를 다 마쳤고 GDIPlus를 사용하면된다.

우선 헤더파일에 다음 변수를 선언한다.

    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;



그리고 나서 Form 을 생성시에 아래와 같이 초기화를 해주고

    // Initialize GDI+.
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);



마지막으로 폼 종료전에 GDIPlus 를 shutdown 시켜준다.

    //Shutdown GDI+
Gdiplus::GdiplusShutdown(gdiplusToken);



이제 OnPaint 부분에 맘껏 사용하면 된다.

    Gdiplus::Graphics g(Canvas->Handle);

Gdiplus::Pen pen(Gdiplus::Color(255, 0, 0), 2);
g.DrawLine( &pen, 10.5f, 10.3f, 120.3f, 192.2f);



아래 소스는 GDIPlus 를 좀더 편하게 쓰고자 작성한 아주 간단한 Wrapper 클래스 이다.
현재는 GDIPlus 시작과 종료만을 구현 했으나 추후 기능을 더 보강해 사용할  수 있다.

// Header file
#ifndef uGdiplusH
#define uGdiplusH
//-----------------------------------------------------------------
#pragma comment(lib, "gdiplus.lib")

#define STRICT
#include <windows.h>
#include <algorithm>
#include <gdiplus.h>

class TGDIPlus
{
public:
__fastcall TGDIPlus();
virtual __fastcall ~TGDIPlus();

private:
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
};
#endif


// Source file
//-----------------------------------------------------------------
#pragma hdrstop

#include "uGdiplus.h"

//-----------------------------------------------------------------

#pragma package(smart_init)

__fastcall TGDIPlus::TGDIPlus()
{
// Initialize GDI+.
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
}

__fastcall TGDIPlus::~TGDIPlus()
{
//Shutdown GDI+
Gdiplus::GdiplusShutdown(gdiplusToken);
}


// Using Example
// 선언
#include "uGdiplus.h"

TGDIPlus* m_pGdiplus;

// 생성
m_pGdiplus = new TGDIPlus();

// 해제
delete m_pGdiplus;



Vista의 GdiPlus.dll 과 Builder 용 lib 파일

윈도우 Vista 에 포함되어있는 gdiplus.dll 과 C++ Builder 용 gdiplus.lib 파일.

2008/03/08

Flex Builder 3 학생 무료 라이센스 제공

사용자 삽입 이미지
Adobe 사에서 이번에 출시된 Flex Builder 3를 학생과 교육기관에 무료로 라이센스를 발급해준다 한다.

Adebe Develop Center 에서 라이센스를 발급해 주는데 아래 링크를 통해 직접 등록 할 수 있다.

Flex Registration for Education

등록시 학생이나 교유기관에 소속되어 있다는 증명할 수 있는 아이디 카드의 스캔 이미지를 등록하여야 한다.

학생에 대한 무료 라이센스 발급은 개발툴 사용자 층을 두껍게 만들기 위한 장기적은 전략이라 생각된다. 앞으로 사용하게 될 학생들에게 배포하여 잠재적인 개발자를 늘리는 일종의 투자인 것이다

Original Post : http://neodreamer-dev.tistory.com/80

2008/03/06

System 색상 이용하기

HTTP Erro

Original Post : http://neodreamer-dev.tistory.com/79

다이얼로그 위에 투명 이미지 그리기

이 함수를 사용함에 있어 주의해야할 점이 있다. 소스 이미지의 크기를 넘겨주는 nWidthSrc, nHeightSrc 는 소스이미지의 크기와 같거나 작아야 하며 그렇지 않을 경우에는 출력되지 않는다.

BOOL TransparentBlt(
HDC hdcDest,
int nXOriginDest,
int nYOriginDest,
int nWidthDest,
int hHeightDest,
HDC hdcSrc,
int nXOriginSrc,
int nYOriginSrc,
int nWidthSrc,
int nHeightSrc,
UINT crTransparent
);





MSDN 함수 설명 보기





Source

void CMyDialog::OnPaint()
{
CPaintDC dc(this); // device context for painting

CDC MemDC;
MemDC.CreateCompatibleDC( &dc );

CBitmap Bmp;
BITMAP bmp;
//Bmp.LoadImage( IDB_BATMAP1 );
Bmp.LoadBitmap( IDB_BATMAP1 ); // 2009/03/26
Bmp.GetBitmap( &bmp );

//MemDC.SelectObject( &bmp );
MemDC.SelectObject( &Bmp ); // 2009/03/26

dc.TransparentBlt( 0, 0, bmp.bmWidth, bmp.bmHeight,
&MemDC, 0, 0, bmp.bmWidth, bmp.bmHeight, RGB(255, 255, 255));

MemDC.DeleteDC();
}



2009/03/26 추가

위의 코드 중 잘못된 부분이 있어 수정 함.

CBitmap 에서 Bitmap 리소스를 불러들일때 LoadBitmap 함수를 사용해야 하며

메모리 DC에 bitmap 을 할당할때 BITMAP 을 할당하면 안되고 CBitmap 을 할당 해야 함.


2008/03/04

Turbo C++ Explorer 에 날개를 달자!

사용자 삽입 이미지
   CodeGear(from Borland) 에서 RAD Studio
2007 을 발표하기 전에 Turbo 시리즈를 발표하였다. Turbo 시리즈는 예전 볼랜드의 명작인 Turbo C++을 연상케
하는데 이 버전은 Developer Studio 2006 버전을 기반으로 하여 각각의 언어(Delphi Win32, Delphi
.NET, C++ Builder, C#) 별로 패키징하여 공개하였다. 요근래에 자료를 찾아보니 Turbo C#은 Turbo Delphi .NET 을
대체된것으로 보이며 CodeGear 측에서는 더 이상 제공하지 않고 있다. 하지만 여러곳에 미러링되어 있기때문에 구하기 어렵지 않다.

   Turbo
시리즈는 Explorer 버전과 Pro 버전으로 나뉘는데 두 버전의 차이는 상용컴포넌트를 설치할 수 있느냐 없느냐의 차이만 있고
기본적인 사양은 동일하다.

   Turbo 시리즈는 각각의 제품을 동시에 하나의 PC에 설치할 수 없다. TurboMerge 라는
프로그램을 사용하면 가능한데 처음 머지를 했을때는 문제 없이 되었는데 요즘에 다시 해보니 잘 되지 않았다. 내 PC에 문제가
있어그런건지 캐보지는 않아서 확실한건 아니다. 내가 주로 사용하는 툴이 C++ 이다 보니 Delphi는 사용할 기회가 없어 설치하지 않았다.

   이 글은 여러 패키지중에 Turbo C++ Explorer을 활용하는 방법에 대하여 다룰 것이다.

   Turbo
C++ Explorer 는 C++ Builder 2006을 전신으로하는 제품으로 기존의 제폼에 비해 완성도가 많이 좋아졌다.
하지만 이 버전의 단점을 보면 우선 C++ Builder 2006 버전도 그렇지만 컴파일 시간이 오래 걸린다른 단점이 있고 코딩에 있어서 IDE의 지원이 조금 미비하다는 것이다. 미비하다는 건 Visual C++ 의 자체 Intellisense
보다 못하다는 것이 아니고 Visual C++ 의 상용 플러그 인인 Visual Assist 의 기능에 비해 다소 미비하다는
의미이다.

이제 Turbo C++ Explorer 이 갖고 있는 단점을 날려버릴 날개를 달아보자.
사용자 삽입 이미지

Turbo C++을 Tweak 해보자
   DelphiDistiller는 Borland 나 CodeGear 제품에 대한 Tweak을 해주는 프로그램으로 프로그램을 실행하면 설치된 제품을 찾아 Tweak 탭이 자동 활성화 된다.
사용자 삽입 이미지

   이 툴을 이용하면 불필요하게 생기는 백업 파일과 히스토리 파일의 생성을 막을 수 있다.
   그리고 중요한 한가지 더 Tweak 탭에서 Ctrl + Alt + L 을 누르면 탭 내용 마지막에 한가지 선택박스가 활성화 되는데 이를 꼭 체크하고 OK 를 누른다.

Show hint..



코딩을 도와줄 GExperts 를 설치한다.
   GExperts 는 IDE의 기능을 확장해 주는 프로그램으로 Form 디자이너에 다양한 기능을 지원하며 코딩에 있어서도 많은 도움이 된다.
아래 이미지는 GExperts 에서 지원하는 기능들이다.
사용자 삽입 이미지




IDE 속도를 높여보자

   DelphiSpeedUp IDE 플러그 인을 설치하면 자주 사용하는 RTL 함수들을 Fastcode 함수로 최적화하여 IDE 의 속도를 높여준다.
   이 프로그램을 설치하면 프로그램 시작시 나오는 스플래시 화면 우측 상단에 DelphiSpeedUp 플러그인이 로딩되는 프로그래스 바가 출력된다.



Turbo C++ 의 컴파일 속도를 높여보자

   C++ 을 사용하다가 Delphi를 사용하는 사람들이 감탄하는 것 중하나가 컴파일 시간이다. 델파이는 큰프로젝트도 단숨에
컴파일하여 실행 파일을 생성한다. 이런 컴파일 속도는 언어의 구조적 차이 때문에 발행한다고 한다. 델파이는 .pas 파일 하나로
정의와 선언이 다 되는 반면 C 나 C++ 은 헤더 파일과 소스파일이 구분되어 이를 해석하는 시간이 더 소요된다 한다.
   델파이와는 비교 대상이 되지 않지만 Visual C++ 과 비교를 해보면 Turbo C++ 가 많이 느린 것을 체감 할 수 있다. Visual C++ 은
Precompiled Header File 을 이용하여 한번 컴파일을 한 후에 다음에 컴파일 할때는 미리 컴파일 해둔 파일을 사용하므로 매번 전체 컴파일은 하는 Turbo C++에 비해 체감속도가 월등히 빨라 보인다.
   RAD Studio 2007에 와서 MSBuild 체계를 도입해 그 차이가 많이 줄었다고 하지만 Turbo C++ 사용자에게는
그림에 떡이니... 그래도 방법이 없는 건 아니다. 바로 bcc32pch 라는 플러그 인 인데 이 플러그 인은  CodeGear( from
Borland ) C++ 툴에서 Procompiled Header File 을 사용할 수 있게 해주는 플러그 인이다. 이 플러그
인을 설치하면 보다 빠른 컴파일 시간을 체감할 수 있다.



Turbo C++에 날개를 달아보 았으니 이제 비상을 해보자!


Turbo Explorer

DelphiDistiller


GExperts


DelphiSpeedUp


bcc32pch


Original Post : http://neodreamer-dev.tistory.com/77

CodeGear 의 최신 RAD Studio 2007 ISO 다운받기

사용자 삽입 이미지
CodeGear 에서 RAD Studio 2007의 새로운 패키지를 공개하였다. 새롭다고해서 많은 것이 바뀐게 아니고 그동안 진행되어온 패치와 Help Update 가 모두 포함된 버전을 새로 패키징해서 내 놓은 것이다.



파일 이름에는 Dec 2007이라고 되어 있지만 이는 최근 발표한 2008년 2월자 도움말 업데이트까지 포함되어 있는 것이다.



공개를 하였다해서 누구나 다 사용할 수 있도록 라이센스까지 공개한건 아니고 재설치 사용자나 업데이트 사용자의 편의를 위해 공개한 것으로 보인다. 이 개발툴을 사용하려면 라이센스가 있어야 한다.


DVD ISO 이미지 파일은 CodeGear로부터 누구나 다운 받을 수 있도록 오픈되어있다.



관련 내용
http://cc.codegear.com/item/25015


FTP 다운로드 ( 4.2GB )
ftp://ftpd.codegear.com/download/radstudio2007/CodeGearRADStudio2007_Dec2007.iso

Original Post : http://neodreamer-dev.tistory.com/76

Hiren's BoodCD 를 이용한 XP 사용자 암호 초기화하기

Hiren's BoodCD 에는 참으로 많은 프로그램이 포함되어 있다. 멀티부팅기능을 지원하여 많은 기능을 시디 한장으로 이용할 수 있다.

이번에 다룰 내용은 XP의 사용자 암호를 초기화는건데 아주 가끔은 쓸 일이 생기곤 한다.

글로 설명하는 것보다는 단계별 이미지 몇장을 보는게 이해가 훨씬 빠를 것이다.

우선 Hiren's Boot CD로 부팅을 하게되면 다음과 같은 부팅 방법을 선택하는 화면 나온다.
사용자 삽입 이미지
CD로 부팅을 선택하면 다양한 기능을 선택할 수 있는 메뉴가 나온다.

사용자 삽입 이미지사용자 삽입 이미지
메뉴 두번째 페이지의 Passworkd & Registry 툴을 선택한다.

사용자 삽입 이미지
여러 툴들 중 가장 위에 있는 Active Password Changer(이하 APC) 를 선택한다.

APC 가 실행되면 패스워드 파일을 찾을 드라이버를 선택하는 메뉴가 나온다.
사용자 삽입 이미지

첫번째 Logical Drive 를 선택하면 하드 디스크 목록이 출력된다.
사용자 삽입 이미지

운영체제가 설치된 드라이브를 선택한다. 보통 C:에 설치가 되었다면 첫번째 드라이브를 선택하면 된다.
사용자 삽입 이미지사용자 삽입 이미지

선택된 드라이브에서 패스워드가 포함되어 있는 SAM 파일을 검색해 검색된 SAM 파일을 선택할 수 있도록 메뉴로 출력해 준다.
운영체제가 하나만 설치되었다면 SAM 파일이 하나만 보일테고 그 SAM 파일을 선택하면 SAM 파일에 포함되어 있는 사용자 아이디 목록이 나온다.
사용자 삽입 이미지

패스워드를 없애고 싶은 계정를 선택하면 해당 사용자에 대한 설정을 바꿀 수 있는 화면이 나온다.
사용자 삽입 이미지

여러 설정 중 가장 아래쪽에 있는 "Clear this User's Password" 의 왼쪽에 있는 X표시에 커서를 두고 "Y"키를 누르면 패스워드가 삭제된다.

사용자 암호를 지웠으면 ESC키를 여러번 눌러 도스 화면으로 되돌아 가서 reboot 하면 된다.


Original Post : http://neodreamer-dev.tistory.com/75

구글 툴바의 검색사이트 설정파일

이전 포스팅에서 구글 툴바의 검색바에 검색사이트를 등록하는 방법에 대한 글을 올렸었다.

간단하게 올리고 테스트해보니 네이버나 기타 검색사이트는 등록이 잘 되는 반면 MSDN 사이트는 제대로 동작을 하지 않았다. 다른 사이트들은 입력검색은 되는 반면 사이트에서 선택된 단어를 검색하는 기능은 되지 않아 수동으로 설정 하였다.

아이콘을 급조하다 보니 조금 조잡해 졌다. 급조하지 않고 만들어도 워낙 그 방면에는 소질이 없어서 더 나은 결과물을 기대할 수는 없을 것이다.

설정파일을 적용하기 위해서는 파일들을 시스템의 다음 위치에 복사만 하면 된다.
C:\Documents and Settings\(USER)\Local Settings\Application Data\Google\Custom Buttons

사용자 삽입 이미지
모든 파일을 복사한 후 등록된 검색 사이트











Original Post : http://neodreamer-dev.tistory.com/74

2008/03/03

Hiren's Boot CD 9.4

다기능 멀티 부트 시디인 Hiren's Boot CD 가 업데이트 되었다.

기능이 너무 많지만 내가 자주 사용하는건 파티션을 백업 및 복구의 용도로 많이 사용한다.

대표적인 기능은 다음과 같다.

    . Partition and Disk 백업 / 복원
    . 파티션 재설정
    . 도스 모드에서 NTFS 접근하기
    . XP 관리자 암호를 잊었을 경우
    . HDD 로레벨포맷

기능에대한 보다 자세한 내용은 Hiren's BootCD 홈페이지9Down.com site를 참조하기 바란다.

Hiren's BootCD Homepage
Download from Rapidshare
Download from 9Down.com <<

Original Post : http://neodreamer-dev.tistory.com/73

구글 툴바에 검색사이트 추가하기

구글 툴바에는 검색 바을 기본 제공한다.
firefox 에도 검색 바가 있고 구글 툴바를 설치하면 두개의 검색바가 생기게 된다. 이를 통합하려면 구글 툴바의 옵션 중에 Layout 탭에서 "Firefox 검색창 바꾸기" 를 선택하면 된다.
사용자 삽입 이미지


이전 Firefox의 검색바에 검색 사이트를 추가하려면 XML파일을 직접 만들어야 했는데 Google 툴바의 검색바는 이보다 더 쉽게 만들 수 있다.

우선 추가하고자 하는 사이트를 방문해 검색단어 입력상자에서 마우스 오른쪽 버튼을 누르고 "맞춤 검색 생성" 메뉴를 선택한다.
사용자 삽입 이미지


메뉴선택시 나오는 대화상자에 적절히 입력하고 확인만 누르면 검색 사이트가 추가된다.


사용자 삽입 이미지

사용자 삽입 이미지
추가된 검색사이트

Original Post : http://neodreamer-dev.tistory.com/72

음악은 나의 집중력을 높여준다.

내  주업무는 컴퓨터 앞에 앉아 삽질(?)을 하는 것이다. 난 조금 산만한 편이어서 쉽게 집중을 못 한다. 프로그래머로서 큰 단점이 될 수도 있는 것이다.


게 집중을 못하니 주위 소리에 신경이 많이 쓰인다. 누가 뒤에 있어도 신경이 쓰이고... 그래서 조용한 구석자리를 선호하나
보다. 물론 구석에 박혀 있으면 다른 짓도 하긴 하지만... 꼭 구석이 있다고 해서 다른짓 하고 공개된 곳에 있다고 해서
일만하고 그런것은 아닌것 같다. 지금도 구글 노트를 펴고 창을 디버그 윈도우에 맞추고 임시 포스팅을 하고 있으니... *^^*

내가 처음 입사했을때는 우리 회사는 업무중 음악을 들을 수 있었다. 물론 입사한지 얼마 되지 않은 난 그럴만한 배짱이 없어 하지 못했지만...

그러나 생각이 짧은 몇몇에 의해 방침이 바뀌어 버렸다.
이어폰으로 음악을 듣는데 너무 크게 들어서 주위의 소리가 들리지 않을 정도가 되니 방침이 바뀌어 버렸다.
제대로 즐기지도 못해보고...

난 음악을 듣고 있으면 주위 소리에 둔해진다. 그리고 일이 덩치크고 동작소리가 큰 장비와 관련된 일이다 보니 내겐 음악이 더 필요하다.

오늘 야간 업무시간에는 음악과 함께 해 봐야겠다

Original Post : http://neodreamer-dev.tistory.com/71