안녕하세요... 데이터베이스 프로그램을 하고 있는데여... DB프로그램을 분석하다가...
이해가 안가는게 있어서 이렇게 질문을 드립니다....
어떤것이냐.. 하면여... MS-SQL의 DB테이블에 있는 내용(레코드)를 가져와서..
폼에 있는 콤보박스에다가... 가져온 내용을 더하는 것인데... 코드를 보면.. 다음과
같습니다.
procedure Tform_sepa.FormShow(Sender: TObject);
var
TIMC: HIMC;
dwSentence : DWORD; dwConversion : DWORD;
begin
with q_code do begin
Close;
Open;
First;
repeat
cb_code1.Items.Add(fieldbyname('cd_nm').asstring);
Next;
until EOF ;
end;
TIMC := ImmGetContext(E_ip.Handle);
ImmGetConversionStatus(TIMC, dwConversion, dwSentence);
ImmSetConversionStatus(TIMC, IME_CMODE_NATIVE, dwSentence);
ImmReleaseContext(E_ip.Handle, TIMC);
end;
위의 것은 SQL DB 테이블에 있는 내용을 가져와 콤보박스 Items에 추가하는 프로시져인데
문제는... 밑에 서.. 5번째 부터.. 쓰여진.. API함수가.. 어떤 역할을 하는것인지...
잘 몰라서여... MSDN을 보면.. 현재변환값을 리턴하는 함수라고 나와 있는데...
무슨말인지.. 모르겠습니다.....
도움 부탁드립니다........
아직.. 완전한 봄은 아니지만... 구래두.. 화창한.. 봄날에..프로그래밍 하시는데...
수고가 많으시지만... 이것줌..알려주셨으면... 정말 고맙겠습니다....
그럼.....
TIMC := ImmGetContext(E_ip.Handle);
ImmGetConversionStatus(TIMC, dwConversion, dwSentence);
ImmSetConversionStatus(TIMC, IME_CMODE_NATIVE, dwSentence);
ImmReleaseContext(E_ip.Handle, TIMC);
이 함수들은 모두 IME 그러니까 한/영 입력에 관한 내용들입니다.
immGetContext(E_ip.Handle) <-- 요놈은 현재 프로그램에서 값을 가져오는거
immReleaseContext <- 요놈은 가져 왔으니까 보내줘야겠죠? 안그러면 리소스가 쩝....
immGetconversionstatus <-- 요놈은 설정값 가져오는거
immSet...... <-- 요놈은 설정하는거...
dwConversion <-- 요놈이 두가지 값을 가져요..
IME_CMODE_NATIVE <-- 요건 한글
IME_CMODE_ALPHANUMERIC <-- 요건 영문
그러니까 소스는 입력상태를 그냥 한글로 바꿔버리는 겁니다.
더 자세한 내용은 도움말을 찾아보시구요......
아니면 팁란같은데 가도 내용이 아마 있을겁니다.
그럼 즐거운 시간 되세요...
- 하얀까마귀 -
쫑현이 wrote:
> 안녕하세요... 데이터베이스 프로그램을 하고 있는데여... DB프로그램을 분석하다가...
> 이해가 안가는게 있어서 이렇게 질문을 드립니다....
> 어떤것이냐.. 하면여... MS-SQL의 DB테이블에 있는 내용(레코드)를 가져와서..
> 폼에 있는 콤보박스에다가... 가져온 내용을 더하는 것인데... 코드를 보면.. 다음과
> 같습니다.
>
> procedure Tform_sepa.FormShow(Sender: TObject);
> var
> TIMC: HIMC;
> dwSentence : DWORD; dwConversion : DWORD;
> begin
> with q_code do begin
> Close;
> Open;
> First;
> repeat
> cb_code1.Items.Add(fieldbyname('cd_nm').asstring);
> Next;
> until EOF ;
> end;
> TIMC := ImmGetContext(E_ip.Handle);
> ImmGetConversionStatus(TIMC, dwConversion, dwSentence);
> ImmSetConversionStatus(TIMC, IME_CMODE_NATIVE, dwSentence);
> ImmReleaseContext(E_ip.Handle, TIMC);
> end;
>
> 위의 것은 SQL DB 테이블에 있는 내용을 가져와 콤보박스 Items에 추가하는 프로시져인데
> 문제는... 밑에 서.. 5번째 부터.. 쓰여진.. API함수가.. 어떤 역할을 하는것인지...
> 잘 몰라서여... MSDN을 보면.. 현재변환값을 리턴하는 함수라고 나와 있는데...
> 무슨말인지.. 모르겠습니다.....
> 도움 부탁드립니다........
> 아직.. 완전한 봄은 아니지만... 구래두.. 화창한.. 봄날에..프로그래밍 하시는데...
> 수고가 많으시지만... 이것줌..알려주셨으면... 정말 고맙겠습니다....
> 그럼.....