본문 바로가기

Programming/*Delphi5

ListView SubItem 을 Combobox를 이용하여 수정하기. ListView를 클릭하여 SubItem을 ComboBox를 통해 수정하는 동작을 구현 했습니다. ListView 의 속성은 ReadOnly - > True RowSelect -> True ViewStyle -> vsReport 으로 주었습니다. idx : integer; implementation {$R *.dfm} procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); var r : TRect; begin if Selected = True then begin idx := Item.Index; try GetWindowRect(Item.Handle,r); ComboBox1.Text := Item.S.. 2020. 8. 6.
프로세스가 실행 중인지 확인하기. 다른 프로세스의 실행 상태를 확인해야 할 경우가 있습니다. 간혹 IPC 를 사용하거나 자신의 프로젝트가 아닌 다른 프로세스의 상태를 확인 할 경우가 있습니다. (저는 종종 있었네요 .) 그 경우 프로세스의 실행 상태를 확인할 때 사용하는 방법입니다. Function CheckProcess(ProcessID : DWORD):Boolean; var processhandle : DWORD; begin result := False; processshandle := OpenProcess(MAXIMUM_ALLOWED),False,ProcessID); if Processhandle = 0 then result := False else begin if WaitForSingleObject(ProcessHandle,0) .. 2020. 7. 9.
내 프로세스가 실행된 경로 구하기 코딩을 하다보면 특정 설정 또는 로그를 남기기 위해 파일을 저장하거나, 파일을 불러오는 경우가 많은데 이를 빌드해둔 내 프로젝트내의 같은 경로에 있는 파일을 이용하고 경우가 있습니다. 그럴경우 간단하게 ExtractfilePath(Application.ExeName) 을 통해 확인 할 수 있습니다. 하지만 모듈이 다르거나, dll 을 로드하여 사용 하는 경우 상속된 프로세스의 경로가 나오기때문에 원하는 내 프로젝트 경로가 아닌 상속된 프로세스의 경로를 얻어 오는 경우가 있습니다. 그럴때 제가 사용 하는방법입니다. ExtractFilePath(GetModuleName( hInstance) ); ExtractFilePath의 경우 파일의 전체 경로 (ex. C:\test.exe) 가 아닌 경로만을 얻어 올 .. 2020. 7. 9.
문자열 파싱 함수 (Pos / Copy 를 이용) Copy 함수 String 형의 문자 데이터에서 몇번째 자리 ~ 앞 Index 값에서 카운트 까지의 문자를 복사하여 값을 리턴해줍니다 . (즉, 123456 이라는 데이터에서 1 Index 부터 4 count 라고 파라미터를 정해주었을때 리턴되는값은 1번째 문자자리인 '1' 부터 4자리뒤인 '4'까지, '1234'라는 데이터를 출력해줍니다) 파라미터 * Copy(S: ;Index : Integer; Count : Integer); 첫번째 S 에 오는 데이터는 복사할 문자의 전체 데이터입니다 . 가령 Delphi 라는 문자를 담은 변수가 있습니다 . 이문자에서 저는 'Del' 이라는 문자를 출력시키고싶습니다 . 그럼 복사할 문자의 전체데이터는 Delphi 를 담은 변수가 되겠죠 var A : String .. 2018. 6. 18.