:: Visual Foxpro, Foxpro for DOS
Re: FPD 2.6 и буфер обмена Windows
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Там можно это включить в свойствах окна консоли.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
ssa
Simple777
есть отличная утилита WINCLIP, которая из-под FPD 2.6
С каких пор дос-программы стали запускать что-то "из-под" себя? С каких пор свойства виндовой консольной утилиты стали достоинствами ничего не знающей ничего про всё это дос-прогрммы?

В смысле "уточнить терминологию"? Уточняю.

Из среды FPD 2.6 посредством команды RUN можно вызывать командную строку Windows и вообще консольные утилиты. "Знать" FPD 2.6 ничего об этих программах не должен. Дело FPD 2.6 - запустить посредством RUN командную строку Windows. Например, можно запустить таким способом Word, Excel, интернет-браузер и т.п. Возможность же обмена данными через Windows Clipboard вообще очень важна. Вот раньше я не знал об утилите Winclip, и многие вопросы приходилось решать "окольными" путями.

Надо бы еще проверить при случае, будет ли работать Winclip в Win10 32.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Simple777
Надо бы еще проверить при случае, будет ли работать Winclip в Win10 32.
Проверил. Работает.

Но мне не давал покоя тот факт, что ради этого буфера придётся таскать winclip.exe. При том, что есть несопоставимо более мощная NirCmd.exe, к тому же имеющая в четыре раза меньший размер. А её я и так таскаю для других нужд – создание ярлыков, запуск exe/bat с повышением привилегий для регистрации dll/ocx… В связи с этим тоже провёл всяческие эксперименты. Результат такой:

Как и говорили выше, текущая кодовая страница здесь вообще не при делах. Её переключения 866/1251/437 никак не влияет.

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

От NirCmd.exe удалось добиться следующего.
Для переноса текста в виндовый буфер сначала его конвертируем в UTF-8 и пишем в файл с соответствующим BOM (Byte Order Mark), без него не катит. Потом пускаем прогу. Неважно, через cmd.exe или просто через command.com:
!nircmd.exe clipboard readfile clip.tmp
Всё, текст в буфере. Включая псевдографику и всякие номера с градусами. Вставляется и в Far, и в Word.

В обратную сторону хуже. По команде
!nircmd.exe clipboard writefile clip.tmp
всегда пишется файл в 1251, поэтому псевдографику теряем. Но больший прикол в том, что если буфер не трогать, а оставить то, что туда только что поместили из FPD, то обратно в файл запишется чушь – знаки вопроса вместо русских букв. А вот если туда реально что-то скопировали в другой программе, то пишутся вполне себе русские буквы. Пробовал копировать в Far3, MS Word, LibreOffice.
Уже в FPD делаем типа такого
_ClipText = CPConvert(1251,866, FileToStr("clip.tmp"))

Учитывая, что появление псевдографики в буфере Windows маловероятно, считаю, что результат приемлемый.
На всякий случай прикладываю функцию конвертации в utf-8 и обратно. Работает под FPD и VFP.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Помню, что с NIRCMD были серьезные заморочки насчет работы с с буфером обмена в обе стороны. К слову сказать, WINCLIP младшей версии без проблем работает даже в Win98. И в наше время "таскать с собой" 600 кб не такая уж и большая проблема. Так что если речь идет только о прозрачном обмене текстовой информацией посредством буфера Windows из-под FPD 2.6, то WINCLIP является идеальным решением.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
В FPD, кстати, нет функции FiletoStr()
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Но есть FOPEN FREAD (FEOF) и FCLOSE - незначительная подпрограмма
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Есть и APPEND FROM MEMO, что для файлов не запредельных размеров почти равносильно функции FileToStr().
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
НУ! И у тебя еще нет ф-ии FileToStr ? Даже вопроса не должно возникать по поводу этой несчастной ф-ии, в этом несчастном языке FPD-FPV
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
После появления в арсенале WINCLIP к FPD 2.6 вообще нет вопросов. [sm128]
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Еще бы примочку на манер FARa, чтобы без виртуалки полноценно запускался в WIN 64. Полноценно - это значит, чтобы была при этом доступна командная строка Windows.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
боюсь спросить о предмете "WINCLIP" (то-ли ЭТО нечто, обменивающееся через наш убогий _cliptext), то ли это послед от DOS/FPD...

Доб
> Еще бы примочку на манер FARa, чтобы без виртуалки полноценно запускался в WIN 64
Перекомпиляй прогу в VFP, и не будет этих "сложных" вопросов.

Мои советы чем-то похожи на понуждение РФ "к миру подчинению" )



Исправлено 1 раз(а). Последнее : of63, 26.05.18 22:57
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Winclip позволяет полноценно использовать буфер обмена Windows из приложений FPD 2.6
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
Еще бы примочку на манер FARa, чтобы без виртуалки полноценно запускался в WIN 64
Это каким же образом? FAR является Win-приложением, абсолютно никакого касательства к DOS не имеющим. При том компилируется и в x86 и в x64 версии.
Поэтому никаких таких "манер" у него нет - он просто работает в родной для себя системе, и всё В отличие от FPD, работающего чрез эмуляторы DOS-а. И без эмуляторов он даже в x86 системе не обходится, не говоря уж про x64. Просто найди и настрой под себя эмулятор отличный от ntvdm... Ну или продавай вместе с прогой клиентам и антикварные компы с DOS-ом, или на худой конец WinXP каким


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Simple777
Помню, что с NIRCMD были серьезные заморочки насчет работы с с буфером обмена в обе стороны. К слову сказать, WINCLIP младшей версии без проблем работает даже в Win98. И в наше время "таскать с собой" 600 кб не такая уж и большая проблема. Так что если речь идет только о прозрачном обмене текстовой информацией посредством буфера Windows из-под FPD 2.6, то WINCLIP является идеальным решением.
Насчёт проблем nircmd и как их обойти, мне кажется, я достаточно подробно расписал. Winclip весит не 600, а 184 кБ (смотрел крайнюю версию на сайте разработчика www2.dmst.aueb.gr). Но речь не об объёме, а о самом факте: лишний exe-шник ради одной единственной фичи, причём, далеко не первой необходимости (ну, правда, в другой теме ты пишешь, что через буфер навесил важный функционал по обмену с другой прогой, тогда ага); вес этого exe-шника в абсолютном выражении, конечно, не велик, но, ещё раз, тот же nircmd весит в 4 раза меньше, а делает в 40 раз больше.

Да не, я ж не о противопоставлении. Просто раз уж поднята эта тема, то решил её довести до корректной ясности. А то из обсуждения выходит вывод, что winclip – единственное решение. Я лишь показал, что nircmd тоже работает и в некоторых случаях может быть более разумным решением. И, кстати, Нир Софер, вроде, вполне вменяемый чувак, думаю попросить его для clipboard readfile/writefile добавить опцию для указания кодировки исходника/результат, может прокатит.

Simple777
В FPD, кстати, нет функции FiletoStr()
В FPD нет. Но не стал на этом заострять, поскольку предполагаю, что каждый, кому она нужна, написал её себе;) Как-то так:
of63
НУ! И у тебя еще нет ф-ии FileToStr ? Даже вопроса не должно возникать по поводу этой несчастной ф-ии


Simple777
Еще бы примочку на манер FARa, чтобы без виртуалки полноценно запускался в WIN 64. Полноценно - это значит, чтобы была при этом доступна командная строка Windows.
Не понял, при чём здесь Far. Наверное, имел ввиду DosBox? К великому сожалению, не вижу никакого решения легче, чем WinXP или даже 7 под VirtualBox и работать «по сети» с основной машиной
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Far я упомянул в том смысле, что он есть и в 32, и 64-разрядном исполнении. Конечно, я не вникал в подробности, но могу предположить, что при реализации 64-разрядной версии FARa ядро этого самого Fara осталось примерно таким же, что и для 32-разрядной версии. И если это так, то разработчики FARa разработали некую прослойку между 32-азрядным ядром Fara и 64-разрядной операционкой.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Насчет 600 кб - это я спутал с RTF2TXT утилитой, на которую тоже тут недавно давали ссылку.

И речь шла не о противопоставлении NIRCMD и Winclip. Ясное дело, что функционал у NIRCMD значителен. Однако если говорить только о буфере обмена, то WINCLIP эту функцию реализует "без шума и пыли". Я бы даже сказал, что эту утилиту по-хорошему можно было бы рассматривать как дополнение дистрибутива FPD 2.6

Такую утилиту я искал давно, но вот впервые попалась именно такая, работающая через командную строку во всех версиях винды. Из-за того, что не было в свое время такой утилиты, приходилось идти на всяческие ухищрения. А полноценно работающим буфером обмена все значительно упрощается.

Вот еще бы найти утилиту, поддерживающую работу с колесом мыши... В принципе, есть утилита TAME, но не факт, что она будет работать на всех новых версиях винды корректно. Да и вообще TAME делает много чего другого, кроме поддержки работы с колесом мыши. А вот этого "другого" как раз совсем и не хочется.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Simple777
В принципе, есть утилита TAME, но не факт, что она будет работать на всех новых версиях винды корректно.
Ой, с TAME я когда-то честным образом пытался разобраться, потратил на всякие настройки много времени. Но впечатление осталось сильно отрицательное. Всё с какими-то фризами, дёрганьями, мырганьями, ужас короче.
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
Конечно, я не вникал в подробности, но могу предположить, что при реализации 64-разрядной версии FARa ядро этого самого Fara осталось примерно таким же, что и для 32-разрядной версии.
В этом то и проблема...
Simple777
И если это так, то разработчики FARa разработали некую прослойку между 32-азрядным ядром Fara и 64-разрядной операционкой.
Нет, конечно же.
github.com
Не уверен что смогу донести незнакомому с C++ и программированием на нём под Win в частности.
Короче - там ОДИН исходник, который может собираться разными компиляторами и под 32 и под 64 битную версию платформы. Никаких "прослоек" там нет.

При этом FPD вообще-то 16-битное приложение, и не Win ни разу.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
BOBAN

Сообщений: 625
Откуда: Солигорск
Дата регистрации: 05.07.2004
Игорь, а можно (теоретически) вставить в DosBox команду запуска "чего-то там" в ОС, в которой работает сам DosBox ?
Ratings: 0 negative/0 positive
Re: FPD 2.6 и буфер обмена Windows
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Сам с DOSBOX не работал, но кто-то говорил, что командная строка Windows из DOSBOX недоступна.
Ratings: 0 negative/0 positive


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

On-line: 32 (Гостей: 32)

© 2000-2024 Fox Club 
Яндекс.Метрика