2014-01-27 4 views
1

Turbo Pascal 7로 작성된 기존 응용 프로그램을 수정해야 현재 표준 시간대 오프셋을 찾아야합니다. 이 프로그램은 32 비트 XP 환경의 DOS 상자에서 실행됩니다.DOS 용 Turbo Pascal - 현재 시간대 오프셋을 얻는 방법

아무도이 일을하는 방법을 알고 있습니까?

** 수정 **

내가 DOS에서 GetSystemTime 동등한를 호출하는 방법을 원하는 즉, 아마, 내가 UTC 시간을 알고 싶어하기 때문에이 질문에 대한 이유가 있음을 추가해야합니다.

답변

2

파스칼에서 Exec 문을 사용하여 파이프로 DOS systeminfo 명령 출력을 실행 한 다음 파스칼을 사용하여 결과 출력을 구문 분석하십시오. 예 ...

c:\>systeminfo | find "Time Zone" 
Time Zone:     (UTC-05:00) Eastern Time (US & Canada) 

c:\> 

결과를 얻으려면 Windows 7에서 초 걸리지 만 XP에서는 더 빨리 실행해야합니다.

+0

영리합니다. 너무 오래 걸리는 것은 수치스러운 일입니다. 안타깝게도 정보의 하위 집합을 제공하는 명령 줄 옵션은 없습니다. 나는 이것으로 실험 할 수도있다. 어쩌면 명령의 출력을 조금 더 치우고 환경 변수를 설정해 보겠습니다. DOS에서도 읽을 수 있다고 가정하면 상당히 빨라질 것입니다. 'systeminfo' 명령은 드물게 - 시간당으로 만 - 실행될 수 있습니다. – rossmcm

+0

sysinfo (설치하는 것) 외에 다른 DOS 프로그램을 사용하거나 Turbo Pascal의 레지스트리에서 설정을 가져 오면 해당 종류의 것을 지원할 수 있습니다. –

+0

흠 ... @ 릭, TP가 레지스트리를 지원하지 않는 것 같습니다. – rossmcm

관련 문제