안녕하십니까?
왕 초보 유저 입니다.
시간을 계산하는 프로그램을 짜는데... 잘 안됩니다
고수님들 도와 주십시오.
HYear, HMonth, HDay, Hour, Min, Sec, MSec: Word;
HDate1, HDate2, DffDate: TDateTime;
strdate1, strdate2, str : string;
for njj := 1 to 100 do begin
strdate1 := MyXLapp.Cells[njj+1, 3];
strdate2 := MyXLapp.Cells[njj, 13];
//시작 날짜지정 StrToDateTime도 있으나 시스템 영향 안받게 하려했믐
HYear := StrToint(copy(strdate1,1,4));
HMonth:= StrToint(copy(strdate1,5,2));
HDay := StrToint(copy(strdate1,7,2));
Hour := StrToint(copy(strdate1,9,2));
Min := StrToint(copy(strdate1,11,2));
Sec := StrToint(copy(strdate1,13,2));
MSec := 0;
HDate1 := EncodeDate(HYear, HMonth, HDay) + EncodeTime(Hour, Min, Sec, MSec);
HYear := StrToint(copy(strdate2,1,4));
HMonth:= StrToint(copy(strdate2,5,2));
HDay := StrToint(copy(strdate2,7,2));
Hour := StrToint(copy(strdate2,9,2));
Min := StrToint(copy(strdate2,11,2));
Sec := StrToint(copy(strdate2,13,2));
MSec := 0;
HDate2 := EncodeDate(HYear, HMonth, HDay) + EncodeTime(Hour, Min, Sec, MSec);
DffDate := HDate1-HDate2;
end;
액셀에서 불러오는 데이터(20090404123033)형태를 불러서 계산하는 프로그램인데 1번은 잘 돌아 가는데
for 문 2번째 돌때 아래 라인에서 에러가 발생 합니다.
HDate1 := EncodeDate(HYear, HMonth, HDay) + EncodeTime(Hour, Min, Sec, MSec);
원래 TDataTime 형식은 2번 넣을수 없는건가요???
고수님들 조언 부탁 드립니다...ㅠㅠ
어떤 에러가 발생하는지는 모르겠지만...
저 코드에서 발생할 수 있는 에러는 변환에러(EConvertError)밖에 없을듯하네요...
입력받은 데이터가 널이거나... 아님 HMonth에 13이 들어가거나 해서 날짜형 범위를 초과했거나...
데이터를 확인해보세요...