Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
에디트 박스값을 월, 일로 변환 문제...
안녕하세요...
궁금한게 있어서 질문드립니다.
에디트박스 3개로 년, 월, 일을 입력받았구요
이걸 날짜방식으로 어케 바꾸는지요?
ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109
쉬운거 같으면서도 어렵군요...
아시는 분있으면 답 좀 주세요 ^^
8
COMMENTS
조규춘
•
2000.03.14 00:17
왕초짜 wrote:
> 안녕하세요...
> 궁금한게 있어서 질문드립니다.
> 에디트박스 3개로 년, 월, 일을 입력받았구요
> 이걸 날짜방식으로 어케 바꾸는지요?
> ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109
> 쉬운거 같으면서도 어렵군요...
> 아시는 분있으면 답 좀 주세요 ^^
>
안녕하셔요!
저도 초짜지만 아는데로 하지요! 히~!
날짜를 쪼개는 것은 DecodeDate함수를 쓰면 되지요
다음은 오늘의 날짜를 쪼개는 것이지요!
var
Present: TDateTime;
Year, Month, Day : Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Label1.Caption := IntToStr(Year)+'년'+IntToStr(Month)+'달'+IntToStr(Day)+'일 입니다.';
end;
쪼개진 날짜를 합치는 함수는 EncodeDate 이지요!
var
MyDate: TDateTime;
begin
MyDate := EncodeDate(1998, 12, 1);
Label1.Caption := DateToStr(MyDate);
end;
그리하여 MyDate := EncodeDate(strtoint(edit1.Text),strtoint(edit2.Text ),strtoint(edit3.Text) );
이런식으로 해도 돼는되요! 히~!
행복하셔요! 대전에서....
0
0
삭제
수정
댓글
왕초짜
•
2000.03.14 01:03
MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) );
요렇게 하니까 년도가 짤리는군요 (ed1 : 2000, ed2 :01, ed3 : 01 -> 00-01-01)
그냥 붙여서 20000101이 되게 하는 방법은요?
0
0
삭제
수정
댓글
parkisu
•
2000.03.14 09:46
왕초짜 wrote:
> MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) );
>
> 요렇게 하니까 년도가 짤리는군요 (ed1 : 2000, ed2 :01, ed3 : 01 -> 00-01-01)
> 그냥 붙여서 20000101이 되게 하는 방법은요?
>
제어판의 국가별설정에서 날짜의 형식을 살펴보십시오. yyyy-MM-dd로 형태로 되어있지 않으면 위와 같은 현상이 일어납니다.
yyyy는 년도를 네자리로 나타나게 합니다.
0
0
삭제
수정
댓글
박성훈
•
2000.03.14 00:16
왕초짜 wrote:
> 안녕하세요...
> 궁금한게 있어서 질문드립니다.
> 에디트박스 3개로 년, 월, 일을 입력받았구요
> 이걸 날짜방식으로 어케 바꾸는지요?
> ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109
> 쉬운거 같으면서도 어렵군요...
> 아시는 분있으면 답 좀 주세요 ^^
>
StrToDate이나 EncodeDate함수를 이용해 보세요.
var
D:TDate;
D:= StrToDate(box1.Text+'-'+box2.Text+'-'+box3.Text);
//또는
D:= EncodeDate(StrToInt(box1.Text),StrToInt(Box2.Text),StrToInt(box3.Text));
0
0
삭제
수정
댓글
최용일
•
2000.03.14 00:13
다음과 같이 FormatDateTime함수를 이용하세요
FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+Box2.Text+'-'+ Box3.Text);
왕초짜 wrote:
> 안녕하세요...
> 궁금한게 있어서 질문드립니다.
> 에디트박스 3개로 년, 월, 일을 입력받았구요
> 이걸 날짜방식으로 어케 바꾸는지요?
> ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109
> 쉬운거 같으면서도 어렵군요...
> 아시는 분있으면 답 좀 주세요 ^^
>
0
0
삭제
수정
댓글
왕초짜
•
2000.03.14 00:57
최용일 wrote:
> 다음과 같이 FormatDateTime함수를 이용하세요
>
> FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+Box2.Text+'-'+ Box3.Text);
>
위와 같이 했더니 이런 에러가 나는데요?
뭣땜에 그렇지요? T_T
procedure Tflye0101.BitBtn1Click(Sender: TObject);
var x, y : Tdate;
begin
x := EncodeDate(StrToInt(Ed_yy.Text),strtoint(Ed_mm.Text),StrToInt(Ed_dd.Text));
y := Formatdatetime('yyyymmdd', x);
end;
[Error] lye0101.pas(234): Incompatible types: 'TDate' and 'String'
0
0
삭제
수정
댓글
최용일
•
2000.03.14 01:17
당연히 에러가 날수밖에 없습니다.
FormatDateTime은 TDate형을 돌려주는게 아니라 날짜의 문자열을 돌려주니까요..
만일 버튼을 클릭했을때 20000101 이런 형식의 날짜를 Label1에 출력한다면
procedure Tflye0101.BitBtn1Click(Sender: TObject);
var
X: TDate;
begin
X := EncodeDate(StrToInt(Ed_yy.Text),strtoint(Ed_mm.Text),StrToInt(Ed_dd.Text));
Label1.Caption := FormatDateTime('yyyymmdd, X);
end;
EncodeDate보다는 StrToDate가 더 쓰시기에는 좋다고 생각하는데... EncodeDate를
쓰시면 굳이 스트링을 정수로 안 바꾸시고도 바로 사용이 가능합니다.
> procedure Tflye0101.BitBtn1Click(Sender: TObject);
> var x, y : Tdate;
> begin
> x := EncodeDate(StrToInt(Ed_yy.Text),strtoint(Ed_mm.Text),StrToInt(Ed_dd.Text));
> y := Formatdatetime('yyyymmdd', x);
> end;
>
왕초짜 wrote:
> 최용일 wrote:
> > 다음과 같이 FormatDateTime함수를 이용하세요
> >
> > FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+Box2.Text+'-'+ Box3.Text);
> >
>
> 위와 같이 했더니 이런 에러가 나는데요?
> 뭣땜에 그렇지요? T_T
>
> procedure Tflye0101.BitBtn1Click(Sender: TObject);
> var x, y : Tdate;
> begin
> x := EncodeDate(StrToInt(Ed_yy.Text),strtoint(Ed_mm.Text),StrToInt(Ed_dd.Text));
> y := Formatdatetime('yyyymmdd', x);
> end;
>
> [Error] lye0101.pas(234): Incompatible types: 'TDate' and 'String'
0
0
삭제
수정
댓글
blueSky
•
2000.03.14 01:11
왕초짜 wrote:
> 최용일 wrote:
> > 다음과 같이 FormatDateTime함수를 이용하세요
> >
> > FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+Box2.Text+'-'+ Box3.Text);
> >
>
> 위와 같이 했더니 이런 에러가 나는데요?
> 뭣땜에 그렇지요? T_T
>
> procedure Tflye0101.BitBtn1Click(Sender: TObject);
> var x, y : Tdate;
> begin
> x := EncodeDate(StrToInt(Ed_yy.Text),strtoint(Ed_mm.Text),StrToInt(Ed_dd.Text));
> y := Formatdatetime('yyyymmdd', x);
> end;
>
> [Error] lye0101.pas(234): Incompatible types: 'TDate' and 'String'
해당의 에러메세지는 타입문제입니다.
위의 선언구문중 y의 값은 string형으로 바꾸면 됩니다.
var
x : Tdate;
y : String;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
왕초짜
•
2000.03.13 23:26
8
COMMENTS
/
0
LIKES
에디트 박스값을 월, 일로 변환 문제...
안녕하세요... 궁금한게 있어서 질문드립니다. 에디트박스 3개로 년, 월, 일을 입력받았구요 이걸 날짜방식으로 어케 바꾸는지요? ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109 쉬운거 같으면서도 어렵군요... 아시는 분있으면 답 좀...
조규춘
•
2000.03.14 00:17
왕초짜 wrote: > 안녕하세요... > 궁금한게 있어서 질문드립니다. > 에디트박스 3개로 년, 월, 일을 입...
왕초짜
•
2000.03.14 01:03
MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) ); 요렇게 하니까 년...
parkisu
•
2000.03.14 09:46
왕초짜 wrote: > MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) ); > ...
박성훈
•
2000.03.14 00:16
왕초짜 wrote: > 안녕하세요... > 궁금한게 있어서 질문드립니다. > 에디트박스 3개로 년, 월, 일을 입...
최용일
•
2000.03.14 00:13
다음과 같이 FormatDateTime함수를 이용하세요 FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+...
왕초짜
•
2000.03.14 00:57
최용일 wrote: > 다음과 같이 FormatDateTime함수를 이용하세요 > > FormatDateTime('yyyymmdd', Str...
최용일
•
2000.03.14 01:17
당연히 에러가 날수밖에 없습니다. FormatDateTime은 TDate형을 돌려주는게 아니라 날짜의 문자열을 돌려...
• • •
철이
•
2000.03.13 23:15
2
COMMENTS
/
0
LIKES
delphi에서 엑세스 디비를 연결하여 사용하였습니다....
젠키
•
2000.03.13 23:42
철이 wrote: > delphi에서 엑세스 디비를 연결하여 사용하였습니다.... > 프로그램이 실행되거나, 디비가...
철이
•
2000.03.14 18:34
젠키 wrote: > 철이 wrote: > > delphi에서 엑세스 디비를 연결하여 사용하였습니다.... > > 프로그램이...
이정욱
2000.03.13 22:54
0
COMMENTS
/
0
LIKES
Re: 동영상 처리 / 화상 처리
기타맨
2000.03.13 22:47
0
COMMENTS
/
0
LIKES
TWebBrowser에서 popup사용
박성훈
•
2000.03.13 22:44
3
COMMENTS
/
0
LIKES
두날짜시간의 차이를 구해서 시간으로 나타내려면
근수
•
2000.03.25 07:16
박성훈 wrote: > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하...
최용일
•
2000.03.14 00:58
TimeStamp를 이용하시면 간단히 구하실 수 있습니다. var Time1, Time2, pTime: TTimeStamp; begin ...
박성훈
•
2000.03.14 00:23
박성훈 wrote: > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하...
송정환
•
2000.03.13 22:38
1
COMMENTS
/
0
LIKES
HTML
최용일
•
2000.03.13 23:59
텍스트(.txt)파일로 저장하는 방법처럼 하시면 됩니다. 단지 그 사이사이에 HTML태그를 넣어서 저장하시...
한승수
•
2000.03.13 22:16
2
COMMENTS
/
0
LIKES
실행중인 프로그램 list 구하기..
장은석
•
2000.03.14 15:57
한승수 wrote: > > 두개 이상 실행시키는 것을 막기 위해 > > 제가 짠 프로그램이 이미 실행중이...
blueSky
•
2000.03.13 23:55
한승수 wrote: > > 두개 이상 실행시키는 것을 막기 위해 > > 제가 짠 프로그램이 이미 실행중이...
toto1052
2000.03.13 22:02
0
COMMENTS
/
0
LIKES
CTRL키를 누른것처럼코딩하기..
이주성
•
2000.03.13 21:14
2
COMMENTS
/
0
LIKES
quick report의 디테일 테이블 화면분할 인쇄
착한악마
•
2000.03.14 07:24
리포트 옵션에 있는 기능이거든요... 리포트 세팅에서 컬럼수를 조정해 보세요....그럼 될겁니다...( 코딩...
하얀까마귀
•
2000.03.13 22:19
안녕하세요 하얀까마귀 입니다... 불행히도 없어요....(
Go100
•
2000.03.13 20:54
1
COMMENTS
/
0
LIKES
[급질문]DbGrid에서 숫자 format하는 방법좀..제발
종이학
•
2000.03.13 21:00
Go100 wrote: > 어떤 폼에서 조회를 하면서 DbGrid 숫자 필드에 > (1,000,000,000) 이처럼 3자리에 컴마...
정영민
•
2000.03.13 20:20
1
COMMENTS
/
0
LIKES
테이블에 있는 string 필드를 소트해서 보여주는 법?
하얀까마귀
•
2000.03.13 20:55
안녕하세요 하얀까마귀 입니다. 처음 질문은 그냥 불러 올때 소트를 하시구요... order by 하시면 됩니...
김경한
•
2000.03.13 19:04
3
COMMENTS
/
0
LIKES
시간에서 초을 1씩 카운트하여 스티링 그리드에 저장하는 법..
blueSky
•
2000.03.13 19:11
김경한 wrote: > > 급합니다. > > 시간이 만약 16:45 초라면,, (16 분 45 초) > > 에디트 박스...
김경한
•
2000.03.13 19:25
blueSky wrote: > 김경한 wrote: > > > > 급합니다. > > > > 시간이 만약 16:45 초라면,, (16 분 ...
강인규
•
2000.03.13 21:59
위의 분이 답변주신것이 맞습니다. 초에서 'ss'를 해주면 01초가 되지요. 아마도 문자형으로 디비에 저...
박성훈
•
2000.03.13 18:59
1
COMMENTS
/
0
LIKES
관련프로그램실행 재질문
최용일
•
2000.03.13 20:41
저의 답변을 이해를 못하신것 같군요... 저는 OS(explorer.exe)차원에서 이야기한 것인데... 그럼 두번째 ...
박상길
•
2000.03.13 18:36
1
COMMENTS
/
0
LIKES
WIndows CE와 델파이
하얀까마귀
•
2000.03.14 23:54
박상길 wrote: > Windows CE 에서 델파이 지원이 가능한지 알고 싶습니다....... 안녕하세요 하얀까마...
안대규
•
2000.03.13 18:35
1
COMMENTS
/
0
LIKES
컴파일을 어떻게
박성훈
•
2000.03.13 18:56
안대규 wrote: > 안녕하세요~~~ > 궁금중이 있어 이렇게 글을 올립니다. > 델파이에서 제공하는 vcl디렉...
초보
•
2000.03.13 17:30
2
COMMENTS
/
0
LIKES
레지스트리 변수 급해요...
장은석
•
2000.03.14 10:15
초보 wrote: > 레지스트리의 rootkey: HKEY_LOCAL_MACHINE 에서 > 'SOFTWAREMicrosoftWindowsCurrentVers...
초보
•
2000.03.15 01:08
제 질문을 바로 이해해 주시고 답변 주시니 고마습니다. 덕분에 성공했습니다.
최진수
2000.03.13 11:39
0
COMMENTS
/
0
LIKES
디렉터를 델파이에서??
mad
•
2000.03.13 11:21
2
COMMENTS
/
0
LIKES
컴퓨터를 끄기 전까지는 윈도우화면에서 항상 활성화...
최용일
•
2000.03.13 21:22
SetWindowHookEx와 같은 API함수를 이용하여 시스템전체의 메세지나 이벤트를 장악하시면 됩니다. 쉽게 말...
조규춘
•
2000.03.13 21:16
고수는 아니지만 그냥 한번 올려 봅니다. 아래의 소스는 ctrl + alt + del을 눌렀을때 내가 만든 프로그...
mad
•
2000.03.13 11:15
1
COMMENTS
/
0
LIKES
여러개의 키보드조합을 지정해서 그림을 변경
최용일
•
2000.03.13 23:47
레지스트리에 핫키를 등록하시어 사용하시면 됩니다. 그럼 폼이 활성화되었건 비활성화 되었건간에 상관없...
때밀이
•
2000.03.13 10:58
1
COMMENTS
/
0
LIKES
MSSQL -> oracle로 옮기는중이었는디...
종이학
•
2000.03.13 20:56
때밀이 wrote: > test1과 test2에서 다음과 같이 비교하려 합니다. > > select a.* from test1 a, > ...
왕초짜
2000/03/13 23:26
Views
253
Likes
0
Comments
8
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요...
> 궁금한게 있어서 질문드립니다.
> 에디트박스 3개로 년, 월, 일을 입력받았구요
> 이걸 날짜방식으로 어케 바꾸는지요?
> ex) box1 : 2000, box2 : 1, box3 : 9 -> 20000109
> 쉬운거 같으면서도 어렵군요...
> 아시는 분있으면 답 좀 주세요 ^^
>
안녕하셔요!
저도 초짜지만 아는데로 하지요! 히~!
날짜를 쪼개는 것은 DecodeDate함수를 쓰면 되지요
다음은 오늘의 날짜를 쪼개는 것이지요!
var
Present: TDateTime;
Year, Month, Day : Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Label1.Caption := IntToStr(Year)+'년'+IntToStr(Month)+'달'+IntToStr(Day)+'일 입니다.';
end;
쪼개진 날짜를 합치는 함수는 EncodeDate 이지요!
var
MyDate: TDateTime;
begin
MyDate := EncodeDate(1998, 12, 1);
Label1.Caption := DateToStr(MyDate);
end;
그리하여 MyDate := EncodeDate(strtoint(edit1.Text),strtoint(edit2.Text ),strtoint(edit3.Text) );
이런식으로 해도 돼는되요! 히~!
행복하셔요! 대전에서....