Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
MaskEdit 에 날자나 시간을 수정할때
윈도우 에서 시간을 수전할때 스핀버튼을 이용하는데요
어떤방식으로 MaskEdit 에서 시.분.초 를 구분해서 수정 하는 것인지
(커서가 있는 위치) 서 수정이 이루어지는지
궁금 합니다.
1
COMMENTS
Mr.Q
•
2000.11.19 10:31
명문 wrote:
> 윈도우 에서 시간을 수전할때 스핀버튼을 이용하는데요
>
> 어떤방식으로 MaskEdit 에서 시.분.초 를 구분해서 수정 하는 것인지
> (커서가 있는 위치) 서 수정이 이루어지는지
>
> 궁금 합니다.
제가 생각하는 것이 정석인지 편법인진 몰라도용...
EditBox안에 EditBox를 집어넣는 것이죠. 크기조정하고 borderStyle을 bsNone으로
한뒤 스핀버튼과 연결하면 되죵. 저도 윈도서 시간조절하는모양이랑 비슷하게
해볼꺼라고 해봤는데.. 쉽지만은 안더군여. 윤년계산이랑 이것저것 따져볼게 좀
됩니다. 이렇게 해도.. 델파이에선 좀 문제가 되는게 있습니다. 포커스문제죠.
델파이는 이상하게도 포커스에 좀 문제가 있는것 같습니다. 여튼 다음은 예전에
제가 위와 같은 쓸때없는짓?..한다고 .. 나온 미완성 쏘스입니다. DateTimePicker콤포
가 있으니.. 특별한 목적이 아니라면.. 이렇게 할 필욘 없겠죠?
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=FormatDateTime('yy',Date);
Edit3.Text:=FormatDateTime('mm',Date);
Edit4.Text:=FormatDateTime('dd',Date);
end;
procedure TForm1.UpDown1ChangingEx(Sender: TObject;
var AllowChange: Boolean; NewValue: Smallint;
Direction: TUpDownDirection);
var //윤달, 윤년계산 제외하면, Max,Min속성으로 년, 월, 일을 설
정해도 됨. if edit4 then Max=31, min=1;
tmpDate:TDate; //윤달과 윤년계산 루틴 필요.
begin //31일이 넘어가면 자동으로 월수를 증가시키는 루틴 필요. 12
월일 넘어가면 년수를 증가시키는 루틴필요
if Activecontrol is TEdit then
begin
if TEdit(ActiveControl).Name='Edit4' then //Day
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+1;
Edit4.Text:=FormatDateTime('dd', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-1;
Edit4.Text:=FormatDateTime('dd', tmpDate);
end
else ;
end
else if TEdit(ActiveControl).Name='Edit3' then //Month
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+31;
Edit3.Text:=FormatDateTime('mm', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-31;
Edit3.Text:=FormatDateTime('mm', tmpDate);
end
else ;
end
else if TEdit(ActiveControl).Name='Edit2' then //Year
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+365;
Edit2.Text:=FormatDateTime('yy', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-365;
Edit2.Text:=FormatDateTime('yy', tmpDate);
end
else ;
end
else ;
end;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
Showmessage(ActiveControl.name);
end;
end.
님아... 분류는 VCL이 될것같네용. ^^;
저도 요즘은 분류에 신경을 많이쓰고 있담니당.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이성윤
•
2000.11.20 13:12
1
COMMENTS
/
0
LIKES
파일의 확장자만을 가지고 아이콘 알아내기
이석민
•
2000.11.20 14:33
존재하지 않는 파일에 대해서는 SHGFI_USEFILEATTRIBUTES를 사용하세요. 이성윤 wrote: > 만약 진짜 ...
임하나
•
2000.11.20 09:18
1
COMMENTS
/
0
LIKES
스트링 그리드에서는 어떻게 특정 cell에 포커스를 주나요 ?
컴맹
•
2000.11.20 18:38
음... 이렇게 하는걸 물어 보시는건가여.. StringGrid.Row := 3; 요렇게 하묜 3행으로 이동을 하게 되지...
won
•
2000.11.20 06:16
1
COMMENTS
/
0
LIKES
Delphi, 저장프로시저의 동적생성이 안됩니다.
김현숙
•
2000.12.02 05:41
won wrote: > 델파이의 코딩으로 > 실행중 sp 의 생성 방법 좀.. > 아무리 해도 되지 않습니다. > >...
남석현
2000.11.20 05:42
0
COMMENTS
/
0
LIKES
델파이로 레포트를 써야하는데...
한두경
•
2000.11.20 03:34
1
COMMENTS
/
0
LIKES
폼 여러개 띄우고 나서.. 추가질문 입니다.
Mr.Q
•
2000.11.20 04:20
한두경 wrote: > 여러분들 도움으로 폼 여러개 띄우는건 성공 했습니다. > 객체들도 각각 제어가 되는듯 ...
mallove
2000.11.20 01:54
0
COMMENTS
/
0
LIKES
[최석기님께]DBGrid 컬럼 크기 조절
김재승
•
2000.11.19 23:38
1
COMMENTS
/
0
LIKES
윈도우즈 2000 서버에서 quickreport 어떻게 사용하죠??
사용자
•
2000.11.20 08:24
김재승 wrote: > 윈도우즈 2000 서버에서 델파이 3 를 사용합니다. > 그런데 quickreport의경우 설치된 ...
초보
•
2000.11.19 23:36
1
COMMENTS
/
0
LIKES
MS Access 에 대해서....
김상호
•
2000.11.20 08:47
odbc를 사용하지 않는 다면 다음과 같이 하면 됩니다. 1. Access에서 db를 만들고 2. bde에서 알리아스...
won
2000.11.19 23:14
0
COMMENTS
/
0
LIKES
인터베이스SQL에서 INPUT파라미터 없이 저장프. 사용
왕초보 희야~
2000.11.19 23:00
0
COMMENTS
/
0
LIKES
MDI에서 자식폼을 저장할려면 어떻게 하나요??
이원영
•
2000.11.21 03:56
2
COMMENTS
/
0
LIKES
폼의 Control들을 Tab 키로 이동하려면?
Mr.Q
•
2000.11.21 03:57
이원영 wrote: > 안녕하세요.. 폼을 만들고 에디트창을 차례대로 넣었습니다. 중간 중간에 마스크 에디트...
병이기
•
2000.11.21 03:57
안녕하세요...!! 제가 알고 있는 방법은... 보시면 모든 컴퍼넌트에는 Taborder라는 것이 있습니다... ...
황현동
•
2000.11.19 11:49
2
COMMENTS
/
0
LIKES
델파이로 만든 CGI
홍세비
•
2000.11.22 10:27
황현동 wrote: > > 안녕하세요? > > 무료계정중에 Windows NT 를 사용한다는 곳이 있습니다. > ...
강인규
•
2000.11.19 12:03
음....그건.....그쪽 서버의 사정에 따라 다릅니다. 만일 해당계정에 '실행'권한을 준다면 사용할 수야 있...
volf
•
2000.11.19 09:46
2
COMMENTS
/
0
LIKES
클라이언트 소켓끼리 통신이 가능한지요??
이경문
•
2000.11.19 13:54
서버소켓이 들어가는게 좋을 겁니다. 서버 소켓이 들어갔다고 반드시 서버프로그램이지는 않습니다. 메신...
왕초보
•
2001.01.06 09:00
메신저라면... 아무래도 UDP로 하는게 낫겠죠.... UDP로 하면 그런거 상관 없을꺼에요. 이경문 wrote: ...
강덕원
•
2000.11.19 09:43
1
COMMENTS
/
0
LIKES
시작프로그램...
로비
•
2000.11.20 07:08
regedit 에서 run 또는 runonce 또는 runservice 이라는 키로 찾아보세요 거기에다 값넣으시면 됩니다 ...
won
2000.11.19 09:11
0
COMMENTS
/
0
LIKES
인터베이스에서 "다른테이블기반 UPDATE"가 되지 않습니다.
방기남
•
2000.11.19 08:59
2
COMMENTS
/
0
LIKES
3-Tier 프로그래밍에서 이런 오류가..
아이언
•
2000.11.20 17:34
일단 TSocketConnection 컴퍼넌트를 사용하시면.. /////////서버측////////// 서버App를 띄우실때 C:Pr...
병이기
•
2000.11.19 11:01
안녕하세요...!! 제가 보기에는 Delphi에 보면... 파일 이름이 생각이 않나는데... Delphi의 폴더중에....
명문
•
2000.11.19 03:29
1
COMMENTS
/
0
LIKES
MaskEdit 에 날자나 시간을 수정할때
윈도우 에서 시간을 수전할때 스핀버튼을 이용하는데요 어떤방식으로 MaskEdit 에서 시.분.초 를 구분해서 수정 하는 것인지 (커서가 있는 위치) 서 수정이 이루어지는지 궁금 합니다.
Mr.Q
•
2000.11.19 10:31
명문 wrote: > 윈도우 에서 시간을 수전할때 스핀버튼을 이용하는데요 > > 어떤방식으로 MaskEdit 에...
어린왕자
2000.11.19 02:16
0
COMMENTS
/
0
LIKES
여러가지 질문..도움말.등등..
어린왕자
2000.11.19 01:33
0
COMMENTS
/
0
LIKES
Loadstr에 대해서 알고 싶습니다..
궁금이
•
2000.11.19 01:01
1
COMMENTS
/
0
LIKES
TDatabase를 코딩으로 만들어서 사용할려면..어떻게 해야하나요??
Mr.Q
•
2000.11.19 03:20
궁금이 wrote: > TDatabase를 컴포넌트를 안쓰고 코딩으로 만들어서 사용하려구 하는데... > 이상하게 자...
명문
2000/11/19 03:29
Views
309
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 윈도우 에서 시간을 수전할때 스핀버튼을 이용하는데요
>
> 어떤방식으로 MaskEdit 에서 시.분.초 를 구분해서 수정 하는 것인지
> (커서가 있는 위치) 서 수정이 이루어지는지
>
> 궁금 합니다.
제가 생각하는 것이 정석인지 편법인진 몰라도용...
EditBox안에 EditBox를 집어넣는 것이죠. 크기조정하고 borderStyle을 bsNone으로
한뒤 스핀버튼과 연결하면 되죵. 저도 윈도서 시간조절하는모양이랑 비슷하게
해볼꺼라고 해봤는데.. 쉽지만은 안더군여. 윤년계산이랑 이것저것 따져볼게 좀
됩니다. 이렇게 해도.. 델파이에선 좀 문제가 되는게 있습니다. 포커스문제죠.
델파이는 이상하게도 포커스에 좀 문제가 있는것 같습니다. 여튼 다음은 예전에
제가 위와 같은 쓸때없는짓?..한다고 .. 나온 미완성 쏘스입니다. DateTimePicker콤포
가 있으니.. 특별한 목적이 아니라면.. 이렇게 할 필욘 없겠죠?
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=FormatDateTime('yy',Date);
Edit3.Text:=FormatDateTime('mm',Date);
Edit4.Text:=FormatDateTime('dd',Date);
end;
procedure TForm1.UpDown1ChangingEx(Sender: TObject;
var AllowChange: Boolean; NewValue: Smallint;
Direction: TUpDownDirection);
var //윤달, 윤년계산 제외하면, Max,Min속성으로 년, 월, 일을 설
정해도 됨. if edit4 then Max=31, min=1;
tmpDate:TDate; //윤달과 윤년계산 루틴 필요.
begin //31일이 넘어가면 자동으로 월수를 증가시키는 루틴 필요. 12
월일 넘어가면 년수를 증가시키는 루틴필요
if Activecontrol is TEdit then
begin
if TEdit(ActiveControl).Name='Edit4' then //Day
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+1;
Edit4.Text:=FormatDateTime('dd', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-1;
Edit4.Text:=FormatDateTime('dd', tmpDate);
end
else ;
end
else if TEdit(ActiveControl).Name='Edit3' then //Month
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+31;
Edit3.Text:=FormatDateTime('mm', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-31;
Edit3.Text:=FormatDateTime('mm', tmpDate);
end
else ;
end
else if TEdit(ActiveControl).Name='Edit2' then //Year
begin
if Direction in [updUp] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)+365;
Edit2.Text:=FormatDateTime('yy', tmpDate);
end
else if Direction in [updDown] then
begin
tmpDate:=StrToDate(Edit2.Text+'-'+Edit3.Text+'-'+Edit4.Text)-365;
Edit2.Text:=FormatDateTime('yy', tmpDate);
end
else ;
end
else ;
end;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
Showmessage(ActiveControl.name);
end;
end.
님아... 분류는 VCL이 될것같네용. ^^;
저도 요즘은 분류에 신경을 많이쓰고 있담니당.