반응형

delphi 85

파일 아이콘 가져오기

// 파일 선택해서 아이콘 가져오기. function GetFileIcon(sFileName: String; IsSmall: Boolean) : HIcon; var SHFileInfo: TSHFileInfo; vFlag : Cardinal; begin vFlag := SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_EXETYPE; if IsSmall then vFlag := vFlag or SHGFI_SMALLICON; ShGetFileInfo( PChar( sFileName ), 0, SHFileInfo, SizeOf( TSHFileInfo ), vFlag ); Result := SHFileInfo.hIcon; end; 해당 파일의 full path를 포함한 이름을 ..

Programming/Delphi 2010.06.30

투명 메모 컴포넌트 개발

한동안 "메세지를 입력하세요" 라는 부분이 TMemo 로 되어있어서 배경 그림은 무시한채 새하얀 바탕으로 생뚱맞게 방치되어왔는데, 드디어 오늘! 이리저리 투명한 메모를 구현해보기 위해서 이리저리 자료 찾아보고 그러던 도중 만들어버렸다. 컴포넌트 명칭은 TMarsTransparentMemo ㅋㅋㅋㅋ 내가 새로 만든 컴포넌트에는 모두 Mars를 붙이고 있다. 하나하나 만들어가는 재미가 솔솔하네,

Programming/Delphi 2010.06.30

FizzBuzz Question

원문 : http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/ 실제로 이런 경우는 많죠. 경력이 많은 개발자라고 스스로 생각하는 사람들 중에도 아주 작은 문제조차 해결하지 못하는 사람은 많습니다. 대부분 채용과정에서 걸러져야 하지만 작은 규모의 회사에서는(아니 큰 회사라 하더라도) 기술면접이 제대로 이뤄지고 있지 못하죠. 주위의 동료에게 당장 다음과 같은 문제를 풀어보도록 해보면 어떨까요? 원문에서는 대부분의 좋은 프로그래머는 1,2분 사이에 코드를 작성해 낸다고 합니다. FizzBuzz Question 1에서 100까지 출력하는 프로그램을 작성합니다. 단, 3의 배수일 경우 "Fizz"를 출력하고 5의 배..

Programming/Delphi 2010.06.30

Thread 정리 2

스레드 초기화 새 스레드 클래스의 초기화 코드를 작성하려면 Create 메소드를 오버라이드해야 합니 다. 스레드 클래스의 선언에 새 생성자를 추가하고 선언을 구현하는 초기화 코드를 작성 합니다. 여기서 스레드의 기본 우선 순위를 할당하고 스레드가 실행 종료될 때 자동으로 해제되어야 할지 여부를 나타낼 수 있습니다. 기본 우선 순위 할당 우선 순위는 운영 체제가 애플리케이션의 모든 스레드 중에서 CPU 시간의 일정을 정할 때 스레드가 갖는 기본 설정 수를 나타냅니다. 시간적으로 중요한 작업을 처리할 때에는 높은 우선 순위의 스레드를 사용하고 다른 작업을 수행할 때에는 낮은 우선 순위의 스레 드를 사용합니다. 스레드 객체의 우선 순위를 나타내려면 Priority 속성을 설정하십시 오. 스레드 우선 순위 tp..

Programming/Delphi 2010.06.30

Thread 정리

delphi에서 thread를 사용하기 위해서는 tthread를 상속 받아서 만들거나 CreateThread(API)를 이용하는 방법이다. thread를 만드는데 있어서 꼭 알아야 할 function(?)들... 최소한 thread를 상속받아서 뭔가를 만들려면 이거는 알아야 한다. procedure Execute; virtual; abstract; tthread를 상속받으면 execute procedure를 구현해야 한다. 실행 하고 싶은 내용을 기술하는 곳이다. project영역에 선언한다. TThreadMethod = procedure of object; procedure Synchronize(Method: TThreadMethod); overload; thread를 사용하면서 세마포어나 뮤텍스를 사..

Programming/Delphi 2010.06.30

[팁] 쓸만한 함수 2

[TMemo Component] 현재 라인번호 알아내기 메모에서 현재 Caret이 위치하고 있는 줄이 몇 번째 줄인지를 리턴한다. Label1.Caption := IntToStr(GetCurrLine(Memo1)); function GetCurrLine(Memo : TMemo) : integer; begin Result := Memo.Perform(EM_LINEFROMCHAR, Memo.SelStart, 0); end; [TMemo Component] 현재 컬럼번호 알아내기 메모에서 현재 Caret이 위치하고 있는 줄에서 몇 번째 컬럼인지를 리턴한다. Label1.Caption := IntToStr(GetCurrCul(Memo1)); function GetCurrCul(Memo : TMemo)) : in..

Programming/Delphi 2010.06.30
반응형