2017-10-26 8 views
1

에서 페이지 아래로 이동하고 페이지 위로 키 누르기 작성한 모든 하위 파일을로드하는 데 추가 요구 사항이 있습니다. 서브 파일 제어 레코드 형식에는 사용자가 Enter 키를 누를 때 유효성이 확인되는 입력 필드가 거의 없습니다. 그런 다음 입력 매개 변수가 유효하면 입력 매개 변수 값을 충족시키는 데이터베이스 파일의 레코드가 서브 파일 레코드로 표시됩니다.모든 하위 파일로드

사용자가 입력 필드 값을 변경 한 후 Enter 키를 누르지 않고 페이지를 아래로 또는 페이지 위로 누르면 입력 필드 값의 유효성을 다시 검사하고 제공된 새 매개 변수에 따라 하위 파일 레코드를 새로 고쳐야한다는 새로운 요구 사항이 있습니다.

기술적으로 가능합니까? 서브 파일이 모두로드되기 때문에, page up 또는 page down 키를 눌러도 페이징은 OS에 의해 처리되므로 프로그램에 제어권을 다시 전달하지 않습니다 .Hence 나는 매개 변수의 유효성을 다시 확인할 수있는 방법을 볼 수 없습니다. Page Up 또는 Page Down 키를 누를 때 RPG로 제어권을 다시 전달할 수있는 방법이 있습니까? 또한 OS 제어를 페이징으로 설정하는 방법이 있습니까?

제안 사항을 알려주십시오.

+0

한 번에 페이지를 수행해야합니다. – danny117

답변

2

올바른지, 사용자가 확장 가능 서브 파일 (SFLSIZE <> SFLPAGE)에서 서브 파일의 시작 또는 끝까지 페이징 할 때까지 프로그램이 제어를 다시받지 못합니다. 그러나 시간 서브 파일 (SFLSIZE = SFLPAGE)에서 페이지를 사용한 경우 모든 PAGEUP/PAGEDOWN 키를 누를 때마다 프로그램으로 제어를 리턴 할 수 있습니다. 이렇게하면 프로그램의 구조가 약간 변경되지만 너무 많은 문제없이 작동 할 수 있어야합니다.

+0

Murph에게 감사드립니다! 기술 사양의 요구 사항 중 하나가 "OS가 페이징을 제어하게하십시오"라는 이유로 요구 사항을 다시 리드하기 전에 확인을 찾고있었습니다. 이제 나는 확신을 가지고 있습니다. – Fabionis

+0

하지만 페이지를 아래로 또는 페이지 위로 누를 때 ROLLUP 또는 ROLLDOWN 키워드를 DSPF DDS에 포함하지 않아도 (즉, OS를 속일 수 있다면) 컨트롤을 프로그램으로 되돌릴 수있는 부끄러운 방법을 찾을 수 있다면 여전히 흥미로울 것입니다 우리를 위해 페이징을하는 것으로). – Fabionis

+1

운영 체제가 페이징을 수행하지 않아서 터미널이 있다고 생각할 수 있습니다. 프로그램에서 터미널로 침입 할 방법이 없으므로 버퍼를 보내고 응답을 기다리는 것만 가능합니다. 이것은 클라이언트에서 프로그래밍 기능이없는 HTML과 매우 비슷합니다. HTML은 목록을 전송하고 사용자는 페이지 주위를 스크롤 할 수 있지만 탐색기를 클릭해야하는 물건의 다음 페이지를 가져올 수 있습니다. 우리의 경우 네비게이터는 페이지 다운 키입니다 (사용자가 서브 파일의 맨 아래까지 스크롤하면). 프로그램이 터미널과 통신 할 수있는 다른 방법은 없습니다. – jmarkmurphy