Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
StringGrid의 cell에 숫자입력할때 포맷지정하는 방법?
안녕하세요
StringGrid에서 숫자를 입력하는데 콤마나 소숫점등의 포맷을 표현하고 싶은데
어떤 이벤트에서 어떤 코딩을 해줘야 할지 잘 모르겠습니다
도와주세요.
1
COMMENTS
홍성락
•
2001.07.25 19:32
써비 wrote:
> 안녕하세요
>
> StringGrid에서 숫자를 입력하는데 콤마나 소숫점등의 포맷을 표현하고 싶은데
>
> 어떤 이벤트에서 어떤 코딩을 해줘야 할지 잘 모르겠습니다
>
> 도와주세요.
///////////////////////////////////////////////////////////////////////////
좀 정리가안되서 참조만하세요
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
var
i, count : integer;
Str_Temp, Str_Temp2, Str_Temp3, Str_sign, Str_decimal : string;
begin
with TStringGrid(Sender) do begin
if ACol = 1 then begin //원하는 셀
if Value = '' then exit;
Str_Temp := Value;
//부호,소숫점뒤 걸러내기
Str_sign := '';
if Str_Temp[1] = '-' then begin
Str_sign := '-';
Str_Temp := copy(Str_Temp,2, length(Str_Temp));
end;
Str_decimal := '';
if pos('.',Str_Temp)>0 then begin
Str_decimal := copy(Str_Temp,pos('.',Str_Temp), length(Str_Temp));
Str_Temp := copy(Str_Temp,1,pos('.',Str_Temp)-1);
end;
Str_Temp := StringReplace(Str_Temp, ',', '', [rfReplaceAll]);
if length(Str_Temp)>3 then begin
count := (length(Str_Temp)-1) div 3;
for i := count downto 1 do begin
Str_Temp2 := copy(Str_Temp,1,length(Str_Temp)-3*i);
Str_Temp3 := copy(Str_Temp,length(Str_Temp)-3*i+1, length(Str_Temp));
Str_Temp := Str_Temp2 +','+Str_Temp3;
end;
cells[Acol, Arow] := Str_sign+Str_Temp+Str_decimal;
EditorMode := True;
end;
end;
end;
end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if TStringGrid(Sender).Col = 1 then //원하는 셀
if not(Key in ['0'..'9','.','-',#8]) then Key := #0;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김재형
2001.07.25 07:19
0
COMMENTS
/
0
LIKES
ado에관해서 입니다....
김재형
2001.07.25 07:20
0
COMMENTS
/
0
LIKES
고수님들에게 질문이있읍니다.fm20.dll에관해
써비
•
2001.07.25 07:04
1
COMMENTS
/
0
LIKES
StringGrid의 cell에 숫자입력할때 포맷지정하는 방법?
안녕하세요 StringGrid에서 숫자를 입력하는데 콤마나 소숫점등의 포맷을 표현하고 싶은데 어떤 이벤트에서 어떤 코딩을 해줘야 할지 잘 모르겠습니다 도와주세요.
홍성락
•
2001.07.25 19:32
써비 wrote: > 안녕하세요 > > StringGrid에서 숫자를 입력하는데 콤마나 소숫점등의 포맷을 표현하고 ...
델초보자
•
2001.07.25 06:17
2
COMMENTS
/
0
LIKES
ADO QUERY CLOSE시 error
구창민
•
2001.07.25 06:35
^_^ 제 옆에 영대씨가 와서 팻치 하면 된다고 하네요.. 항상 즐거운 프로그래밍 하시길~~ 델...
델초보자
•
2001.07.25 09:36
.
초보델피
•
2001.07.25 06:00
1
COMMENTS
/
0
LIKES
델파이로 멜 내는 프로그램중에서 본문에 태그를 먹게하고 싶은데여?
구창민
•
2001.07.25 06:37
우선 태그가 삽입된 메일을 보내시면 받는 측에서 그 메일을 보여줄때 HTML을 지원한다면 볼수 있구요. ...
초보
2001.07.25 05:53
0
COMMENTS
/
0
LIKES
릴리즈 버전은 어떻게 만들죠?
최초보
2001.07.25 05:47
0
COMMENTS
/
0
LIKES
DLL에서 값리턴 질문!!!
김초보
•
2001.07.25 04:57
1
COMMENTS
/
0
LIKES
Indy를 이용해서 소켓프로그램을 만들었는데...
구창민
•
2001.07.25 06:15
안녕하세요~ 구창민입니다. Indy에서는 fork 를 지원하지 않습니다. 대신 거의 유사하게 동작하는 쓰...
델초보
•
2001.07.25 04:31
1
COMMENTS
/
0
LIKES
if .. in... 있잖아요...
구창민
•
2001.07.25 06:27
안녕하세요~ 구창민입니다. if ..in.. 에서 in에는 스트링을 사용하실 수 없습니다. 즉, 한바이트 단...
freelab
2001.07.25 04:26
0
COMMENTS
/
0
LIKES
Indy컴포넌트를 사용하여 ISAPI에서 파일첨부시 문제가.
kittysp
2001.07.25 04:16
0
COMMENTS
/
0
LIKES
URL에 해당하는 페이지를 축소해서 보여줄 수 있는지...
미쳐가요!
2001.07.25 04:10
0
COMMENTS
/
0
LIKES
다중상속 편법이 없을까요?
이호림
•
2001.07.25 03:53
1
COMMENTS
/
0
LIKES
컴포넌트를 선택할려면 어떻게 해야 하나요?
홍성락
•
2001.07.25 05:07
이호림 wrote: > 안녕하세요. 이호림이라고 합니다. > 델파이에서 특정 컴포넌트를 선택해서 Form위를 클...
제발..
2001.07.25 03:17
0
COMMENTS
/
0
LIKES
컴포넌트 제작 .. 제발 도와주세요..
김현
•
2001.07.25 03:09
1
COMMENTS
/
0
LIKES
엑셀관련... 알려주세요..
소
•
2001.07.26 00:47
Delphi3.0, Excel2000에서 테스트 해보니 잘 되는데요? 엑셀파일을 읽기전용으로 해도 잘 되내요? ----...
송인규
•
2001.07.25 02:44
3
COMMENTS
/
0
LIKES
DEL*.MB에러 좀 잡아주세요
구창민
•
2001.07.25 06:34
송인규 wrote: > DB에 I/O 작업을 하던중 에러가 발생하여 종료하면 해당 디렉토리에 DEL1.MB, DEL2.MB......
송인규
•
2001.07.25 18:06
답변 고맙습니다. 근본적으로 생겨나지 않게 하는 방법은 없습니까? 작업 담당자는 컴맹이라 어떻게 ...
구창민
•
2001.07.25 20:21
그런 오류는 들어본적이 없어서.. ㅡㅡ; 패러독스 파일 확장자(db, px, val...)의 의미 - from USING...
aparadin
2001.07.25 02:20
0
COMMENTS
/
0
LIKES
DB질문)Locate 버그? 좀 봐주십시오
irookie
•
2001.07.25 02:15
1
COMMENTS
/
0
LIKES
select into...
irookie
•
2001.07.25 02:18
오라클을 너무 오래 사용했다 봅니다. 쩝 --; select money as tmpMoney from "price.db"; 파라독스...
미르짱
•
2001.07.25 02:07
4
COMMENTS
/
0
LIKES
dbgrid의 select색깔 바꾸기
홍성락
•
2001.07.25 06:31
미르짱 wrote: > 고수님들의 도움을 요청합니다...... > dbgrid의 옵션에서 dgRowselect를 True로 하면 ...
미르짱
•
2001.07.25 20:05
홍성락님의 성의있는 답변에 먼저 감사드립니닫.. 그런데 님께서 올린 소스데로 해보았는데 색깔에 변화가...
홍성락
•
2001.07.25 20:44
제것은 되는데요 dbgrid의 옵션에서 dgRowselect를 True로 하고, 필요시 dgMultiSelect도 True로하고요. ...
홍성락
•
2001.07.25 05:33
미르짱 wrote: > 고수님들의 도움을 요청합니다...... > dbgrid의 옵션에서 dgRowselect를 True로 하면 ...
초짜...
•
2001.07.25 02:01
2
COMMENTS
/
0
LIKES
Form이 아닌 PaintBox위에 TMemo를 동적으로 만들구 싶어요...
홍성락
•
2001.07.25 02:27
PaintBox는 windowed controls류가 아니므로 다른 객체를 Parent로써 갖지 못합니다. 객체의 hierarchy를 ...
초짜...
•
2001.07.25 03:18
답변 감사합니다.. 물론 그런 방법도 있겠지만... 지금 그렇게 쓸수 없는 이유는 그리기 오브젝트(선,박...
써비
2001/07/25 07:04
Views
310
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요
>
> StringGrid에서 숫자를 입력하는데 콤마나 소숫점등의 포맷을 표현하고 싶은데
>
> 어떤 이벤트에서 어떤 코딩을 해줘야 할지 잘 모르겠습니다
>
> 도와주세요.
///////////////////////////////////////////////////////////////////////////
좀 정리가안되서 참조만하세요
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
var
i, count : integer;
Str_Temp, Str_Temp2, Str_Temp3, Str_sign, Str_decimal : string;
begin
with TStringGrid(Sender) do begin
if ACol = 1 then begin //원하는 셀
if Value = '' then exit;
Str_Temp := Value;
//부호,소숫점뒤 걸러내기
Str_sign := '';
if Str_Temp[1] = '-' then begin
Str_sign := '-';
Str_Temp := copy(Str_Temp,2, length(Str_Temp));
end;
Str_decimal := '';
if pos('.',Str_Temp)>0 then begin
Str_decimal := copy(Str_Temp,pos('.',Str_Temp), length(Str_Temp));
Str_Temp := copy(Str_Temp,1,pos('.',Str_Temp)-1);
end;
Str_Temp := StringReplace(Str_Temp, ',', '', [rfReplaceAll]);
if length(Str_Temp)>3 then begin
count := (length(Str_Temp)-1) div 3;
for i := count downto 1 do begin
Str_Temp2 := copy(Str_Temp,1,length(Str_Temp)-3*i);
Str_Temp3 := copy(Str_Temp,length(Str_Temp)-3*i+1, length(Str_Temp));
Str_Temp := Str_Temp2 +','+Str_Temp3;
end;
cells[Acol, Arow] := Str_sign+Str_Temp+Str_decimal;
EditorMode := True;
end;
end;
end;
end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if TStringGrid(Sender).Col = 1 then //원하는 셀
if not(Key in ['0'..'9','.','-',#8]) then Key := #0;
end;