크...지금새벽 2시 50 분인뎅..
머리를 싸메두 답이 안나오네요,.,,
두 시간간에 시간차를 알고자 하는데..방법이 조금 다릅니다..
만일 시작시간이 2001-02-03 23:25:00 이고
종료시간이 2001-02-04 05:40:00 이라면
23시경에는 35분을 쓰고
00시경에는 60분을 쓰고
01시경에는 60분을
...
...
05시경에는 40분을 쓴건데...이걸 풀어서 내용을 보여 주자면
이런 식으로 보여 주어야 합니다..
23 00 01 02 03 04 05
35 60 60 60 60 60 40
제가 머리가 나쁜건지...아님 델파이에 시간과 관련된 함수를 이해를 못하는건지..
도무지 답이 안나 옵니다..
아는 함수는 다 가져다 써보고 나온 예제는 다보았건만..
이런식으로 푸는 방법은 도무지....쩝
고수님들 도와주세용,,,,
VAR
STime : TdateTime;
ETime : TdateTime;
procedure TForm1.FormCreate(Sender: TObject);
begin
STime := Now;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
end;
프로그래머에게 있어서 사고력은 필수입니다. 조금만 잘 생각해보시면 나올텐데...
아래 코드를 참조하세요.
var
StartTime, EndTime, CurTime: TDateTime;
StartHour, StartMin, StartSec, StartMSec: Word;
EndHour, EndMin, EndSec, EndMSec: Word;
CurHour: Word;
begin
ListBox1.Items.Clear;
StartTime := StrToDateTime('2001-02-03 23:25:00');
EndTime := StrToDateTime('2001-02-04 05:40:00');
DecodeTime(StartTime, StartHour, StartMin, StartSec, StartMSec);
DecodeTime(EndTime, EndHour, EndMin, EndSec, EndMSec);
CurHour := StartHour;
CurTime := StartTime + 1/24 - StartMin/24/60;
if CurTime > EndTime then
begin
ListBox1.Items.Add(IntToStr(CurHour) + ' ' + IntToStr(EndMin - StartMin));
if (StartHour = EndHour) then
Exit;
end
else
ListBox1.Items.Add(IntToStr(CurHour) + ' ' + IntToStr(60-StartMin));
while CurTime < EndTime do
begin
CurTime := CurTime + 1/24;
if CurTime < EndTime then
begin
CurHour := (CurHour + 1) mod 24;
ListBox1.Items.Add(IntToStr(CurHour) + ' ' + IntToStr(60));
end;
end;
CurHour := (CurHour + 1) mod 24;
if EndMin <> 0 then
ListBox1.Items.Add(IntToStr(CurHour) + ' ' + IntToStr(EndMin));
end;
^^ 항상 즐코하세요...
김진호 wrote:
> 크...지금새벽 2시 50 분인뎅..
> 머리를 싸메두 답이 안나오네요,.,,
>
> 두 시간간에 시간차를 알고자 하는데..방법이 조금 다릅니다..
>
> 만일 시작시간이 2001-02-03 23:25:00 이고
> 종료시간이 2001-02-04 05:40:00 이라면
>
> 23시경에는 35분을 쓰고
> 00시경에는 60분을 쓰고
> 01시경에는 60분을
> ...
> ...
> 05시경에는 40분을 쓴건데...이걸 풀어서 내용을 보여 주자면
>
> 이런 식으로 보여 주어야 합니다..
> 23 00 01 02 03 04 05
> 35 60 60 60 60 60 40
>
> 제가 머리가 나쁜건지...아님 델파이에 시간과 관련된 함수를 이해를 못하는건지..
> 도무지 답이 안나 옵니다..
> 아는 함수는 다 가져다 써보고 나온 예제는 다보았건만..
> 이런식으로 푸는 방법은 도무지....쩝
>
> 고수님들 도와주세용,,,,
>
> VAR
> STime : TdateTime;
> ETime : TdateTime;
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> STime := Now;
> end;
>
> procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
> begin
>
> end;
>
>
>
>