Запустите Firefox из окна терминала, откройте текстовый файл и поместите текст, показанный в указанной строке - PullRequest
0 голосов
/ 01 сентября 2018

Я хотел бы улучшить средство справки в программе на Фортране, открывая руководство пользователя в отдельном окне браузера (Firefox) всякий раз, когда пользователь вводит? в качестве ответа на вопрос программа спрашивает.

Я могу использовать систему вызовов ('path / firefox -file user_guide.hlp')

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

Я знаю, какие строки в файле справки должны иметь отношение к пользователю, потому что внутри программы на Фортране я отслеживаю команды, которые пользователь сделал (я использую интерфейс командной строки, без графического интерфейса). В настоящее время я печатаю эти строки в окне терминала, в котором выполняется программа, но это ограничивает количество строк, которые я могу напечатать, и скрывает вывод программы. С полным руководством пользователя, доступным в отдельном окне, пользователь также может легко искать дополнительные объяснения в другом месте руководства пользователя, я не ожидаю, что он или она добровольно прочитает руководство пользователя.

Спасибо за любую помощь

Бо Сундман

1 Ответ

0 голосов
/ 02 сентября 2018

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

<a name="1"/>
help topic 1
<a name="2"/>
help topic 2

Когда вы звоните Firefox, чтобы перейти на якорь 2

system('path/firefox -file user_guide.html#2')

Это должно работать во всех браузерах. Более новые также примут id = вместо name =

EDIT Если вышеперечисленное не работает, попробуйте

system('path/firefox "file://path/user_guide.html#2"')

РЕДАКТИРОВАТЬ 2 Если и путь firefox, и путь к файлу html имеют пробелы, в Windows можно использовать имена файлов 8.3. Используйте dir / x, чтобы узнать, что такое имена файлов 8.3. В качестве альтернативы можно использовать имена файлов с пробелами; синтаксис довольно странный

 call execute_command_line('""C:\...\firefox.exe" "file://x:\...\userguide.html#2""')
  1. начать строку с '
  2. Используйте 2 двойные кавычки для первой двойной кавычки ""
  3. Добавьте свой путь к firefox
  4. Используйте 1 двойную кавычку для завершения имени пути
  5. добавить пробел
  6. Используйте 1 двойную кавычку для запуска параметра
  7. Добавить параметр
  8. Используйте 2 двойные кавычки для завершения
  9. конец строки с '
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...