본문 바로가기
Application/Delphi Lecture

WideChar := WideString ....

by 현이빈이 2008. 8. 13.
반응형
PChar := String이나
array of Char := String 대입은 되지만
wideString이나 wideChar계열은 그게 안되죠..
그래서 제가 아래와같이 했습니다.(좀 한심하죠)
C의 내용을 Pascal로 포팅하는 중 필요해서 만들었죠..
/////////////////////////////////////////////////
// WideString을 WCHAR 에 넣는다.
// aPWChar := aWideString 이렇게 되도록,...
/////////////////////////////////////////////////
procedure StrToWCBuffer( var Buf; Sentence: WideString );
var
 SrcPtr, DstPtr: Pointer;
 nI: DWord;
begin
 SrcPtr := Pointer( Sentence );
 DstPtr := @Buf;
 nI := Length( Sentence );
 asm
   mov ecx, nI
   xor ebx, ebx
   shr ecx, 1
   jnc @StartCopy
   inc ebx
 @StartCopy:
   mov esi, SrcPtr
   mov edi, DstPtr

   rep movsd
   test ebx, 1
   jz  @skip
   movsw
 @Skip:
   mov word ptr [ edi ], 0  // Finally, write terminate char..  end;
 end;
end;

----------------------------------------------------


출처 : 델마당(http://www.delmadang.com/)

반응형