반응형 IT/델파이45 인디(Indy)를 이용한 Unicode 문자열의 안전한 전송 1. 개요 Delphi2009 이후부터 기본 문자열이 유니코드를 지원하게 됨에 따라 인디 컴포넌트를 통해 전송되는 UTF8 문자열이 안전하게 전송되지 못하는 문제가 있다. UTF8 문자열을 소켓을 통해 안전하게 전송하는 방법을 찾아 보자 2. 기존처리 방식 //전송부 _Client := TIdTCPClient.Create(nil); _Client.Host := Host; _Client.Port := Port; try _Client.Connect; _Client.IOHandler.WriteLn('Hello World!'); _Client.IOHandler.WriteLn('안녕하세요!'); finally _Client.free; end; // 수신부(TIdTCPServer) procedure TfrmDebu.. 2023. 2. 12. 날짜 연산 정리 (DateUtils.pas) //일자를 추출한다. function DateOf(const AValue: TDateTime): TDateTime; //시간을 추출한다. function TimeOf(const AValue: TDateTime): TDateTime; //평년,윤년을 구분하다. function IsInLeapYear(const AValue: TDateTime): Boolean; //오전,오후를 구분한다. function IsPM(const AValue: TDateTime): Boolean; //Word형의 년,월,일 파라메타의 유효성을 체크한다. function IsValidDate(const AYear, AMonth, ADay: Word): Boolean; //Word형의 시,분,초,밀리초 파라메타의 유효성을 체크한다. .. 2023. 2. 9. Enum 변수 설정 1. 함수설명 함수 내용 Typeinfo 열거형의 형정보(TypeInfo)에 대한 포인터 반환 GetEnumName 열거형의 각 멤버를 문자열로 반환 GetEnumValue Ord Pred Succ Dec Inc Low 2. 예제 소스 type TDatabaseType = (dbtMSSQL, dbtOracle, dbtCUBRID, dbtSybase, dbtNone); TDatabaseSet = set of TDatabaseType; const StrDatabaseNames : array[TDatabaseType] of String = ('MSSQL', 'Oracle', 'CUBRID', 'Sybase', 'None'); procedure TEnumForm.btnClick(Sender: TObject); .. 2023. 2. 8. TListView에서 마우스가 클릭한 위치의 Item과 Cell Column을 인지하는 방법 1. 사용설명 Click된 컬럼은 Caption을 포함한 인덱스 값을 유지한다. ... Item.Caption = column 0 Item.subitem[0] = column 1 Item.subitem[1] = column 2 ... 클릭이벤트를 인지할수 있는 방법 1. TListView의 OnMouseDown 이벤트 핸들러를 이용할 수 있음. 2. 제공된 마우스 X,Y 좌표를 이용해 Item을 얻을 수 있음 3. SubItems의 각 CELL Width를 계산하여 클릭된 컬럼을 인지할수 있음. 아래 예제는 "How to draw a checkbox to column in a TListView" 에 기술된 TListView의 특정 컬럼에 체크박스(TCheckBox)를 표시하는 것와 더불어 사용자 Acti.. 2023. 2. 8. 이전 1 ··· 8 9 10 11 12 다음 반응형