Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Display/1

Как и с помощью других предикатов редактирования, с помощью display

в активное окно вызывается редактор Турбо Пролога, но допускается только

чтение текста. Предикат имеет формат:

display(String) /* (i) */

display позволяет пользователю читать текст String, пользуясь средс-

твами редактора, но изменять его не допускается. Потому в режиме display

доступно лишь подмножество средств редактора, включая поиск строки.

dir/3

С помощью этого предиката осуществляется доступ к средствам отобра-

жения каталога:

dir(Path, FileSpec, Filename) /* (i,i,o) */

Причем Path и FilSpec должны быть ограничены, они в совокупности оп-

ределяют группу файлов, которую необходимо высветить на экране. После то-

го как группа файлов появится на экране, пользователь может выбрать один

из них с помощью стрелок управления курсором. Выбранный файл выделяется

повышенной яркостью. Если после выбора файла нажать ВВОД, то режим dir

завершится, а переменная Filename связывается с именем выделенного файла.

Например:

dir("c:\\tprolog2\\bgi","*.chr",NameOfFile)

При обработке этого предиката высвечивается список всех файлов с

расширением .CHR из каталога C:\TPROLOG2\BGI\. Если пользователь выберет

один из файлов, переменная NameOfFile будет связана с полным именем этого

файла (включая путь доступа).

Например, если выбран файл LITT.CHR, то переменная NameOfFile будет

связана с C:\TROLOG2\BGI\LITT.CHR.

dir/6

Этот предикат - расширение средств доступа к каталогам.

dir(Path, FilSpec, FileName, ShowDir, ShgFileMask, ShowPath)

/* (i,i,o,i,i,i) */

Используя эту версию dir, можно сделать так, чтобы окно каталога ра-

ботало так же, как среда Турбо Пролога (высвечиваются каталоги, и маску

файла можно изменить нажатием клавиши F4).

Дополнительные аргументы имеют следующий смысл:

ShowDir =0 не включать каталоги

=1 включать каталоги

ShgFileMask =0 изменять маску файлов запрещается

=1 изменять маску файлов разрешается

ShowPath =0 не сообщать текущую маску файла

=1 сообщать текущую маску файлов

Пример доступа к редактору и каталогу.

Этот пример показывает, как использовать edit и dir для того, чтобы

встроить средства редактирования и возможности отображения каталога не-

посредственно в прикладную программу. Используя эту программу, можно выб-

рать файл из текущего каталога и отредактировать его.

/* Программа CH14EX06.PRO - Доступ к редактору в процессе

работы */

goal

dir("", "*.*", FileName),

file_str(FileName, TextStr),

str_len(TextStr, Len),

str_int(LenStr, Len),

concat("Size ", LenStr, StrSize),

InitPos = 3,

makewindow(1, 7, 7, "Edit Example", 3, 3, 20, 70),

edit(TextStr, OutStringArg, StrSize, FileName,

"After editing, press F10 or Esc to exit this editor",

InitPos, "prolog.err", 1, 1, 1, 1, RetPos, RetStatus),

writef("edited text:\n\n%\n", OutStringArg),

writef("\ncursor position at exit = %", RetPos),

writef("\nexit with (1 or 0): % \n", RetStatus),

write("\n1 = Esc"),

write("\n0 = F10").

Соседние файлы в папке Документация