델파이 129

스트링그리드(TStringGrid) 현재 행에 색깔 넣기, 교차행에 색깔 넣기, 포커스이동문제해결

1. 스트링그리드에 현재 행에 색깔 넣기 스트링그리드는 DBGrid는 RowSelect 속성이 있지만 색깔이 clHightlight 로 고정되어 있다. 또한 RowSelect 속성은 컬럼 인덱스가 0번째가 되는 특성이 있다. 행이 선택되어지면서 현재 선택된 컬럼인덱스를 이용해야한다면 DBGrid 에서는 dgMultiSelect 속성이 True 면 행이 하이라이트 되며 컬럼 인덱스도 현재 컬럼이 된다. 하지만 스트링그리드에는 MultiSelect 속성이 없으므로 다음과 같이 RowSelect 속성이 아닌 직접 행에 색깔이 넣어야한다. OnDrawCell 과 onClick 이벤트를 사용해야 한다. OnClick 에서 Refresh 하지 않으면 원할하지 않다. procedure TForm1.StringGrid..

델파이 2017.06.21

초단위 반올림하여 분단위표현 SQL Server smalldate 형식과 같이

SQL Server 에서 smalldatetime 형식은 분단위까지 표현한다. (초단위는 00) 이때 초단위는 30초 미만은 버리고 30초이상은 분단위를 올림한다. 즉 15:12:29 -> 15:12:00 15:12:30 -> 15:13:00 델파이에서 분단위 시간을 화면에 표시하고 DB에 저장할 때 무심코 화면은 분단위까지 자르고 서버는 smalldate형식에 저장하면 델파이에서 TDatetime 형식인 vCurrent 변수에 현재 일시 '2022-05-01 15:12:30' 이 할당되어 있을 때 화면에 FormatDateTime('yyyy-mm-dd hh:nn', vCurrent) -> '2022-05-01 15:12' 까지만 잘라서 표현하고 DB에 저장하면 '2022-05-01 15:13:00' 이..

델파이 2017.05.19