Изменение размера консоли после запуска досовских прог

Здесь можно сообщить о найденных багах в Far.
Volutar
Posts: 19
Joined: Tue 25 May, 2010 10:16

Изменение размера консоли после запуска досовских прог

Post by Volutar » Tue 25 May, 2010 10:29

Прочитал последние 15 страниц не увидел ничего об этом.
Сборка 1568 (предыдущие тоже)
При запуске консольных прог, которые устанавливают какой-либо текстовый режим (80x50,80x43,80x25, и т.д), как например старый досовский UltraCompressor (uc.exe), или foxpro, размер экрана консоли соответстующим образом меняется (что правильно). А вот при выходе из програмы обратно не восстанавливаются (что не правильно) - приходится после этого перезапускать Far.

Shift+Enter на каталогах вызывая проводник сдвигает буфер вверх на 2 строки - подтверждаю.
Last edited by Volutar on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлена ссылка на исходную тему

User avatar
abelenki
Posts: 444
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 126 times
Been thanked: 17 times
Contact:

Re: Изменение размера консоли после запуска досовских прог

Post by abelenki » Tue 25 May, 2010 10:40

Volutar wrote:Shift+Enter на каталогах вызывая проводник сдвигает буфер вверх на 2 строки - подтверждаю.
это уже исправлено в 1571.

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 10:42

Volutar wrote:А вот при выходе из програмы обратно не восстанавливаются (что не правильно) - приходится после этого перезапускать Far.
Спорно. Например, если сделать как вы хотите, то команда mode не будет работать.

А перезапускать фар не надо - есть способы и попроще, самый простой - Alt-F9.

User avatar
HaRT
Moderator
Posts: 8644
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 142 times

Re: Изменение размера консоли после запуска досовских прог

Post by HaRT » Tue 25 May, 2010 11:12

John Doe wrote:
Volutar wrote:А вот при выходе из програмы обратно не восстанавливаются (что не правильно) - приходится после этого перезапускать Far.
Спорно. Например, если сделать как вы хотите, то команда mode не будет работать.
В случае досовых прог — бесспорно, надо восстанавливать.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 11:17

Спорно.
Дос-программа вывела в буфер какой-то текст. Если изменить размер обратно - в лучшем случае текст переформатируется.
В худшем - весь буфер сотрётся.

А вообще, в семёрке это уже будет неактуально :ha:

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 11:22

Переходим от теории к практике: у меня размер после дос-программы восстанавливается, сам.

И буфер при этом действительно портится.

P.S.
Windows XP SP3
x32

Dzirt2005
Posts: 293
Joined: Fri 29 Feb, 2008 12:11
Been thanked: 1 time

Re: Изменение размера консоли после запуска досовских прог

Post by Dzirt2005 » Tue 25 May, 2010 11:24

John Doe wrote:...
А вообще, в семёрке это уже будет неактуально :ha:
Почему это? В семерке прекрасно работают все досовые программы, которые не требуют полноэкранного режима. Есть даже встроенный Edit.
Attachments
msdos_edit.png
msdos_edit.png (4.7 KiB) Viewed 7651 times

User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Изменение размера консоли после запуска досовских прог

Post by Andrey Budko » Tue 25 May, 2010 11:26

John Doe wrote:Переходим от теории к практике: у меня размер после дос-программы сам восстанавливается.
У меня вроде тоже. Во всяком случае после этой. А вот если запускать из под ConEmu - то не восстанавливается.

User avatar
HaRT
Moderator
Posts: 8644
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 142 times

Re: Изменение размера консоли после запуска досовских прог

Post by HaRT » Tue 25 May, 2010 11:33

John Doe wrote:Если изменить размер обратно - в лучшем случае текст переформатируется.
В худшем - весь буфер сотрётся.
Можете ли привести примеры таких досовых программ, которые меняют параметры консоли и чей вывод представляет бОльшую ценность после выхода из программы, чем во время её работы?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 11:43

Хуже всего то, что буфер стирается полностью: не только вывод дос-программы, но и всё что там было до этого.

Лучше приведите пример дос-программ, которым нет современной замены, и приходится часто запускать из фара.
(Лично я недавно очистил папку утилит от всех дос-программ)

User avatar
HaRT
Moderator
Posts: 8644
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 142 times

Re: Изменение размера консоли после запуска досовских прог

Post by HaRT » Tue 25 May, 2010 11:53

John Doe wrote:Лучше приведите пример дос-программ, которым нет современной замены, и приходится часто запускать из фара.
Лично мне досовыми программами пользоваться тоже не приходится. Но раз тему подняли, значит у кого-то ситуация иная.

На мой взгляд, после досовой программы, которая работает с консолью непосредственно (минуя стандартные потоки ввода-вывода), консольный буфер надо восстанавливать в полном объёме. Впрочем, возможно удастся придумать и более интеллектуальные (или, напротив, реалистичные) критерии для принятия такого решения.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 11:57

А у вас размер консоли тоже САМ не восстанавливается?

P.S.
Что касается интеллектуальных критериев, то не проще ли пользователю Alt-F9 нажать (или запускать в отдельной консоли), чем разработчикам морочиться с тонкой настройкой запуска доисторических программ?

Volutar
Posts: 19
Joined: Tue 25 May, 2010 10:16

Re: Изменение размера консоли после запуска досовских прог

Post by Volutar » Tue 25 May, 2010 12:10

Есть факт: то, что работало (и работает) корректно в Far1.75, в Far2.0 работает "с глюками" (пример я привёл - досовский foxpro, на котором написано немеряно всякого, используемого в организации).
Искать причины "почему эта недоработка не нуждается в исправлении" можно вообще по поводу чего угодно, в том числе и BSOD (в итоге советы сведутся к "не используйте far2.0").
А что проще разработчикам - так это перестать разрабатывать.

Volutar
Posts: 19
Joined: Tue 25 May, 2010 10:16

Re: Изменение размера консоли после запуска досовских прог

Post by Volutar » Tue 25 May, 2010 12:15

Не каждое досовское приложение, работающее в текстовом режиме, изменяют видео режим (есть даже откровенно консольное безо всяких окошечек, типа lz.exe, которое его меняет "просто так на всякий случай"). Данный issue относится именно к тем, которые меняют разрешение экрана. По возвращению из консольного приложения фар похоже не всегда восстанавливает разрешение).
За совет с Alt+F9 - спасибо. Но это все-таки workaround.

User avatar
HaRT
Moderator
Posts: 8644
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 142 times

Re: Изменение размера консоли после запуска досовских прог

Post by HaRT » Tue 25 May, 2010 12:17

John Doe wrote:А у вас размер консоли тоже САМ не восстанавливается?
Я же говорю: не пользуюсь, т.ч. и не портится, и не восстанавливается.
А если серьёзно, то у меня в Фаре 1.75 и размер, и содержимое буфера после выхода из edit.com (вот, кстати, и ответ, не Win32 ли он) восстанавливаются. И поэтому резонно ожидать, что такое поведение сохранится даже несмотря на недавний пересмотр работы с буфером в Фар2.
John Doe wrote:не проще ли пользователю Alt-F9 нажать (или запускать в отдельной консоли), чем разработчикам морочиться с тонкой настройкой запуска доисторических программ?
Напомню, что изначально компьютер — средство автоматизации. Т.ч. даже если кому-то кажется, что проще, это идеологически неверно.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Re: Изменение размера консоли после запуска досовских прог

Post by John Doe » Tue 25 May, 2010 12:17

Volutar wrote:Есть факт: то, что работало (и работает) корректно в Far1.75, в Far2.0 работает "с глюками"
Есть факт: в этой теме два человека не подтвердили описанную вами проблему.
HaRT wrote:А если серьёзно, то у меня в Фаре 1.75 и размер, и содержимое буфера после выхода из edit.com (вот, кстати, и ответ, не Win32 ли он) восстанавливаются. И поэтому резонно ожидать, что такое поведение сохранится даже несмотря на недавний пересмотр работы с буфером в Фар2
А в фар 2 вы проверяли?

Post Reply

Return to “Глюки и баги”